lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 23 Jan 2017 10:44:56 +0100
From:   Martin Schwidefsky <schwidefsky@...ibm.com>
To:     Frederic Weisbecker <fweisbec@...il.com>
Cc:     LKML <linux-kernel@...r.kernel.org>,
        Tony Luck <tony.luck@...el.com>,
        Wanpeng Li <wanpeng.li@...mail.com>,
        Peter Zijlstra <peterz@...radead.org>,
        Michael Ellerman <mpe@...erman.id.au>,
        Heiko Carstens <heiko.carstens@...ibm.com>,
        Benjamin Herrenschmidt <benh@...nel.crashing.org>,
        Thomas Gleixner <tglx@...utronix.de>,
        Paul Mackerras <paulus@...ba.org>,
        Ingo Molnar <mingo@...nel.org>,
        Fenghua Yu <fenghua.yu@...el.com>,
        Rik van Riel <riel@...hat.com>,
        Stanislaw Gruszka <sgruszka@...hat.com>
Subject: Re: [PATCH 37/37] s390: Prevent from cputime leaks

On Sun, 22 Jan 2017 19:20:13 +0100
Frederic Weisbecker <fweisbec@...il.com> wrote:

> The s390 clock has a higher granularity than nanoseconds. 1 nanosec
> equals 4.096 in s390 cputime_t. Therefore we leak a remainder while
> flushing the cputime through cputime_to_nsecs().
> 
> For more precision, make sure we keep that remainder on cputime
> accumulators for later accounting.
> 
> Reported-by: Martin Schwidefsky <schwidefsky@...ibm.com>
> Cc: Benjamin Herrenschmidt <benh@...nel.crashing.org>
> Cc: Paul Mackerras <paulus@...ba.org>
> Cc: Michael Ellerman <mpe@...erman.id.au>
> Cc: Heiko Carstens <heiko.carstens@...ibm.com>
> Cc: Martin Schwidefsky <schwidefsky@...ibm.com>
> Cc: Tony Luck <tony.luck@...el.com>
> Cc: Fenghua Yu <fenghua.yu@...el.com>
> Cc: Peter Zijlstra <peterz@...radead.org>
> Cc: Rik van Riel <riel@...hat.com>
> Cc: Thomas Gleixner <tglx@...utronix.de>
> Cc: Ingo Molnar <mingo@...nel.org>
> Cc: Stanislaw Gruszka <sgruszka@...hat.com>
> Cc: Wanpeng Li <wanpeng.li@...mail.com>
> Signed-off-by: Frederic Weisbecker <fweisbec@...il.com>

NAK. Good intention but the patch is just broken. with 36 of the 37
patches applied all looks good but the last one completely breaks the
accounting for s390. This is from an idle system:

top - 10:39:33 up 0 min,  1 user,  load average: 0,00, 0,00, 0,00
Tasks: 106 total,   1 running, 105 sleeping,   0 stopped,   0 zombie
%Cpu0  :  8,9 us, 21,6 sy,  0,0 ni,  0,0 id,  0,0 wa, 10,8 hi,  4,3 si, 54,4 st
%Cpu1  :  0,0 us, 23,5 sy,  0,0 ni,  0,0 id,  0,0 wa, 19,0 hi, 13,1 si, 44,3 st
%Cpu2  :  0,0 us, 30,3 sy,  0,0 ni,  0,0 id,  0,0 wa, 14,7 hi, 14,8 si, 40,2 st
KiB Mem :  1009304 total,   818808 free,    57284 used,   133212 buff/cache
KiB Swap:  1048556 total,  1048556 free,        0 used.   917356 avail Mem 

There is another issue that affects precision, there is no s390 specific
version of cputime_to_nsecs. The generic version uses cputime_to_usecs
and mulitplies by 1000 to get nano-seconds. That already looses precision.

For now just drop that last patch please.

-- 
blue skies,
   Martin.

"Reality continues to ruin my life." - Calvin.

Powered by blists - more mailing lists