From: Sasha Levin <sashal@kernel.org>
To: stable@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Thomas Falcon <tlfalcon@linux.ibm.com>,
"David S . Miller" <davem@davemloft.net>,
Sasha Levin <sashal@kernel.org>,
linuxppc-dev@lists.ozlabs.org, netdev@vger.kernel.org
Subject: [PATCH AUTOSEL 4.14 16/59] ibmvnic: Fix non-atomic memory allocation in IRQ context
Date: Wed, 26 Dec 2018 17:37:56 -0500 [thread overview]
Message-ID: <20181226223839.150262-16-sashal@kernel.org> (raw)
In-Reply-To: <20181226223839.150262-1-sashal@kernel.org>
From: Thomas Falcon <tlfalcon@linux.ibm.com>
[ Upstream commit 1d1bbc37f89b0559c9e913682f2489d89cfde6b8 ]
ibmvnic_reset allocated new reset work item objects in a non-atomic
context. This can be called from a tasklet, generating the output below.
Allocate work items with the GFP_ATOMIC flag instead.
BUG: sleeping function called from invalid context at mm/slab.h:421
in_atomic(): 1, irqs_disabled(): 1, pid: 93, name: kworker/0:2
INFO: lockdep is turned off.
irq event stamp: 66049
hardirqs last enabled at (66048): [<c000000000122468>] tasklet_action_common.isra.12+0x78/0x1c0
hardirqs last disabled at (66049): [<c000000000befce8>] _raw_spin_lock_irqsave+0x48/0xf0
softirqs last enabled at (66044): [<c000000000a8ac78>] dev_deactivate_queue.constprop.28+0xc8/0x160
softirqs last disabled at (66045): [<c0000000000306e0>] call_do_softirq+0x14/0x24
CPU: 0 PID: 93 Comm: kworker/0:2 Kdump: loaded Not tainted 4.20.0-rc6-00001-g1b50a8f03706 #7
Workqueue: events linkwatch_event
Call Trace:
[c0000003fffe7ae0] [c000000000bc83e4] dump_stack+0xe8/0x164 (unreliable)
[c0000003fffe7b30] [c00000000015ba0c] ___might_sleep+0x2dc/0x320
[c0000003fffe7bb0] [c000000000391514] kmem_cache_alloc_trace+0x3e4/0x440
[c0000003fffe7c30] [d000000005b2309c] ibmvnic_reset+0x16c/0x360 [ibmvnic]
[c0000003fffe7cc0] [d000000005b29834] ibmvnic_tasklet+0x1054/0x2010 [ibmvnic]
[c0000003fffe7e00] [c0000000001224c8] tasklet_action_common.isra.12+0xd8/0x1c0
[c0000003fffe7e60] [c000000000bf1238] __do_softirq+0x1a8/0x64c
[c0000003fffe7f90] [c0000000000306e0] call_do_softirq+0x14/0x24
[c0000003f3967980] [c00000000001ba50] do_softirq_own_stack+0x60/0xb0
[c0000003f39679c0] [c0000000001218a8] do_softirq+0xa8/0x100
[c0000003f39679f0] [c000000000121a74] __local_bh_enable_ip+0x174/0x180
[c0000003f3967a60] [c000000000bf003c] _raw_spin_unlock_bh+0x5c/0x80
[c0000003f3967a90] [c000000000a8ac78] dev_deactivate_queue.constprop.28+0xc8/0x160
[c0000003f3967ad0] [c000000000a8c8b0] dev_deactivate_many+0xd0/0x520
[c0000003f3967b70] [c000000000a8cd40] dev_deactivate+0x40/0x60
[c0000003f3967ba0] [c000000000a5e0c4] linkwatch_do_dev+0x74/0xd0
[c0000003f3967bd0] [c000000000a5e694] __linkwatch_run_queue+0x1a4/0x1f0
[c0000003f3967c30] [c000000000a5e728] linkwatch_event+0x48/0x60
[c0000003f3967c50] [c0000000001444e8] process_one_work+0x238/0x710
[c0000003f3967d20] [c000000000144a48] worker_thread+0x88/0x4e0
[c0000003f3967db0] [c00000000014e3a8] kthread+0x178/0x1c0
[c0000003f3967e20] [c00000000000bfd0] ret_from_kernel_thread+0x5c/0x6c
Signed-off-by: Thomas Falcon <tlfalcon@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/net/ethernet/ibm/ibmvnic.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c
index 14c53ed5cca6..c914b338691b 100644
--- a/drivers/net/ethernet/ibm/ibmvnic.c
+++ b/drivers/net/ethernet/ibm/ibmvnic.c
@@ -1596,7 +1596,7 @@ static void ibmvnic_reset(struct ibmvnic_adapter *adapter,
}
}
- rwi = kzalloc(sizeof(*rwi), GFP_KERNEL);
+ rwi = kzalloc(sizeof(*rwi), GFP_ATOMIC);
if (!rwi) {
mutex_unlock(&adapter->rwi_lock);
ibmvnic_close(netdev);
--
2.19.1
next prev parent reply other threads:[~2018-12-26 22:40 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-26 22:37 [PATCH AUTOSEL 4.14 01/59] pinctrl: meson: fix pull enable register calculation Sasha Levin
2018-12-26 22:37 ` [PATCH AUTOSEL 4.14 02/59] powerpc: Fix COFF zImage booting on old powermacs Sasha Levin
2018-12-26 22:37 ` [PATCH AUTOSEL 4.14 03/59] powerpc/mm: Fix linux page tables build with some configs Sasha Levin
2018-12-26 22:37 ` [PATCH AUTOSEL 4.14 04/59] HID: ite: Add USB id match for another ITE based keyboard rfkill key quirk Sasha Levin
2018-12-26 22:37 ` [PATCH AUTOSEL 4.14 05/59] ARM: imx: update the cpu power up timing setting on i.mx6sx Sasha Levin
2018-12-26 22:37 ` [PATCH AUTOSEL 4.14 06/59] ARM: dts: imx7d-nitrogen7: Fix the description of the Wifi clock Sasha Levin
2018-12-26 22:37 ` [PATCH AUTOSEL 4.14 07/59] Input: restore EV_ABS ABS_RESERVED Sasha Levin
2018-12-26 22:37 ` [PATCH AUTOSEL 4.14 08/59] checkstack.pl: fix for aarch64 Sasha Levin
2018-12-26 22:37 ` [PATCH AUTOSEL 4.14 09/59] xfrm: Fix error return code in xfrm_output_one() Sasha Levin
2018-12-26 22:37 ` [PATCH AUTOSEL 4.14 10/59] xfrm: Fix bucket count reported to userspace Sasha Levin
2018-12-26 22:37 ` [PATCH AUTOSEL 4.14 11/59] xfrm: Fix NULL pointer dereference in xfrm_input when skb_dst_force clears the dst_entry Sasha Levin
2018-12-26 22:37 ` [PATCH AUTOSEL 4.14 12/59] netfilter: seqadj: re-load tcp header pointer after possible head reallocation Sasha Levin
2018-12-26 22:37 ` [PATCH AUTOSEL 4.14 13/59] scsi: bnx2fc: Fix NULL dereference in error handling Sasha Levin
2018-12-26 22:37 ` [PATCH AUTOSEL 4.14 14/59] Input: omap-keypad - fix idle configuration to not block SoC idle states Sasha Levin
2018-12-26 22:37 ` [PATCH AUTOSEL 4.14 15/59] Input: synaptics - enable RMI on ThinkPad T560 Sasha Levin
2018-12-26 22:37 ` Sasha Levin [this message]
2018-12-26 22:37 ` [PATCH AUTOSEL 4.14 17/59] ieee802154: ca8210: fix possible u8 overflow in ca8210_rx_done Sasha Levin
2018-12-26 22:37 ` [PATCH AUTOSEL 4.14 18/59] x86/mm: Fix guard hole handling Sasha Levin
2018-12-26 22:37 ` [PATCH AUTOSEL 4.14 19/59] x86/dump_pagetables: Fix LDT remap address marker Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 20/59] i40e: fix mac filter delete when setting mac address Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 21/59] USB: hso: Fix OOB memory access in hso_probe/hso_get_config_data Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 22/59] netfilter: ipset: do not call ipset_nest_end after nla_nest_cancel Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 23/59] netfilter: nat: can't use dst_hold on noref dst Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 24/59] bnx2x: Clear fip MAC when fcoe offload support is disabled Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 25/59] bnx2x: Remove configured vlans as part of unload sequence Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 26/59] bnx2x: Send update-svid ramrod with retry/poll flags enabled Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 27/59] scsi: target: iscsi: cxgbit: fix csk leak Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 28/59] scsi: target: iscsi: cxgbit: add missing spin_lock_init() Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 29/59] x86, hyperv: remove PCI dependency Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 30/59] drivers: net: xgene: Remove unnecessary forward declarations Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 31/59] w90p910_ether: remove incorrect __init annotation Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 32/59] qmi_wwan: Added support for Telit LN940 series Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 33/59] net: hns: Incorrect offset address used for some registers Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 34/59] net: hns: All ports can not work when insmod hns ko after rmmod Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 35/59] net: hns: Some registers use wrong address according to the datasheet Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 36/59] net: hns: Fixed bug that netdev was opened twice Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 37/59] net: hns: Clean rx fbd when ae stopped Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 38/59] net: hns: Free irq when exit from abnormal branch Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 39/59] net: hns: Avoid net reset caused by pause frames storm Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 40/59] net: hns: Fix ntuple-filters status error Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 41/59] net: hns: Add mac pcs config when enable|disable mac Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 42/59] net: hns: Fix ping failed when use net bridge and send multicast Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 43/59] SUNRPC: Fix a race with XPRT_CONNECTING Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 44/59] x86/mtrr: Don't copy uninitialized gentry fields back to userspace Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 45/59] qed: Fix an error code qed_ll2_start_xmit() Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 46/59] net: macb: fix random memory corruption on RX with 64-bit DMA Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 47/59] net: macb: fix dropped RX frames due to a race Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 48/59] lan78xx: Resolve issue with changing MAC address Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 49/59] xen/netfront: tolerate frags with no data Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 50/59] vxge: ensure data0 is initialized in when fetching firmware version information Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 51/59] mac80211: free skb fraglist before freeing the skb Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 52/59] kbuild: fix false positive warning/error about missing libelf Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 53/59] net/mlx5: Typo fix in del_sw_hw_rule Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 54/59] virtio: fix test build after uio.h change Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 55/59] gpio: mvebu: only fail on missing clk if pwm is actually to be used Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 56/59] Input: synaptics - enable SMBus for HP EliteBook 840 G4 Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 57/59] net: netxen: fix a missing check and an uninitialized use Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 58/59] qmi_wwan: Fix qmap header retrieval in qmimux_rx_fixup Sasha Levin
2018-12-26 22:38 ` [PATCH AUTOSEL 4.14 59/59] serial/sunsu: fix refcount leak Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181226223839.150262-16-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=davem@davemloft.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=netdev@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=tlfalcon@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox