mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH AUTOSEL 4.9 01/74] rapidio: fix a NULL pointer dereference when create_workqueue() fails
@ 2019-06-01 13:23 Sasha Levin
  2019-06-01 13:23 ` [PATCH AUTOSEL 4.9 02/74] fs/fat/file.c: issue flush after the writeback of FAT Sasha Levin
                   ` (28 more replies)
  0 siblings, 29 replies; 30+ messages in thread
From: Sasha Levin @ 2019-06-01 13:23 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Kangjie Lu, Alexandre Bounine, Matt Porter, Andrew Morton,
	Linus Torvalds, Sasha Levin

From: Kangjie Lu <kjlu@umn.edu>

[ Upstream commit 23015b22e47c5409620b1726a677d69e5cd032ba ]

In case create_workqueue fails, the fix releases resources and returns
-ENOMEM to avoid NULL pointer dereference.

Signed-off-by: Kangjie Lu <kjlu@umn.edu>
Acked-by: Alexandre Bounine <alex.bou9@gmail.com>
Cc: Matt Porter <mporter@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/rapidio/rio_cm.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/rapidio/rio_cm.c b/drivers/rapidio/rio_cm.c
index bad0e0ea4f305..ef989a15aefc4 100644
--- a/drivers/rapidio/rio_cm.c
+++ b/drivers/rapidio/rio_cm.c
@@ -2145,6 +2145,14 @@ static int riocm_add_mport(struct device *dev,
 	mutex_init(&cm->rx_lock);
 	riocm_rx_fill(cm, RIOCM_RX_RING_SIZE);
 	cm->rx_wq = create_workqueue(DRV_NAME "/rxq");
+	if (!cm->rx_wq) {
+		riocm_error("failed to allocate IBMBOX_%d on %s",
+			    cmbox, mport->name);
+		rio_release_outb_mbox(mport, cmbox);
+		kfree(cm);
+		return -ENOMEM;
+	}
+
 	INIT_WORK(&cm->rx_work, rio_ibmsg_handler);
 
 	cm->tx_slot = 0;
-- 
2.20.1


^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2019-06-01 13:32 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-01 13:23 [PATCH AUTOSEL 4.9 01/74] rapidio: fix a NULL pointer dereference when create_workqueue() fails Sasha Levin
2019-06-01 13:23 ` [PATCH AUTOSEL 4.9 02/74] fs/fat/file.c: issue flush after the writeback of FAT Sasha Levin
2019-06-01 13:23 ` [PATCH AUTOSEL 4.9 03/74] sysctl: return -EINVAL if val violates minmax Sasha Levin
2019-06-01 13:23 ` [PATCH AUTOSEL 4.9 04/74] ipc: prevent lockup on alloc_msg and free_msg Sasha Levin
2019-06-01 13:23 ` [PATCH AUTOSEL 4.9 05/74] ARM: prevent tracing IPI_CPU_BACKTRACE Sasha Levin
2019-06-01 13:23 ` [PATCH AUTOSEL 4.9 06/74] hugetlbfs: on restore reserve error path retain subpool reservation Sasha Levin
2019-06-01 13:23 ` [PATCH AUTOSEL 4.9 07/74] mem-hotplug: fix node spanned pages when we have a node with only ZONE_MOVABLE Sasha Levin
2019-06-01 13:23 ` [PATCH AUTOSEL 4.9 08/74] mm/cma.c: fix crash on CMA allocation if bitmap allocation fails Sasha Levin
2019-06-01 13:23 ` [PATCH AUTOSEL 4.9 09/74] mm/cma_debug.c: fix the break condition in cma_maxchunk_get() Sasha Levin
2019-06-01 13:23 ` [PATCH AUTOSEL 4.9 10/74] mm/slab.c: fix an infinite loop in leaks_show() Sasha Levin
2019-06-01 13:23 ` [PATCH AUTOSEL 4.9 11/74] kernel/sys.c: prctl: fix false positive in validate_prctl_map() Sasha Levin
2019-06-01 13:23 ` [PATCH AUTOSEL 4.9 12/74] drivers: thermal: tsens: Don't print error message on -EPROBE_DEFER Sasha Levin
2019-06-01 13:24 ` [PATCH AUTOSEL 4.9 13/74] mfd: tps65912-spi: Add missing of table registration Sasha Levin
2019-06-01 13:24 ` [PATCH AUTOSEL 4.9 14/74] mfd: intel-lpss: Set the device in reset state when init Sasha Levin
2019-06-01 13:24 ` [PATCH AUTOSEL 4.9 15/74] mfd: twl6040: Fix device init errors for ACCCTL register Sasha Levin
2019-06-01 13:24 ` [PATCH AUTOSEL 4.9 16/74] perf/x86/intel: Allow PEBS multi-entry in watermark mode Sasha Levin
2019-06-01 13:24 ` [PATCH AUTOSEL 4.9 17/74] drm/bridge: adv7511: Fix low refresh rate selection Sasha Levin
2019-06-01 13:24 ` [PATCH AUTOSEL 4.9 18/74] objtool: Don't use ignore flag for fake jumps Sasha Levin
2019-06-01 13:24 ` [PATCH AUTOSEL 4.9 19/74] NFS4: Fix v4.0 client state corruption when mount Sasha Levin
2019-06-01 13:24 ` [PATCH AUTOSEL 4.9 20/74] pwm: meson: Use the spin-lock only to protect register modifications Sasha Levin
2019-06-01 13:24 ` [PATCH AUTOSEL 4.9 21/74] ntp: Allow TAI-UTC offset to be set to zero Sasha Levin
2019-06-01 13:24 ` [PATCH AUTOSEL 4.9 22/74] f2fs: fix to avoid panic in do_recover_data() Sasha Levin
2019-06-01 13:24 ` [PATCH AUTOSEL 4.9 23/74] f2fs: fix to clear dirty inode in error path of f2fs_iget() Sasha Levin
2019-06-01 13:24 ` [PATCH AUTOSEL 4.9 24/74] f2fs: fix to do sanity check on valid block count of segment Sasha Levin
2019-06-01 13:24 ` [PATCH AUTOSEL 4.9 25/74] tracing: Fix partial reading of trace event's id file Sasha Levin
2019-06-01 13:24 ` [PATCH AUTOSEL 4.9 26/74] configfs: fix possible use-after-free in configfs_register_group Sasha Levin
2019-06-01 13:24 ` [PATCH AUTOSEL 4.9 27/74] uml: fix a boot splat wrt use of cpu_all_mask Sasha Levin
2019-06-01 13:24 ` [PATCH AUTOSEL 4.9 28/74] mips: Make sure dt memory regions are valid Sasha Levin
2019-06-01 13:24 ` [PATCH AUTOSEL 4.9 29/74] watchdog: Use depends instead of select for pretimeout governors Sasha Levin
2019-06-01 13:24 ` [PATCH AUTOSEL 4.9 30/74] watchdog: imx2_wdt: Fix set_timeout for big timeout values Sasha Levin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome