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

Richard Weinberger
2024-04-23T08:11:08Z

----- Ursprüngliche Mail -----
> Von: "Roberto Sassu" <roberto.sassu@huaweicloud.com>
> An: "Johannes Berg" <johannes@sipsolutions.net>, "richard" <richard@nod.at>, "anton ivanov"
> <anton.ivanov@cambridgegreys.com>
> CC: "linux-kernel" <linux-kernel@vger.kernel.org>, "linux-um" <linux-um@lists.infradead.org>, "Roberto Sassu"
> <roberto.sassu@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@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@sipsolutions.net>
>
> Thank you! Richard, are you going to pick this up?

Yes, it's already in my local queue.

Thanks,
//richard