Char/Misc patch for 5.5-rc6
Here is a single fix, for the chrdev core, for 5.5-rc6 There's been a long-standing race condition triggered by syzbot, and occasionally real people, in the chrdev open() path. Will finally took the time to track it down and fix it for real before the holidays. Here's that one patch, it's been in linux-next for a while with no reported issues and it does fix the reported problem. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -----BEGIN PGP SIGNATURE----- iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCXhjcRA8cZ3JlZ0Brcm9h aC5jb20ACgkQMUfUDdst+ykIyQCfcrNOyyFktEj7/qiVJrMLbzVWoWYAoMHtNQcG 3IYmNNJ+eXXJEiOgeZ4J =J0bS -----END PGP SIGNATURE----- Merge tag 'char-misc-5.5-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc Pull char/misc fix from Greg KH: "Here is a single fix, for the chrdev core, for 5.5-rc6 There's been a long-standing race condition triggered by syzbot, and occasionally real people, in the chrdev open() path. Will finally took the time to track it down and fix it for real before the holidays. Here's that one patch, it's been in linux-next for a while with no reported issues and it does fix the reported problem" * tag 'char-misc-5.5-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: chardev: Avoid potential use-after-free in 'chrdev_open()'
This commit is contained in:
commit
9fb7007de8
|
@ -352,7 +352,7 @@ static struct kobject *cdev_get(struct cdev *p)
|
||||||
|
|
||||||
if (owner && !try_module_get(owner))
|
if (owner && !try_module_get(owner))
|
||||||
return NULL;
|
return NULL;
|
||||||
kobj = kobject_get(&p->kobj);
|
kobj = kobject_get_unless_zero(&p->kobj);
|
||||||
if (!kobj)
|
if (!kobj)
|
||||||
module_put(owner);
|
module_put(owner);
|
||||||
return kobj;
|
return kobj;
|
||||||
|
|
Loading…
Reference in New Issue