Message ID | 20201026194010.3817166-1-arnd@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | matroxfb: avoid -Warray-bounds warning | expand |
Hi Am 26.10.20 um 20:39 schrieb Arnd Bergmann: > From: Arnd Bergmann <arnd@arndb.de> > > The open-coded list_for_each_entry() causes a harmless warning: > > drivers/video/fbdev/matrox/matroxfb_base.c: In function 'matroxfb_register_driver': > include/linux/kernel.h:856:3: warning: array subscript -98 is outside array bounds of 'struct list_head[1]' [-Warray-bounds] > > Use the normal list_for_each_entry instead. > > Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Thomas Zimmermann <tzimmermann@suse.de> I'll add the patch to drm-misc-next. Thanks! Best regards Thomas > --- > drivers/video/fbdev/matrox/matroxfb_base.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/drivers/video/fbdev/matrox/matroxfb_base.c b/drivers/video/fbdev/matrox/matroxfb_base.c > index 570439b32655..a3853421b263 100644 > --- a/drivers/video/fbdev/matrox/matroxfb_base.c > +++ b/drivers/video/fbdev/matrox/matroxfb_base.c > @@ -1970,9 +1970,7 @@ int matroxfb_register_driver(struct matroxfb_driver* drv) { > struct matrox_fb_info* minfo; > > list_add(&drv->node, &matroxfb_driver_list); > - for (minfo = matroxfb_l(matroxfb_list.next); > - minfo != matroxfb_l(&matroxfb_list); > - minfo = matroxfb_l(minfo->next_fb.next)) { > + list_for_each_entry(minfo, &matroxfb_list, next_fb) { > void* p; > > if (minfo->drivers_count == MATROXFB_MAX_FB_DRIVERS) > @@ -1990,9 +1988,7 @@ void matroxfb_unregister_driver(struct matroxfb_driver* drv) { > struct matrox_fb_info* minfo; > > list_del(&drv->node); > - for (minfo = matroxfb_l(matroxfb_list.next); > - minfo != matroxfb_l(&matroxfb_list); > - minfo = matroxfb_l(minfo->next_fb.next)) { > + list_for_each_entry(minfo, &matroxfb_list, next_fb) { > int i; > > for (i = 0; i < minfo->drivers_count; ) { >
diff --git a/drivers/video/fbdev/matrox/matroxfb_base.c b/drivers/video/fbdev/matrox/matroxfb_base.c index 570439b32655..a3853421b263 100644 --- a/drivers/video/fbdev/matrox/matroxfb_base.c +++ b/drivers/video/fbdev/matrox/matroxfb_base.c @@ -1970,9 +1970,7 @@ int matroxfb_register_driver(struct matroxfb_driver* drv) { struct matrox_fb_info* minfo; list_add(&drv->node, &matroxfb_driver_list); - for (minfo = matroxfb_l(matroxfb_list.next); - minfo != matroxfb_l(&matroxfb_list); - minfo = matroxfb_l(minfo->next_fb.next)) { + list_for_each_entry(minfo, &matroxfb_list, next_fb) { void* p; if (minfo->drivers_count == MATROXFB_MAX_FB_DRIVERS) @@ -1990,9 +1988,7 @@ void matroxfb_unregister_driver(struct matroxfb_driver* drv) { struct matrox_fb_info* minfo; list_del(&drv->node); - for (minfo = matroxfb_l(matroxfb_list.next); - minfo != matroxfb_l(&matroxfb_list); - minfo = matroxfb_l(minfo->next_fb.next)) { + list_for_each_entry(minfo, &matroxfb_list, next_fb) { int i; for (i = 0; i < minfo->drivers_count; ) {