drm/i2c: tda9950: Remove VLA usage
Subsystems (2)
PATCH 1/1 drm/i2c: tda9950: Remove VLA usage
In the quest to remove all stack VLA usage from the kernel[1], this sets the buffer to maximum size and adds a sanity check.
[1] https://lkml.kernel.org/r/CA+55aFzCG-zNmZwX4A2FQpadafLfEzK6CC=qPXydAacU1RqZWA@mail.gmail.com
Signed-off-by Kees Cook <[email protected]>
--- drivers/gpu/drm/i2c/tda9950.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
drivers/gpu/drm/i2c/tda9950.c +4 -1
@@ -76,9 +76,12 @@ struct tda9950_priv {static int tda9950_write_range (struct i2c_client *client,u8 addr,u8 *p,int cnt) {struct i2c_msg msg; -u8 buf[cnt +1 ]; +u8 buf[CEC_MAX_MSG_SIZE +3 ];int ret; +if (WARN_ON (cnt >sizeof (buf))) +return -EINVAL ; + buf[0 ] = addr;memcpy (buf +1 , p, cnt);
Signature · 6 lines
2.17.1 -- Kees Cook Pixel Security
Quoted 6 lines · Kees Cook
In the quest to remove all stack VLA usage from the kernel[1], this sets the buffer to maximum size and adds a sanity check.
[1] https://lkml.kernel.org/r/CA+55aFzCG-zNmZwX4A2FQpadafLfEzK6CC=qPXydAacU1RqZWA@mail.gmail.com
Signed-off-by Kees Cook <[email protected]>
Friendly ping! Who's tree should this go through?
Thanks!
-Kees
Quoted 29 lines
--- drivers/gpu/drm/i2c/tda9950.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)drivers/gpu/drm/i2c/tda9950.c +4
-2@@ -76,9 +76,12 @@ struct tda9950_priv {static int tda9950_write_range (struct i2c_client *client,u8 addr,u8 *p,int cnt) {struct i2c_msg msg; -u8 buf[cnt +1 ]; +u8 buf[CEC_MAX_MSG_SIZE +3 ];int ret; +if (WARN_ON (cnt >sizeof (buf))) +return -EINVAL ; + buf[0 ] = addr;memcpy (buf +1 , p, cnt); --2.17.1
--
Kees Cook
Pixel Security
Signature · 2 lines
Kees Cook Pixel Security