Hi Dan,
On Fri, Oct 15, 2021 at 10:48 AM Dan Carpenter <dan.carpenter(a)oracle.com> wrote:
url:
https://github.com/0day-ci/linux/commits/Geert-Uytterhoeven/auxdisplay-ht...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: i386-randconfig-m031-20211012 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
include/uapi/linux/map_to_14segment.h:87 map_to_seg14() error: buffer overflow
'map->table' 128 <= 255
include/uapi/linux/map_to_14segment.h:87 map_to_seg14() error: buffer overflow
'map->table' 128 <= 255
include/uapi/linux/map_to_14segment.h:87 map_to_seg14() error: buffer overflow
'map->table' 128 <= 255
vim +87 include/uapi/linux/map_to_14segment.h
d26423994040a7 Geert Uytterhoeven 2021-10-12 85 static __inline__ int
map_to_seg14(struct seg14_conversion_map *map, int c)
d26423994040a7 Geert Uytterhoeven 2021-10-12 86 {
d26423994040a7 Geert Uytterhoeven 2021-10-12 @87 return c >= 0 && c
< sizeof(map->table) ? __be16_to_cpu(map->table[c])
^^^^^^^^^^^^^^^^^^^^^^
Nice catch, thanks a lot!
This needs to be c < ARRAY_SIZE(map->table) instead of
sizeof().
I don't think we can use ARRAY_SIZE() in uapi (although there are
two users, which thus rely on an external definition), so I'll
open-code it.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert(a)linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like
that.
-- Linus Torvalds