forked from Minki/linux
[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: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
6f9c296388
commit
b33d0798e6
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user