Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b33d0798 authored by Jean Delvare's avatar Jean Delvare Committed by Greg Kroah-Hartman
Browse files

[PATCH] scx200_acb: Fix resource name use after free



We can't pass a string on the stack to request_region. As soon as we
leave the function that stack is gone and the string is lost. Let's
use the same string we identify the i2c_adapter with instead, it's
more simple, more consistent, and just works.

This is the second half of fix to bug #6445.

Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 6f9c2963
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -415,7 +415,6 @@ static int __init scx200_acb_create(const char *text, int base, int index)
	struct scx200_acb_iface *iface;
	struct i2c_adapter *adapter;
	int rc;
	char description[64];

	iface = kzalloc(sizeof(*iface), GFP_KERNEL);
	if (!iface) {
@@ -434,10 +433,7 @@ static int __init scx200_acb_create(const char *text, int base, int index)

	mutex_init(&iface->mutex);

	snprintf(description, sizeof(description), "%s ACCESS.bus [%s]",
		 text, adapter->name);

	if (request_region(base, 8, description) == 0) {
	if (!request_region(base, 8, adapter->name)) {
		printk(KERN_ERR NAME ": can't allocate io 0x%x-0x%x\n",
			base, base + 8-1);
		rc = -EBUSY;