Public bug reported: On Linux wittgenstein 5.8.0-33-generic #36-Ubuntu SMP Wed Dec 9 09:14:40 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Distributor ID: Ubuntu Description: Ubuntu 20.10 Release: 20.10 Codename: groovy iwd manages to trigger the following warn: [ 47.003606] NET: Registered protocol family 38 [ 47.306287] ------------[ cut here ]------------ [ 47.306318] WARNING: CPU: 1 PID: 1143 at net/wireless/nl80211.c:7288 nl80211_get_reg_do+0x1fc/0x230 [cfg80211] [ 47.306318] Modules linked in: ccm algif_aead des_generic libdes arc4 algif_skcipher cmac md4 algif_hash af_alg binfmt_misc zfs(PO) zunicode(PO) zavl(PO) icp(PO) nls_iso8859_1 zcommon(PO) znvpair(PO) spl(O) zlua(PO) snd_hda_codec_hdmi x86_pkg_temp_thermal snd_hda_codec_realtek intel_powerclamp snd_hda_codec_generic coretemp snd_hda_intel iwlmvm snd_intel_dspcfg mac80211 snd_hda_codec kvm_intel typec_displayport snd_hda_core kvm snd_hwdep snd_pcm joydev mei_hdcp libarc4 thinkpad_acpi nvram intel_rapl_msr ledtrig_audio snd_seq_midi rapl snd_seq_midi_event snd_rawmidi intel_cstate input_leds serio_raw uvcvideo snd_seq efi_pstore iwlwifi rmi_smbus btusb rmi_core btrtl snd_seq_device btbcm snd_timer videobuf2_vmalloc btintel videobuf2_memops videobuf2_v4l2 bluetooth videobuf2_common snd wmi_bmof intel_wmi_thunderbolt videodev ucsi_acpi cfg80211 processor_thermal_device typec_ucsi intel_xhci_usb_role_switch mc roles ecdh_generic int3400_thermal typec mac_hid soundcore ecc mei_me int3403_thermal [ 47.306348] intel_rapl_common acpi_thermal_rel acpi_pad int340x_thermal_zone mei intel_soc_dts_iosf intel_pch_thermal sch_fq_codel pkcs8_key_parser ip_tables x_tables autofs4 btrfs blake2b_generic xor raid6_pq libcrc32c dm_crypt uas usb_storage i915 i2c_algo_bit drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops cec crct10dif_pclmul crc32_pclmul ghash_clmulni_intel rc_core aesni_intel crypto_simd cryptd nvme glue_helper psmouse e1000e drm thunderbolt i2c_i801 xhci_pci i2c_smbus nvme_core xhci_pci_renesas wmi i2c_hid hid video [ 47.306369] CPU: 1 PID: 1143 Comm: iwd Tainted: P U O 5.8.0-33-generic #36-Ubuntu [ 47.306369] Hardware name: LENOVO 20KHCTO1WW/20KHCTO1WW, BIOS N23ET75W (1.50 ) 10/13/2020 [ 47.306392] RIP: 0010:nl80211_get_reg_do+0x1fc/0x230 [cfg80211] [ 47.306394] Code: 45 cc 01 00 00 00 e8 83 b6 70 ee 85 c0 0f 84 fd fe ff ff eb a8 4c 89 e7 48 89 45 c0 e8 dd ae b1 ee 48 8b 45 c0 e9 40 ff ff ff <0f> 0b 4c 89 e7 e8 ca ae b1 ee b8 ea ff ff ff e9 2c ff ff ff e9 7a [ 47.306395] RSP: 0018:ffffab21009d7b70 EFLAGS: 00010202 [ 47.306396] RAX: 0000000000000000 RBX: 0000000000000001 RCX: 0000000000000000 [ 47.306397] RDX: ffff98077b560008 RSI: 0000000000000000 RDI: ffff98077b5602e0 [ 47.306398] RBP: ffffab21009d7bb0 R08: ffff98077b5602e0 R09: ffff98078597b014 [ 47.306399] R10: 0000000000000000 R11: 000000000000001f R12: ffff98077d78a100 [ 47.306400] R13: ffffab21009d7bd0 R14: ffff98078597b014 R15: 0000000000000000 [ 47.306402] FS: 00007fa3cbea0740(0000) GS:ffff980791640000(0000) knlGS:0000000000000000 [ 47.306403] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 47.306404] CR2: 00007ffd949e7c40 CR3: 000000048596c004 CR4: 00000000003606e0 [ 47.306404] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 47.306405] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 47.306406] Call Trace: [ 47.306413] ? rtnl_lock+0x15/0x20 [ 47.306417] genl_family_rcv_msg+0x17b/0x290 [ 47.306420] genl_rcv_msg+0x4c/0xa0 [ 47.306421] ? genl_family_rcv_msg+0x290/0x290 [ 47.306423] netlink_rcv_skb+0x4e/0x110 [ 47.306425] genl_rcv+0x29/0x40 [ 47.306427] netlink_unicast+0x218/0x330 [ 47.306429] netlink_sendmsg+0x23b/0x460 [ 47.306431] ? aa_sk_perm+0x43/0x1b0 [ 47.306434] sock_sendmsg+0x65/0x70 [ 47.306435] __sys_sendto+0x113/0x190 [ 47.306439] ? __secure_computing+0x42/0xe0 [ 47.306442] ? syscall_trace_enter+0xaf/0x270 [ 47.306475] __x64_sys_sendto+0x29/0x30 [ 47.306478] do_syscall_64+0x49/0xc0 [ 47.306480] entry_SYSCALL_64_after_hwframe+0x44/0xa9 [ 47.306481] RIP: 0033:0x7fa3cbfbd6c0 [ 47.306483] Code: c0 ff ff ff ff eb b8 0f 1f 00 f3 0f 1e fa 41 89 ca 64 8b 04 25 18 00 00 00 85 c0 75 1d 45 31 c9 45 31 c0 b8 2c 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 68 c3 0f 1f 80 00 00 00 00 55 48 83 ec 20 48 [ 47.306484] RSP: 002b:00007ffd949ec2f8 EFLAGS: 00000246 ORIG_RAX: 000000000000002c [ 47.306485] RAX: ffffffffffffffda RBX: 00005640b5603b00 RCX: 00007fa3cbfbd6c0 [ 47.306486] RDX: 000000000000001c RSI: 00005640b560eff0 RDI: 0000000000000004 [ 47.306486] RBP: 00005640b560e8e0 R08: 0000000000000000 R09: 0000000000000000 [ 47.306487] R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffd949ec35c [ 47.306488] R13: 00007ffd949ec358 R14: 00005640b560d790 R15: 0000000000000000 [ 47.306490] ---[ end trace 4bb70ad9a9020389 ]--- This is located in: static int nl80211_get_reg_do(struct sk_buff *skb, struct genl_info *info) { const struct ieee80211_regdomain *regdom = NULL; struct cfg80211_registered_device *rdev; struct wiphy *wiphy = NULL; struct sk_buff *msg; void *hdr; msg = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_KERNEL); if (!msg) return -ENOBUFS; hdr = nl80211hdr_put(msg, info->snd_portid, info->snd_seq, 0, NL80211_CMD_GET_REG); if (!hdr) goto put_failure; if (info->attrs[NL80211_ATTR_WIPHY]) { bool self_managed; rdev = cfg80211_get_dev_from_info(genl_info_net(info), info); >>>>>>>>>>>>>>> if (IS_ERR(rdev)) { >>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> nlmsg_free(msg); return PTR_ERR(rdev); } wiphy = &rdev->wiphy; self_managed = wiphy->regulatory_flags & REGULATORY_WIPHY_SELF_MANAGED; regdom = get_wiphy_regdom(wiphy); /* a self-managed-reg device must have a private regdom */ if (WARN_ON(!regdom && self_managed)) { nlmsg_free(msg); return -EINVAL; } if (regdom && nla_put_u32(msg, NL80211_ATTR_WIPHY, get_wiphy_idx(wiphy))) goto nla_put_failure; } if (!wiphy && reg_last_request_cell_base() && nla_put_u32(msg, NL80211_ATTR_USER_REG_HINT_TYPE, NL80211_USER_REG_HINT_CELL_BASE)) goto nla_put_failure; rcu_read_lock(); if (!regdom) regdom = rcu_dereference(cfg80211_regdomain); if (nl80211_put_regdom(regdom, msg)) goto nla_put_failure_rcu; rcu_read_unlock(); genlmsg_end(msg, hdr); return genlmsg_reply(msg, info); nla_put_failure_rcu: rcu_read_unlock(); nla_put_failure: put_failure: nlmsg_free(msg); return -EMSGSIZE; } ** Affects: linux (Ubuntu) Importance: Undecided Status: Incomplete ** Tags: groovy -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1908225 Title: iwd triggers WARN in net/wireless/nl80221.c To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1908225/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs