[lvc-project] [PATCH] wifi: nl80211: override all other flags if MONITOR_FLAG_COOK_FRAMES is set

Johannes Berg johannes at sipsolutions.net
Thu Jan 30 15:36:28 MSK 2025


On Thu, 2025-01-30 at 17:34 +0500, Vitaliy Shevtsov wrote:
> It is possible to set both MONITOR_FLAG_COOK_FRAMES and MONITOR_FLAG_ACTIVE
> flags simultaneously on the same monitor interface from the userspace. This
> causes a sub-interface to be created with no IEEE80211_SDATA_IN_DRIVER bit
> set because the monitor interface is in the cooked state and it takes
> precedence over all other states. When the interface is then being deleted
> the kernel calls WARN_ONCE() from check_sdata_in_driver() because of missing
> that bit.
> 
> Fix this by overriding all flags if MONITOR_FLAG_COOK_FRAMES is set because
> this flag is incompatible with other monitor flags being set.
> 

That seems wrong, reject it instead. Anyway we should probably remove
cooked mode.

johannes



More information about the lvc-project mailing list