diff options
author | Miquel Raynal <miquel.raynal@bootlin.com> | 2023-02-23 10:27:32 +0100 |
---|---|---|
committer | Miquel Raynal <miquel.raynal@bootlin.com> | 2023-02-23 10:27:32 +0100 |
commit | 27121864ab366992583d894961ecdc6e2ffe0ca1 (patch) | |
tree | 87ef1dcf82ce2d0d29b686d5ae81003ab3eb3b4a /kernel/futex/syscalls.c | |
parent | 84549c816dc317f012798e706e58669b3b013604 (diff) | |
parent | f047382519ca41702ebaee5a862e87390f687137 (diff) |
Merge tag 'spi-nor/for-6.3' into mtd/next
SPI NOR changes:
* small fixes on core and spansion driver.
Diffstat (limited to 'kernel/futex/syscalls.c')
-rw-r--r-- | kernel/futex/syscalls.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/kernel/futex/syscalls.c b/kernel/futex/syscalls.c index 086a22d1adb7..a8074079b09e 100644 --- a/kernel/futex/syscalls.c +++ b/kernel/futex/syscalls.c @@ -286,19 +286,22 @@ SYSCALL_DEFINE5(futex_waitv, struct futex_waitv __user *, waiters, } futexv = kcalloc(nr_futexes, sizeof(*futexv), GFP_KERNEL); - if (!futexv) - return -ENOMEM; + if (!futexv) { + ret = -ENOMEM; + goto destroy_timer; + } ret = futex_parse_waitv(futexv, waiters, nr_futexes); if (!ret) ret = futex_wait_multiple(futexv, nr_futexes, timeout ? &to : NULL); + kfree(futexv); + +destroy_timer: if (timeout) { hrtimer_cancel(&to.timer); destroy_hrtimer_on_stack(&to.timer); } - - kfree(futexv); return ret; } |