Messages in this thread | | | Date | Tue, 23 Jun 2020 20:23:24 -0700 (PDT) | Subject | Re: [PATCH RESEND] net/cisco: Fix a sleep-in-atomic-context bug in enic_init_affinity_hint() | From | David Miller <> |
| |
From: Kaige Li <likaige@loongson.cn> Date: Wed, 24 Jun 2020 09:56:47 +0800
> > On 06/24/2020 06:26 AM, David Miller wrote: >> From: David Miller <davem@davemloft.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.
| |