diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2024-08-16 17:08:02 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2024-08-16 17:08:02 -0700 |
commit | e5fa841af679cb830da6c609c740a37bdc0b8b35 (patch) | |
tree | 7f1c0bec28c2875a6cdc2e1615be126d93959a04 /mm | |
parent | c2cdb13a34d950e61e3b53af0c5f9eb828710beb (diff) | |
parent | 046667c4d3196938e992fba0dfcde570aa85cd0e (diff) |
Merge tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull memcg-v1 fix from Al Viro:
"memcg_write_event_control() oops fix"
* tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
memcg_write_event_control(): fix a user-triggerable oops
Diffstat (limited to 'mm')
-rw-r--r-- | mm/memcontrol-v1.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/mm/memcontrol-v1.c b/mm/memcontrol-v1.c index 2aeea4d8bf8e..417c96f2da28 100644 --- a/mm/memcontrol-v1.c +++ b/mm/memcontrol-v1.c @@ -1842,9 +1842,12 @@ static ssize_t memcg_write_event_control(struct kernfs_open_file *of, buf = endp + 1; cfd = simple_strtoul(buf, &endp, 10); - if ((*endp != ' ') && (*endp != '\0')) + if (*endp == '\0') + buf = endp; + else if (*endp == ' ') + buf = endp + 1; + else return -EINVAL; - buf = endp + 1; event = kzalloc(sizeof(*event), GFP_KERNEL); if (!event) |