On Mon, 28 Feb 2022 at 16:44, Hsin-Yi Wang <hsinyi@xxxxxxxxxxxx> wrote: > > On Sat, Feb 26, 2022 at 12:43 AM <broonie@xxxxxxxxxx> wrote: > > > > Hi all, > > > > After merging the drm tree, today's linux-next build (x86 allmodconfig) > > failed like this: > > > > lib/strncpy_from_user.o: warning: objtool: strncpy_from_user()+0x10b: call to do_strncpy_from_user() with UACCESS enabled > > lib/strnlen_user.o: warning: objtool: strnlen_user()+0xbb: call to do_strnlen_user() with UACCESS enabled > > /tmp/next/build/drivers/gpu/drm/bridge/ite-it6505.c: In function 'receive_timing_debugfs_show': > > /tmp/next/build/drivers/gpu/drm/bridge/ite-it6505.c:3077:23: error: array subscript 4096 is outside array bounds of 'u8[200]' {aka 'unsigned char[200]'} [-Werror=array-bounds] > > 3077 | u8 *str = read_buf, *end = read_buf + PAGE_SIZE; > > | ^~~ > > /tmp/next/build/drivers/gpu/drm/bridge/ite-it6505.c:3076:5: note: while referencing 'read_buf' > > 3076 | u8 read_buf[READ_BUFFER_SIZE]; > > | ^~~~~~~~ > > /tmp/next/build/drivers/gpu/drm/bridge/ite-it6505.c:3077:23: error: array subscript 4096 is outside array bounds of 'u8[200]' {aka 'unsigned char[200]'} [-Werror=array-bounds] > > 3077 | u8 *str = read_buf, *end = read_buf + PAGE_SIZE; > > | ^~~ > > /tmp/next/build/drivers/gpu/drm/bridge/ite-it6505.c:3076:5: note: while referencing 'read_buf' > > 3076 | u8 read_buf[READ_BUFFER_SIZE]; > > | ^~~~~~~~ > > /tmp/next/build/drivers/gpu/drm/bridge/ite-it6505.c:3077:23: error: array subscript 4096 is outside array bounds of 'u8[200]' {aka 'unsigned char[200]'} [-Werror=array-bounds] > > 3077 | u8 *str = read_buf, *end = read_buf + PAGE_SIZE; > > | ^~~ > > /tmp/next/build/drivers/gpu/drm/bridge/ite-it6505.c:3076:5: note: while referencing 'read_buf' > > 3076 | u8 read_buf[READ_BUFFER_SIZE]; > > | ^~~~~~~~ > > /tmp/next/build/drivers/gpu/drm/bridge/ite-it6505.c:3077:23: error: array subscript 4096 is outside array bounds of 'u8[200]' {aka 'unsigned char[200]'} [-Werror=array-bounds] > > 3077 | u8 *str = read_buf, *end = read_buf + PAGE_SIZE; > > | ^~~ > > /tmp/next/build/drivers/gpu/drm/bridge/ite-it6505.c:3076:5: note: while referencing 'read_buf' > > 3076 | u8 read_buf[READ_BUFFER_SIZE]; > > | ^~~~~~~~ > > /tmp/next/build/drivers/gpu/drm/bridge/ite-it6505.c:3077:23: error: array subscript 4096 is outside array bounds of 'u8[200]' {aka 'unsigned char[200]'} [-Werror=array-bounds] > > 3077 | u8 *str = read_buf, *end = read_buf + PAGE_SIZE; > > | ^~~ > > /tmp/next/build/drivers/gpu/drm/bridge/ite-it6505.c:3076:5: note: while referencing 'read_buf' > > 3076 | u8 read_buf[READ_BUFFER_SIZE]; > > | ^~~~~~~~ > > /tmp/next/build/drivers/gpu/drm/bridge/ite-it6505.c:3077:23: error: array subscript 4096 is outside array bounds of 'u8[200]' {aka 'unsigned char[200]'} [-Werror=array-bounds] > > 3077 | u8 *str = read_buf, *end = read_buf + PAGE_SIZE; > > | ^~~ > > /tmp/next/build/drivers/gpu/drm/bridge/ite-it6505.c:3076:5: note: while referencing 'read_buf' > > 3076 | u8 read_buf[READ_BUFFER_SIZE]; > > | ^~~~~~~~ > > /tmp/next/build/drivers/gpu/drm/bridge/ite-it6505.c:3077:23: error: array subscript 4096 is outside array bounds of 'u8[200]' {aka 'unsigned char[200]'} [-Werror=array-bounds] > > 3077 | u8 *str = read_buf, *end = read_buf + PAGE_SIZE; > > | ^~~ > > /tmp/next/build/drivers/gpu/drm/bridge/ite-it6505.c:3076:5: note: while referencing 'read_buf' > > 3076 | u8 read_buf[READ_BUFFER_SIZE]; > > | ^~~~~~~~ > > /tmp/next/build/drivers/gpu/drm/bridge/ite-it6505.c:3077:23: error: array subscript 4096 is outside array bounds of 'u8[200]' {aka 'unsigned char[200]'} [-Werror=array-bounds] > > 3077 | u8 *str = read_buf, *end = read_buf + PAGE_SIZE; > > | ^~~ > > /tmp/next/build/drivers/gpu/drm/bridge/ite-it6505.c:3076:5: note: while referencing 'read_buf' > > 3076 | u8 read_buf[READ_BUFFER_SIZE]; > > | ^~~~~~~~ > > /tmp/next/build/drivers/gpu/drm/bridge/ite-it6505.c:3077:23: error: array subscript 4096 is outside array bounds of 'u8[200]' {aka 'unsigned char[200]'} [-Werror=array-bounds] > > 3077 | u8 *str = read_buf, *end = read_buf + PAGE_SIZE; > > | ^~~ > > /tmp/next/build/drivers/gpu/drm/bridge/ite-it6505.c:3076:5: note: while referencing 'read_buf' > > 3076 | u8 read_buf[READ_BUFFER_SIZE]; > > | ^~~~~~~~ > > /tmp/next/build/drivers/gpu/drm/bridge/ite-it6505.c:3077:23: error: array subscript 4096 is outside array bounds of 'u8[200]' {aka 'unsigned char[200]'} [-Werror=array-bounds] > > 3077 | u8 *str = read_buf, *end = read_buf + PAGE_SIZE; > > | ^~~ > > /tmp/next/build/drivers/gpu/drm/bridge/ite-it6505.c:3076:5: note: while referencing 'read_buf' > > 3076 | u8 read_buf[READ_BUFFER_SIZE]; > > | ^~~~~~~~ > > /tmp/next/build/drivers/gpu/drm/bridge/ite-it6505.c:3077:23: error: array subscript 4096 is outside array bounds of 'u8[200]' {aka 'unsigned char[200]'} [-Werror=array-bounds] > > 3077 | u8 *str = read_buf, *end = read_buf + PAGE_SIZE; > > | ^~~ > > /tmp/next/build/drivers/gpu/drm/bridge/ite-it6505.c:3076:5: note: while referencing 'read_buf' > > 3076 | u8 read_buf[READ_BUFFER_SIZE]; > > | ^~~~~~~~ > > cc1: all warnings being treated as errors > > > > Caused by commit > > > > b5c84a9edcd418 ("drm/bridge: add it6505 driver") > > > > I have used the drm tree from yesterday instead. > > hi all, > > The following fix should be able to address the errors. Should it be > squashed into b5c84a9edcd418 ("drm/bridge: add it6505 driver")? Can you send a patch with this to dri-devel? It's far too far down the tree to sqaush anything at this point. Dave. > > diff --git a/drivers/gpu/drm/bridge/ite-it6505.c > b/drivers/gpu/drm/bridge/ite-it6505.c > index fb16a176822d81..f2f101220ade94 100644 > --- a/drivers/gpu/drm/bridge/ite-it6505.c > +++ b/drivers/gpu/drm/bridge/ite-it6505.c > @@ -289,7 +289,7 @@ > #define WORD_LENGTH_20BIT 2 > #define WORD_LENGTH_24BIT 3 > #define DEBUGFS_DIR_NAME "it6505-debugfs" > -#define READ_BUFFER_SIZE 200 > +#define READ_BUFFER_SIZE 400 > > /* Vendor option */ > #define HDCP_DESIRED 1 > @@ -3074,7 +3074,7 @@ static ssize_t > receive_timing_debugfs_show(struct file *file, char __user *buf, > struct it6505 *it6505 = file->private_data; > struct drm_display_mode *vid = &it6505->video_info; > u8 read_buf[READ_BUFFER_SIZE]; > - u8 *str = read_buf, *end = read_buf + PAGE_SIZE; > + u8 *str = read_buf, *end = read_buf + READ_BUFFER_SIZE; > ssize_t ret, count; > > if (!it6505)