On Mon, Jun 8, 2026 at 6:08 AM Miguel Ojeda miguel.ojeda.sandonis@gmail.com wrote:
On Mon, Jun 8, 2026 at 11:55 AM Jamal Hadi Salim jhs@mojatatu.com wrote:
Thanks for reporting this.
You're welcome!
Unless i am looking at the wrong code version, in the current code i see m_eaction is always initialized before being used. m_eaction = READ_ONCE(m->tcfm_eaction); Probably a compiler false positive?
No, it is an actual bug -- you have:
int i, m_eaction; ... is_redirect = tcf_mirred_is_act_redirect(m_eaction); ... m_eaction = READ_ONCE(m->tcfm_eaction);i.e. the assignment goes later.
Maybe you are looking at mainline? Please note that this is a 6.12.y -rc thread -- are you looking at the commit hash I mentioned?
Or maybe you are looking at `tcf_blockcast()` instead of `tcf_mirred_act()`?
I was certainly looking at the wrong version. For example what you described as commit a01fbdecc3a2 ("net/sched: act_mirred: Fix return code in early mirred redirect error paths") shows up for me as commit e80ad525fc7e
I believe this bug slipped in during a small window but was fixed very quickly. Probably some fix never trickled to stable. If you can point me to the exact tree where this happens i can take a look. Still curious: So only the arm compiler catches this?
cheers, jamal