• Frederic Weisbecker's avatar
    vtime: Fix racy cputime delta update · 54461562
    Frederic Weisbecker authored
    get_vtime_delta() must be called under the task vtime_seqlock
    with the code that does the cputime accounting flush.
    
    Otherwise the cputime reader can be fooled and run into
    a race where it sees the snapshot update but misses the
    cputime flush. As a result it can report a cputime that is
    way too short.
    
    Fix vtime_account_user() that wasn't complying to that rule.
    Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Li Zhong <zhong@linux.vnet.ibm.com>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Kevin Hilman <khilman@linaro.org>
    54461562
cputime.c 21.4 KB