linux-next: build failure after merge of the drm tree
Dave Airlie
airlied at gmail.com
Mon Feb 28 06:48:47 UTC 2022
On Mon, 28 Feb 2022 at 16:44, Hsin-Yi Wang <hsinyi at chromium.org> wrote:
>
> On Sat, Feb 26, 2022 at 12:43 AM <broonie at kernel.org> 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)
More information about the dri-devel
mailing list