Brooke Basile b1cd1b65af USB: gadget: u_f: add overflow checks to VLA macros
size can potentially hold an overflowed value if its assigned expression
is left unchecked, leading to a smaller than needed allocation when
vla_group_size() is used by callers to allocate memory.
To fix this, add a test for saturation before declaring variables and an
overflow check to (n) * sizeof(type).
If the expression results in overflow, vla_group_size() will return SIZE_MAX.

Reported-by: Ilja Van Sprundel <ivansprundel@ioactive.com>
Suggested-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Brooke Basile <brookebasile@gmail.com>
Acked-by: Felipe Balbi <balbi@kernel.org>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-08-25 16:02:29 +02:00
..
2020-08-15 08:18:22 -07:00
2020-08-06 18:09:34 -07:00
2020-08-02 18:26:51 +03:00
2020-08-15 20:36:42 -07:00
2020-08-06 10:54:07 -07:00
2020-08-11 11:58:31 +10:00
2020-08-15 08:18:22 -07:00
2020-08-15 08:09:38 -07:00
2020-08-07 10:33:50 -07:00
2020-08-11 14:34:17 -07:00
2020-08-11 10:59:19 -07:00
2020-08-14 16:00:09 -07:00
2020-08-14 13:31:25 -07:00
2020-08-14 16:00:09 -07:00
2020-08-15 08:18:22 -07:00
2020-08-05 19:24:27 -07:00
2020-08-07 10:33:50 -07:00
2020-08-15 20:36:42 -07:00
2020-08-11 14:13:24 -07:00
2020-08-11 14:13:24 -07:00
2020-08-05 13:23:24 -07:00
2020-08-15 08:09:38 -07:00
2020-08-14 19:56:56 -07:00
2020-08-05 11:12:34 -07:00
2020-08-06 10:54:07 -07:00
2020-08-07 18:48:15 -07:00
2020-08-12 12:13:44 -07:00
2020-08-14 16:00:09 -07:00
2020-08-11 11:17:45 -07:00
2020-08-12 17:17:00 -07:00
2020-08-14 16:01:59 -07:00
2020-08-06 14:27:31 -07:00
2020-08-07 18:48:15 -07:00
2020-08-14 16:01:59 -07:00
2020-08-15 08:09:38 -07:00
2020-08-06 14:56:11 -07:00
2020-08-11 14:34:17 -07:00
2020-08-12 12:09:36 -07:00
2020-08-11 14:34:17 -07:00
2020-08-14 16:00:09 -07:00
2020-08-12 12:13:44 -07:00
2020-08-14 13:34:37 -07:00