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: New
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1908227
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/1908227/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs