]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
nl80211: Fix NL80211_ATTR_SMPS_MODE encoding
authorJouni Malinen <jouni@qca.qualcomm.com>
Fri, 1 Dec 2017 18:22:44 +0000 (20:22 +0200)
committerJouni Malinen <j@w1.fi>
Fri, 1 Dec 2017 18:22:44 +0000 (20:22 +0200)
This nl80211 attribute uses NLA_U8 policy in cfg80211 and
hostapd/wpa_supplicant needs to use same size when writing the
attribute.

This fixes AP mode regression triggered by kernel commit "net: netlink:
Update attr validation to require exact length for some types" in
v4.15-rc1 that resulted in the following debug log entry when trying to
enable beaconing:
nl80211: Beacon set failed: -34 (Numerical result out of range)

Fixes: da1080d7215f ("nl80211: Advertise and configure SMPS modes")
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
src/drivers/driver_nl80211.c

index 2ce03ed76ed01bfc9dd52072ce22090775aace1a..7571e77f0d33fd0f0277f6fd053aa3305206b8d5 100644 (file)
@@ -3957,7 +3957,7 @@ static int wpa_driver_nl80211_set_ap(void *priv,
                        smps_mode = NL80211_SMPS_OFF;
                        break;
                }
-               if (nla_put_u32(msg, NL80211_ATTR_SMPS_MODE, smps_mode))
+               if (nla_put_u8(msg, NL80211_ATTR_SMPS_MODE, smps_mode))
                        goto fail;
        }