Re: [PATCH] epic100: fix use after free on rmmod

From: Francois Romieu
Date: Thu Jun 23 2022 - 05:26:58 EST


Tong Zhang <ztong0001@xxxxxxxxx> :
> epic_close() calls epic_rx() and uses dma buffer, but in epic_remove_one()
> we already freed the dma buffer. To fix this issue, reorder function calls
> like in the .probe function.
>
> BUG: KASAN: use-after-free in epic_rx+0xa6/0x7e0 [epic100]
> Call Trace:
> epic_rx+0xa6/0x7e0 [epic100]
> epic_close+0xec/0x2f0 [epic100]
> unregister_netdev+0x18/0x20
> epic_remove_one+0xaa/0xf0 [epic100]
>
> Fixes: ae150435b59e ("smsc: Move the SMC (SMSC) drivers")
> Reported-by: Yilun Wu <yiluwu@xxxxxxxxxxxxxxxxx>
> Signed-off-by: Tong Zhang <ztong0001@xxxxxxxxx>

The "Fixes:" tag is a bit misleading: this code path predates the move
by several years. Ignoring pci_* vs dma_* API changes, this is pre-2005
material.

Reviewed-by: Francois Romieu <romieu@xxxxxxxxxxxxx>

--
Ueimor