Re: [PATCH] net: seeq: Fix use after free vulnerability in ether3 Driver Due to Race Condition

From: Simon Horman
Date: Fri Sep 13 2024 - 07:37:46 EST


On Tue, Sep 10, 2024 at 01:58:21AM +0800, Kaixin Wang wrote:
> In the ether3_probe function, a timer is initialized with a callback
> function ether3_ledoff, bound to &prev(dev)->timer. Once the timer is
> started, there is a risk of a race condition if the module or device
> is removed, triggering the ether3_remove function to perform cleanup.
> The sequence of operations that may lead to a UAF bug is as follows:
>
> CPU0 CPU1
>
> | ether3_ledoff
> ether3_remove |
> free_netdev(dev); |
> put_devic |
> kfree(dev); |
> | ether3_outw(priv(dev)->regs.config2 |= CFG2_CTRLO, REG_CONFIG2);
> | // use dev
>
> Fix it by ensuring that the timer is canceled before proceeding with
> the cleanup in ether3_remove.
>
> Signed-off-by: Kaixin Wang <kxwang23@xxxxxxxxxxxxxx>

This seems like it is a bug fix to me. If so, it should have a Fixes tag
(immediately above your Signed-off-by line, no blank line in between). And
be targeted at net.

Subject: [PATCH net] ...

Unless the bug only exists in net-next.

Subject: [PATCH net-next] ...

Link: https://docs.kernel.org/process/maintainer-netdev.html

...