[PATCH] um: Add winch to winch_handlers before registering winch IRQ

Richard Weinberger richard at nod.at
Tue Apr 23 01:11:03 PDT 2024


----- Ursprüngliche Mail -----
> Von: "Roberto Sassu" <roberto.sassu at huaweicloud.com>
> An: "Johannes Berg" <johannes at sipsolutions.net>, "richard" <richard at nod.at>, "anton ivanov"
> <anton.ivanov at cambridgegreys.com>
> CC: "linux-kernel" <linux-kernel at vger.kernel.org>, "linux-um" <linux-um at lists.infradead.org>, "Roberto Sassu"
> <roberto.sassu at huawei.com>
> Gesendet: Dienstag, 23. April 2024 09:22:31
> Betreff: Re: [PATCH] um: Add winch to winch_handlers before registering winch IRQ

> On Thu, 2024-03-28 at 09:25 +0100, Johannes Berg wrote:
>> On Thu, 2024-03-07 at 11:49 +0100, Roberto Sassu wrote:
>> > From: Roberto Sassu <roberto.sassu at huawei.com>
>> > 
>> > Registering a winch IRQ is racy, an interrupt may occur before the winch is
>> > added to the winch_handlers list.
>> > 
>> > If that happens, register_winch_irq() adds to that list a winch that is
>> > scheduled to be (or has already been) freed, causing a panic later in
>> > winch_cleanup().
>> > 
>> > Avoid the race by adding the winch to the winch_handlers list before
>> > registering the IRQ, and rolling back if um_request_irq() fails.
>> > 
>> 
>> Reviewed-by: Johannes Berg <johannes at sipsolutions.net>
> 
> Thank you! Richard, are you going to pick this up?

Yes, it's already in my local queue.

Thanks,
//richard



More information about the linux-um mailing list