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:   Fri, 17 Jan 2020 10:16:45 -0800
From:   Eric Dumazet <eric.dumazet@...il.com>
To:     Arvind Sankar <nivedita@...m.mit.edu>,
        Eric Dumazet <eric.dumazet@...il.com>
Cc:     Peter Zijlstra <peterz@...radead.org>,
        Shaokun Zhang <zhangshaokun@...ilicon.com>,
        David Miller <davem@...emloft.net>, netdev@...r.kernel.org,
        linux-kernel@...r.kernel.org, jinyuqi@...wei.com,
        kuznet@....inr.ac.ru, yoshfuji@...ux-ipv6.org, edumazet@...gle.com,
        guoyang2@...wei.com, Will Deacon <will@...nel.org>
Subject: Re: [PATCH] net: optimize cmpxchg in ip_idents_reserve



On 1/17/20 10:03 AM, Arvind Sankar wrote:
> On Fri, Jan 17, 2020 at 08:35:07AM -0800, Eric Dumazet wrote:
>>
>>
>> On 1/17/20 4:32 AM, Peter Zijlstra wrote:
>>
>>>
>>> That's crazy, just accept that UBSAN is taking bonghits and ignore it.
>>> Use atomic_add_return() unconditionally.
>>>
>>
>> Yes, we might simply add a comment so that people do not bug us if
>> their compiler is too old.
>>
>> /* If UBSAN reports an error there, please make sure your compiler
>>  * supports -fno-strict-overflow before reporting it.
>>  */
>> return atomic_add_return(segs + delta, p_id) - segs;
>>
> 
> Do we need that comment any more? The flag was apparently introduced in
> gcc-4.2 and we only support 4.6+ anyway?

Wasńt it the case back in 2016 already for linux-4.8 ?

What will prevent someone to send another report to netdev/lkml ?

 -fno-strict-overflow support is not a prereq for CONFIG_UBSAN.

Fact that we kept in lib/ubsan.c and lib/test_ubsan.c code for 
test_ubsan_add_overflow() and test_ubsan_sub_overflow() is disturbing.


commit adb03115f4590baa280ddc440a8eff08a6be0cb7
Author: Eric Dumazet <edumazet@...gle.com>
Date:   Tue Sep 20 18:06:17 2016 -0700

    net: get rid of an signed integer overflow in ip_idents_reserve()
    
    Jiri Pirko reported an UBSAN warning happening in ip_idents_reserve()
    
    [] UBSAN: Undefined behaviour in ./arch/x86/include/asm/atomic.h:156:11
    [] signed integer overflow:
    [] -2117905507 + -695755206 cannot be represented in type 'int'
    
    Since we do not have uatomic_add_return() yet, use atomic_cmpxchg()
    so that the arithmetics can be done using unsigned int.
    
    Fixes: 04ca6973f7c1 ("ip: make IP identifiers less predictable")
    Signed-off-by: Eric Dumazet <edumazet@...gle.com>
    Reported-by: Jiri Pirko <jiri@...nulli.us>
    Signed-off-by: David S. Miller <davem@...emloft.net>

 

Powered by blists - more mailing lists