Skip to content

Commit a4c2fec

Browse files
tasksetWolfram Sang
authored andcommitted
i2c: core: fix use after free in of_i2c_notify
We can't use "adap->dev" after it has been freed. Fixes: 5bf4fa7 ("i2c: break out OF support into separate file") Signed-off-by: Wen Yang <[email protected]> Signed-off-by: Wolfram Sang <[email protected]>
1 parent 7574c0d commit a4c2fec

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/i2c/i2c-core-of.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -245,14 +245,14 @@ static int of_i2c_notify(struct notifier_block *nb, unsigned long action,
245245
}
246246

247247
client = of_i2c_register_device(adap, rd->dn);
248-
put_device(&adap->dev);
249-
250248
if (IS_ERR(client)) {
251249
dev_err(&adap->dev, "failed to create client for '%pOF'\n",
252250
rd->dn);
251+
put_device(&adap->dev);
253252
of_node_clear_flag(rd->dn, OF_POPULATED);
254253
return notifier_from_errno(PTR_ERR(client));
255254
}
255+
put_device(&adap->dev);
256256
break;
257257
case OF_RECONFIG_CHANGE_REMOVE:
258258
/* already depopulated? */

0 commit comments

Comments
 (0)