Messages in this thread | | | Subject | Re: KASAN: slab-out-of-bounds Read in __nla_put_nohdr | From | Eric Dumazet <> | Date | Wed, 22 Jan 2020 12:33:17 -0800 |
| |
On 1/22/20 12:27 PM, Cong Wang wrote: > On Tue, Jan 21, 2020 at 11:55 AM Eric Dumazet <eric.dumazet@gmail.com> wrote: >> em_nbyte_change() sets >> em->datalen = sizeof(*nbyte) + nbyte->len; >> >> But later tcf_em_validate() overwrites em->datalen with the user provide value (em->datalen = data_len; ) >> which can be bigger than the allocated (kmemdup) space in em_nbyte_change() >> >> Should net/sched/em_nbyte.c() provide a dump() handler to avoid this issue ? > > I think for those who implement ->change() we should leave > ->datalen untouched to respect their choices. I don't see why > we have to set it twice. > >
Agreed, but we need to audit them to make sure all of them are setting ->datalen
| |