Messages in this thread | | | From | Cong Wang <> | Date | Wed, 22 Jan 2020 12:27:11 -0800 | Subject | Re: KASAN: slab-out-of-bounds Read in __nla_put_nohdr |
| |
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.
Thanks.
| |