diff options
author | Alexander Popov <alex.popov@linux.com> | 2018-04-19 14:29:22 +0200 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2018-04-27 14:04:10 +0200 |
commit | 23a27722b5292ef0b27403c87a109feea8296a5c (patch) | |
tree | 3516ceaf2c36581588bcb11db81b669f4e45bba3 /scripts/ld-version.sh | |
parent | Documentation/i2c: adopt kernel commenting style in examples (diff) | |
download | linux-23a27722b5292ef0b27403c87a109feea8296a5c.tar.xz linux-23a27722b5292ef0b27403c87a109feea8296a5c.zip |
i2c: dev: prevent ZERO_SIZE_PTR deref in i2cdev_ioctl_rdwr()
i2cdev_ioctl_rdwr() allocates i2c_msg.buf using memdup_user(), which
returns ZERO_SIZE_PTR if i2c_msg.len is zero.
Currently i2cdev_ioctl_rdwr() always dereferences the buf pointer in case
of I2C_M_RD | I2C_M_RECV_LEN transfer. That causes a kernel oops in
case of zero len.
Let's check the len against zero before dereferencing buf pointer.
This issue was triggered by syzkaller.
Signed-off-by: Alexander Popov <alex.popov@linux.com>
Reviewed-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
[wsa: use '< 1' instead of '!' for easier readability]
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Diffstat (limited to 'scripts/ld-version.sh')
0 files changed, 0 insertions, 0 deletions