From: Adrian Salido <redacted>
The buffer allocation is not currently accounting for an extra byte for
the report id. This can cause an out of bounds access in function
i2c_hid_set_or_send_report() with reportID > 15.
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
drivers/hid/i2c-hid/i2c-hid.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
@@ -543,7 +543,8 @@ static int i2c_hid_alloc_buffers(struct i2c_hid *ihid, size_t report_size){/* the worst case is computed from the set_report command with a*reportID>15andthemaximumreportlength*/-intargs_len=sizeof(__u8)+/* optional ReportID byte */+intargs_len=sizeof(__u8)+/* ReportID */+sizeof(__u8)+/* optional ReportID byte */sizeof(__u16)+/* data register */sizeof(__u16)+/* size of the report */report_size;/* report */
From: Adrian Salido <redacted>
The buffer allocation is not currently accounting for an extra byte for
the report id. This can cause an out of bounds access in function
i2c_hid_set_or_send_report() with reportID > 15.
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Missing signoff from the patch author?
Also, I think this should have Cc: stable, right?
Thanks,
--
Jiri Kosina
SUSE Labs
On Wed, Sep 13, 2017 at 07:02:05AM -0700, Jiri Kosina wrote:
On Fri, 8 Sep 2017, Dmitry Torokhov wrote:
quoted
From: Adrian Salido <redacted>
The buffer allocation is not currently accounting for an extra byte for
the report id. This can cause an out of bounds access in function
i2c_hid_set_or_send_report() with reportID > 15.
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
From: Adrian Salido <redacted>
The buffer allocation is not currently accounting for an extra byte for
the report id. This can cause an out of bounds access in function
i2c_hid_set_or_send_report() with reportID > 15.
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Ok, thanks, will use that one. How about
Reviewed-by: Benson Leung [off-list ref]
which is missing in the mail you've sent, but is there in the above
reference commit?
quoted
Also, I think this should have Cc: stable, right?
I usually let maintainers decide, but yes.
I'll be adding it. Thanks,
--
Jiri Kosina
SUSE Labs
Ok, thanks, will use that one. How about
Reviewed-by: Benson Leung [off-list ref]
which is missing in the mail you've sent, but is there in the above
reference commit?
Submission looks good to me. Go ahead and add.
Reviewed-by: Benson Leung <bleung@chromium.org>
Thanks,
Benson
--
Benson Leung
Staff Software Engineer
Chrome OS Kernel
Google Inc.
bleung@google.com
Chromium OS Project
bleung@chromium.org
From: Adrian Salido <redacted>
The buffer allocation is not currently accounting for an extra byte for
the report id. This can cause an out of bounds access in function
i2c_hid_set_or_send_report() with reportID > 15.
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
I've added the missing tags and applied to for-4.14/upstream-fixes
--
Jiri Kosina
SUSE Labs