[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200623.202324.442008830004872069.davem@davemloft.net>
Date: Tue, 23 Jun 2020 20:23:24 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: likaige@...ngson.cn
Cc: benve@...co.com, _govind@....com, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, lixuefeng@...ngson.cn,
yangtiezhu@...ngson.cn
Subject: Re: [PATCH RESEND] net/cisco: Fix a sleep-in-atomic-context bug in
enic_init_affinity_hint()
From: Kaige Li <likaige@...ngson.cn>
Date: Wed, 24 Jun 2020 09:56:47 +0800
>
> On 06/24/2020 06:26 AM, David Miller wrote:
>> From: David Miller <davem@...emloft.net>
>> Date: Tue, 23 Jun 2020 14:33:11 -0700 (PDT)
>>
>>> Calling a NIC driver open function from a context holding a spinlock
>>> is very much the real problem, so many operations have to sleep and
>>> in face that ->ndo_open() method is defined as being allowed to sleep
>>> and that's why the core networking never invokes it with spinlocks
>> ^^^^
>>
>> I mean "without" of course. :-)
>>
>>> held.
>
> Did you mean that open function should be out of spinlock? If so, I
> will
> send V2 patch.
Yes, but only if that is safe.
You have to analyze the locking done by this driver and fix it properly.
I anticipate it is not just a matter of changing where the spinlock
is held, you will have to rearchitect things a bit.
Powered by blists - more mailing lists