RE: [RFC PATCH 6.1.y] net/sched: act_mirred: don't override retval if we already lost the skb
From: Ren, Jianqi (Jacky) (CN)
Date: Mon Mar 24 2025 - 02:49:54 EST
The context of this patch is changed compared with the original fix. Adding RFC means that I want to let the author or other experts to make a possible review to make sure the logic is right.
-----Original Message-----
From: Simon Horman <horms@xxxxxxxxxx>
Sent: Saturday, March 22, 2025 02:01
To: Ren, Jianqi (Jacky) (CN) <Jianqi.Ren.CN@xxxxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx; patches@xxxxxxxxxxxxxxx; gregkh@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; jhs@xxxxxxxxxxxx; xiyou.wangcong@xxxxxxxxx; jiri@xxxxxxxxxxx; davem@xxxxxxxxxxxxx; edumazet@xxxxxxxxxx; kuba@xxxxxxxxxx; pabeni@xxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; michal.swiatkowski@xxxxxxxxxxxxxxx
Subject: Re: [RFC PATCH 6.1.y] net/sched: act_mirred: don't override retval if we already lost the skb
CAUTION: This email comes from a non Wind River email account!
Do not click links or open attachments unless you recognize the sender and know the content is safe.
On Wed, Mar 19, 2025 at 09:22:25AM +0800, jianqi.ren.cn@xxxxxxxxxxxxx wrote:
> From: Jakub Kicinski <kuba@xxxxxxxxxx>
>
> [ Upstream commit 166c2c8a6a4dc2e4ceba9e10cfe81c3e469e3210 ]
>
> If we're redirecting the skb, and haven't called tcf_mirred_forward(),
> yet, we need to tell the core to drop the skb by setting the retcode
> to SHOT. If we have called tcf_mirred_forward(), however, the skb is
> out of our hands and returning SHOT will lead to UaF.
>
> Move the retval override to the error path which actually need it.
>
> Reviewed-by: Michal Swiatkowski <michal.swiatkowski@xxxxxxxxxxxxxxx>
> Fixes: e5cf1baf92cb ("act_mirred: use TC_ACT_REINSERT when possible")
> Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>
> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx>
> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
> Signed-off-by: Jianqi Ren <jianqi.ren.cn@xxxxxxxxxxxxx>
> Signed-off-by: He Zhe <zhe.he@xxxxxxxxxxxxx>
> ---
> Verified the build test
Sorry if it is obvious, but I'm confused by the intention of posting an RFC for stable. Are you asking for buy-in regarding backporting this patch to 6.1.y because for some reason it hasn't already propagated there?