On 11/13/18 3:01 AM, Nikolay Aleksandrov wrote: > Syzbot reported a use-after-free of the global vlan context on port vlan > destruction. When I added per-port vlan stats I missed the fact that the > global vlan context can be freed before the per-port vlan rcu callback. > There're a few different ways to deal with this, I've chosen to add a > new private flag that is set only when per-port stats are allocated so > we can directly check it on destruction without dereferencing the global > context at all. The flag is internally controlled by the kernel and > user-space isn't allowed to set it. > > Fixes: 9163a0fc1f0c ("net: bridge: add support for per-port vlan stats") > Reported-by: syzbot+04681da557a0e49a52e5@xxxxxxxxxxxxxxxxxxxxxxxxx > Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> > --- I'll post v2 with a cosmetic change - move the check up one level where it's more logical to be and the rest of the checks are done.