* Stanislaw Gruszka <sgrus...@redhat.com> wrote:

> scale_stime() silently assumes that stime < rtime, otherwise when
> stime == rtime and both values are big enough (operations on them do
> not fit in 32 bits), the resulting scaling stime can be bigger than
> rtime. In consequence utime = rtime - stime results in negative value.
> 
> User space visible symptoms of the bug are overflowed TIME values on
> ps/top, for example:
> 
> ps aux | grep rcu
> root         8  0.0  0.0      0     0 ?        S    12:42   0:00 [rcuc/0]
> root         9  0.0  0.0      0     0 ?        S    12:42   0:00 [rcub/0]
> root        10 62422329  0.0  0     0 ?        R    12:42 21114581:37 
> [rcu_preempt]
> root        11  0.1  0.0      0     0 ?        S    12:42   0:02 [rcuop/0]
> root        12 62422329  0.0  0     0 ?        S    12:42 21114581:35 
> [rcuop/1]
> root        10 62422329  0.0  0     0 ?        R    12:42 21114581:37 
> [rcu_preempt]
> 
> or overflowed utime values read directly from /proc/$PID/stat
> 
> Reference:
> https://lkml.org/lkml/2013/8/20/259
> 
> Reported-and-tested-by: Sergey Senozhatsky <sergey.senozhat...@gmail.com>
> Cc: sta...@vger.kernel.org
> Signed-off-by: Stanislaw Gruszka <sgrus...@redhat.com>
> ---
> v1 -> v2 : describe user visible symptoms of the bug
> 
>  kernel/sched/cputime.c |   19 +++++++++++--------
>  1 files changed, 11 insertions(+), 8 deletions(-)

Applied, thanks!

        Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to