Skip to content

Commit

Permalink
[PATCH] scx200_acb: Fix resource name use after free
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Jean Delvare authored and Greg Kroah-Hartman committed May 9, 2006
1 parent 6f9c296 commit b33d079
Showing 1 changed file with 1 addition and 5 deletions.
6 changes: 1 addition & 5 deletions drivers/i2c/busses/scx200_acb.c
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand All @@ -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;
Expand Down

0 comments on commit b33d079

Please sign in to comment.