Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

matroxfb: avoid -Warray-bounds warning

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>
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20201026194010.3817166-1-arnd@kernel.org

authored by

Arnd Bergmann and committed by
Thomas Zimmermann
4dfec0d1 70bb9193

+2 -6
+2 -6
drivers/video/fbdev/matrox/matroxfb_base.c
··· 1970 1970 struct matrox_fb_info* minfo; 1971 1971 1972 1972 list_add(&drv->node, &matroxfb_driver_list); 1973 - for (minfo = matroxfb_l(matroxfb_list.next); 1974 - minfo != matroxfb_l(&matroxfb_list); 1975 - minfo = matroxfb_l(minfo->next_fb.next)) { 1973 + list_for_each_entry(minfo, &matroxfb_list, next_fb) { 1976 1974 void* p; 1977 1975 1978 1976 if (minfo->drivers_count == MATROXFB_MAX_FB_DRIVERS) ··· 1988 1990 struct matrox_fb_info* minfo; 1989 1991 1990 1992 list_del(&drv->node); 1991 - for (minfo = matroxfb_l(matroxfb_list.next); 1992 - minfo != matroxfb_l(&matroxfb_list); 1993 - minfo = matroxfb_l(minfo->next_fb.next)) { 1993 + list_for_each_entry(minfo, &matroxfb_list, next_fb) { 1994 1994 int i; 1995 1995 1996 1996 for (i = 0; i < minfo->drivers_count; ) {