Yes,the OEM project we are working on is based on a qualcomm chip qcs410, in this BSP, we integrate an out-of-tree WiFi driver for WCN3980 (https://git.codelinaro.org/clo/la/platform/vendor/qcom- opensource/wlan/qcacld-3.0), this driver is also used in the qualcomm Android kernel, this driver has more features than linux in-tree drivers. And in qcacld-3.0 driver, there are many wiphy features are set netlink attribute NESTED flag (please see the log below), so with the kernel 5.2 and later version, the validate_nla() will check if the netlink message set the NLA_F_NESTED or not, if not set, the validation will fail for qcacld-3.0 driver.
And this change is safe for in-tree drivers, since these drivers don't have netlink attribute NESTED flag, the validate_nla() will not be impacted even we set NLA_F_NESTED to the netlink messages. wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c: [PARAM_SSID_LIST] = { .type = NLA_NESTED }, wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c: [PARAM_BSSID_PREFS] = { .type = NLA_NESTED }, wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c: [PARAM_BSSID_PARAMS] = {.type = NLA_NESTED}, wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c: [PARAM_ROAM_CONTROL_CONFIG] = {.type = NLA_NESTED}, wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c: [PARAM_SCAN_FREQ_LIST] = {.type = NLA_NESTED}, wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c: [PARAM_FREQ_LIST_SCHEME] = {.type = NLA_NESTED}, wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c: [QCA_ATTR_ROAM_CONTROL_SELECTION_CRITERIA] = {.type = NLA_NESTED}, wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c: .type = NLA_NESTED}, wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c: .type = NLA_NESTED}, wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c: .type = NLA_NESTED}, wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c: .type = NLA_NESTED}, wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c: [SET_CHAN_CHAN_LIST] = {.type = NLA_NESTED}, wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c: [SET_CHAN_FREQ_LIST] = {.type = NLA_NESTED}, wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c: [STATS_SET_DATA_PKT_INFO] = {.type = NLA_NESTED }, wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c: VENDOR_NLA_POLICY_NESTED(qca_wlan_vendor_set_trace_level_policy), -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to libnl3 in Ubuntu. https://bugs.launchpad.net/bugs/1998765 Title: libnl3 3.4.0 doesn't work with WCN3980 Status in OEM Priority Project: New Status in libnl3 package in Ubuntu: New Bug description: When testing WCN3980 with 20.04 and UC20, WCN3980 is not able connect to an AP. I tried a different libnl3 from BSP and found that WCN3980 can work correctly. The version used in BSP is 3.5.0. I bisected the commits from 3.4.0 to 3.5.0 and found this commit[1] is the root cause. According to the commit, it seems that the flag should be set for kernel later than 5.2. [1] https://github.com/thom311/libnl/commit/7de65a051fb37ece16f896a7385073274b77a133 To manage notifications about this bug go to: https://bugs.launchpad.net/oem-priority/+bug/1998765/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp