Message ID | Yv8dpCFZJdbUT5ye@kili (mailing list archive) |
---|---|
State | Accepted |
Commit | 8a07b45fd3c2dda24fad43639be5335a4595196a |
Headers | show |
Series | platform/chrome: fix memory corruption in ioctl | expand |
On Thu, Aug 18, 2022 at 10:20 PM Dan Carpenter <dan.carpenter@oracle.com> wrote: > > If "s_mem.bytes" is larger than the buffer size it leads to memory > corruption. > > Fixes: eda2e30c6684 ("mfd / platform: cros_ec: Miscellaneous character device to talk with the EC") > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Reviewed-by: Guenter Roeck <groeck@chromium.org> > --- > drivers/platform/chrome/cros_ec_chardev.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/platform/chrome/cros_ec_chardev.c b/drivers/platform/chrome/cros_ec_chardev.c > index fd33de546aee..2442dce4e208 100644 > --- a/drivers/platform/chrome/cros_ec_chardev.c > +++ b/drivers/platform/chrome/cros_ec_chardev.c > @@ -327,6 +327,9 @@ static long cros_ec_chardev_ioctl_readmem(struct cros_ec_dev *ec, > if (copy_from_user(&s_mem, arg, sizeof(s_mem))) > return -EFAULT; > > + if (s_mem.bytes > sizeof(s_mem.buffer)) > + return -EINVAL; > + > num = ec_dev->cmd_readmem(ec_dev, s_mem.offset, s_mem.bytes, > s_mem.buffer); > if (num <= 0) > -- > 2.35.1 >
Hello: This patch was applied to chrome-platform/linux.git (for-kernelci) by Tzung-Bi Shih <tzungbi@kernel.org>: On Fri, 19 Aug 2022 08:20:36 +0300 you wrote: > If "s_mem.bytes" is larger than the buffer size it leads to memory > corruption. > > Fixes: eda2e30c6684 ("mfd / platform: cros_ec: Miscellaneous character device to talk with the EC") > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> > --- > drivers/platform/chrome/cros_ec_chardev.c | 3 +++ > 1 file changed, 3 insertions(+) Here is the summary with links: - platform/chrome: fix memory corruption in ioctl https://git.kernel.org/chrome-platform/c/8a07b45fd3c2 You are awesome, thank you!
Hello: This patch was applied to chrome-platform/linux.git (for-next) by Tzung-Bi Shih <tzungbi@kernel.org>: On Fri, 19 Aug 2022 08:20:36 +0300 you wrote: > If "s_mem.bytes" is larger than the buffer size it leads to memory > corruption. > > Fixes: eda2e30c6684 ("mfd / platform: cros_ec: Miscellaneous character device to talk with the EC") > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> > --- > drivers/platform/chrome/cros_ec_chardev.c | 3 +++ > 1 file changed, 3 insertions(+) Here is the summary with links: - platform/chrome: fix memory corruption in ioctl https://git.kernel.org/chrome-platform/c/8a07b45fd3c2 You are awesome, thank you!
diff --git a/drivers/platform/chrome/cros_ec_chardev.c b/drivers/platform/chrome/cros_ec_chardev.c index fd33de546aee..2442dce4e208 100644 --- a/drivers/platform/chrome/cros_ec_chardev.c +++ b/drivers/platform/chrome/cros_ec_chardev.c @@ -327,6 +327,9 @@ static long cros_ec_chardev_ioctl_readmem(struct cros_ec_dev *ec, if (copy_from_user(&s_mem, arg, sizeof(s_mem))) return -EFAULT; + if (s_mem.bytes > sizeof(s_mem.buffer)) + return -EINVAL; + num = ec_dev->cmd_readmem(ec_dev, s_mem.offset, s_mem.bytes, s_mem.buffer); if (num <= 0)
If "s_mem.bytes" is larger than the buffer size it leads to memory corruption. Fixes: eda2e30c6684 ("mfd / platform: cros_ec: Miscellaneous character device to talk with the EC") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> --- drivers/platform/chrome/cros_ec_chardev.c | 3 +++ 1 file changed, 3 insertions(+)