diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2020-01-10 13:25:24 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2020-01-10 13:25:24 -0800 |
commit | 9fb7007de8a2a80e4b55a850311fca10de62f1b5 (patch) | |
tree | 385d22388e16847c4fc6c4694099ffd374f1012d /fs | |
parent | 7da37cd0520e71707a1190022377941b9cec3b0b (diff) | |
parent | 68faa679b8be1a74e6663c21c3a9d25d32f1c079 (diff) |
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()'
Diffstat (limited to 'fs')
-rw-r--r-- | fs/char_dev.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/char_dev.c b/fs/char_dev.c index 00dfe17871ac..c5e6eff5a381 100644 --- a/fs/char_dev.c +++ b/fs/char_dev.c @@ -352,7 +352,7 @@ static struct kobject *cdev_get(struct cdev *p) if (owner && !try_module_get(owner)) return NULL; - kobj = kobject_get(&p->kobj); + kobj = kobject_get_unless_zero(&p->kobj); if (!kobj) module_put(owner); return kobj; |