Skip to contentSkip to conversation

potential off by one in vdso reloc_symtab()

DISCUSSION Dan Carpenter 1 participant 1 message Jul 5, 2012

lore
Share & tools
lore
#0 lore raw

Hi Jeremy,

I'm doing an audit for off by one errors and I had a question about the code in reloc_symtab().

arch/x86/vdso/vdso32-setup.c

    86          for(i = 0; i < nsym; i++, sym++) {
    87                  if (sym->st_shndx == SHN_UNDEF ||
    88                      sym->st_shndx == SHN_ABS)
    89                          continue;  /* skip */
    90  
    91                  if (sym->st_shndx > SHN_LORESERVE) {
                                          ^^^^^^^^^^^^^^^

Should this be >= SHN_LORESERVE? The other comparisons with SHN_LORESERVE put == SHN_LORESERVE together with the >.

    92                          printk(KERN_INFO "VDSO: unexpected st_shndx %x\n",
    93                                 sym->st_shndx);
    94                          continue;
    95                  }

regards,
dan carpenter