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, 22 May 2020 15:47:16 -0400
From:   Jon Maloy <>
To:     Eric Dumazet <>,
        Xin Long <>,
        Eric Dumazet <>
Cc:     "David S . Miller" <>,
        netdev <>,
        syzbot <>,
Subject: Re: [PATCH net] tipc: block BH before using dst_cache

On 5/22/20 11:57 AM, Eric Dumazet wrote:
> On 5/22/20 8:01 AM, Jon Maloy wrote:
>> On 5/22/20 2:18 AM, Xin Long wrote:
>>> On Fri, May 22, 2020 at 1:55 PM Eric Dumazet <> wrote:
>>>> Resend to the list in non HTML form
>>>> On Thu, May 21, 2020 at 10:53 PM Eric Dumazet <> wrote:
>>>>> On Thu, May 21, 2020 at 10:50 PM Xin Long <> wrote:
>>>>>> On Fri, May 22, 2020 at 2:30 AM Eric Dumazet <> wrote:
>>>>>>> dst_cache_get() documents it must be used with BH disabled.
>>>>>> Interesting, I thought under rcu_read_lock() is enough, which calls
>>>>>> preempt_disable().
>>>>> rcu_read_lock() does not disable BH, never.
>>>>> And rcu_read_lock() does not necessarily disable preemption.
>>> Then I need to think again if it's really worth using dst_cache here.
>>> Also add tipc-discussion and Jon to CC list.
>> The suggested solution will affect all bearers, not only UDP, so it is not a good.
>> Is there anything preventing us from disabling preemtion inside the scope of the rcu lock?
>> ///jon
> BH is disabled any way few nano seconds later, disabling it a bit earlier wont make any difference.
The point is that if we only disable inside tipc_udp_xmit() (the 
function pointer call) the change will only affect the UDP bearer, where 
dst_cache is used.
The corresponding calls for the Ethernet and Infiniband bearers don't 
use dst_cache, and don't need this disabling. So it does makes a 

> Also, if you intend to make dst_cache BH reentrant, you will have to make that for net-next, not net tree.
> Please carefully read include/net/dst_cache.h
> It is very clear about BH requirements.

Powered by blists - more mailing lists