Search Linux Wireless

[4.17 iwlwifi regression] NULL pointer dereference in reg_query_regdb_wmm()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

Using v4.17-rc5, on a laptop with an "Intel Corporation Wireless 3165 (rev 79)"
using the iwlwifi driver, I get a NULL pointer dereference immediately after
boot.  Apparently, the 'regdb' variable in net/wireless/reg.c is NULL, yet
reg_query_regdb_wmm() is checking for IS_ERR().  It goes away if I revert commit
77e30e10ee28a5 ("iwlwifi: mvm: query regdb for wmm rule if needed").  The
symbolized crash report is:

BUG: unable to handle kernel NULL pointer dereference at 000000000000000a
PGD 0 P4D 0
Oops: 0000 [#1] PREEMPT SMP PTI
Modules linked in: kvm_intel kvm irqbypass joydev
CPU: 2 PID: 371 Comm: NetworkManager Tainted: G                T 4.17.0-rc5-00140-g0b449a441dac #5
Hardware name: Dell Inc. Inspiron 15-7568/0M5YMV, BIOS 01.00.00 08/07/2015
RIP: 0010:reg_query_regdb_wmm+0x14/0x160 net/wireless/reg.c:919
RSP: 0018:ffffad458102b4f0 EFLAGS: 00010207
RAX: ffff96a8e7b350a0 RBX: ffff96a8e7b35000 RCX: ffff96a8e7b35638
RDX: ffff96a8e14ee408 RSI: 000000000000143c RDI: ffff96a8e7b35018
RBP: 0000000000000005 R08: 0000000000013088 R09: 0000000000000000
R10: 0000000000000004 R11: 000000000000143c R12: ffffffff93ebd7a0
R13: ffff96a8e14ee400 R14: 0000000000000040 R15: 000000000000000e
FS:  00007f29f1311880(0000) GS:ffff96a8f2500000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000000000000a CR3: 0000000260e9c005 CR4: 00000000003606e0
Call Trace:
 iwl_parse_nvm_mcc_info+0x267/0x4e0 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c:962
 iwl_mvm_get_regdomain+0x67/0xb0 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c:311
 iwl_mvm_init_mcc+0x6f/0x1f0 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c:783
 iwl_mvm_up+0x79f/0x840 drivers/net/wireless/intel/iwlwifi/mvm/fw.c:1089
 __iwl_mvm_mac_start+0x225/0x290 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c:1108
 iwl_mvm_mac_start+0x4e/0x120 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c:1141
 ? inetdev_event+0x72/0x4d0 net/ipv4/devinet.c:1533
 drv_start+0x2d/0x50 net/mac80211/driver-ops.c:26
 ieee80211_do_open+0x453/0x880 net/mac80211/iface.c:558
 __dev_open+0xb4/0x130 net/core/dev.c:1392
 __dev_change_flags+0x1a1/0x210 net/core/dev.c:6955
 ? call_netdevice_notifiers net/core/dev.c:1752 [inline]
 ? __dev_notify_flags+0x56/0xf0 net/core/dev.c:6993
 dev_change_flags+0x1e/0x60 net/core/dev.c:7024
 ? nla_put_ifalias+0x2e/0x90 net/core/rtnetlink.c:1459
 do_setlink+0x656/0xd80 net/core/rtnetlink.c:2362
 ? new_slab_objects mm/slub.c:2452 [inline]
 ? ___slab_alloc+0x48a/0x560 mm/slub.c:2604
 ? memset include/linux/string.h:330 [inline]
 ? __nla_reserve+0x38/0x50 lib/nlattr.c:437
 ? __nla_put+0xc/0x20 lib/nlattr.c:568
 ? nla_put+0x2f/0x40 lib/nlattr.c:627
 ? nla_put_u8 include/net/netlink.h:780 [inline]
 ? rtnl_xdp_fill+0x172/0x1d0 net/core/rtnetlink.c:1379
 ? memset include/linux/string.h:330 [inline]
 ? __nla_reserve+0x38/0x50 lib/nlattr.c:437
 ? memset include/linux/string.h:330 [inline]
 ? __nla_reserve+0x38/0x50 lib/nlattr.c:437
 ? inet_fill_link_af+0x1c/0x50 net/ipv4/devinet.c:1738
 ? rtnl_newlink+0x793/0x930 net/core/rtnetlink.c:2970
 ? spin_unlock_irqrestore include/linux/spinlock.h:365 [inline]
 ? __wake_up_common_lock+0x84/0xb0 kernel/sched/wait.c:120
 ? rtnetlink_rcv_msg+0x121/0x390 net/core/rtnetlink.c:4646
 ? fast_dput fs/dcache.c:716 [inline]
 ? dput.part.5+0x92/0x120 fs/dcache.c:837
 ? __lookup_slow+0x137/0x160 fs/namei.c:1633
 ? rtnl_calcit.isra.14+0x110/0x110 net/core/rtnetlink.c:3188
 ? netlink_rcv_skb+0x44/0x110 net/netlink/af_netlink.c:2448
 ? netlink_unicast_kernel net/netlink/af_netlink.c:1310 [inline]
 ? netlink_unicast+0x18b/0x230 net/netlink/af_netlink.c:1336
 ? netlink_sendmsg+0x1f0/0x3b0 net/netlink/af_netlink.c:1901
 ? sock_sendmsg_nosec net/socket.c:629 [inline]
 ? sock_sendmsg+0x14/0x20 net/socket.c:639
 ? ___sys_sendmsg+0x28e/0x2f0 net/socket.c:2117
 ? try_to_wake_up+0x26a/0x360 kernel/sched/core.c:2060
 ? __check_object_size+0xf9/0x180 mm/usercopy.c:262
 ? rcu_read_unlock include/linux/rcupdate.h:687 [inline]
 ? __fget+0x67/0xa0 fs/file.c:697
 ? __sys_sendmsg+0x52/0xa0 net/socket.c:2155
 ? do_syscall_64+0x43/0xd0 arch/x86/entry/common.c:287
 ? entry_SYSCALL_64_after_hwframe+0x44/0xa9
Code: ff ff 0f 1f 44 00 00 eb ae 0f 1f 40 00 66 2e 0f 1f 84 00 00 00 00 00 4c 8b 0d 89 41 fd 00 49 81 f9 00 f0 ff ff 0f 87 12 01 00 00 <45> 0f b7 41 0a 49 89 d2 b8 c3 ff ff ff 49 8d 51 08 66 45 85 c0
RIP: reg_query_regdb_wmm+0x14/0x160 net/wireless/reg.c:919 RSP: ffffad458102b4f0
CR2: 000000000000000a
---[ end trace 0940319c2377625e ]---



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux