Re: [PATCH net] bpf: fix allocation warnings in bpf maps and integer overflow

From: David Miller
Date: Wed Dec 02 2015 - 23:36:38 EST


From: Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx>
Date: Sun, 29 Nov 2015 16:59:35 -0800

> From: Alexei Starovoitov <ast@xxxxxxxxxx>
>
> For large map->value_size the user space can trigger memory allocation warnings like:
...
> To avoid never succeeding kmalloc with order >= MAX_ORDER check that
> elem->value_size and computed elem_size are within limits for both hash and
> array type maps.
> Also add __GFP_NOWARN to kmalloc(value_size | elem_size) to avoid OOM warnings.
> Note kmalloc(key_size) is highly unlikely to trigger OOM, since key_size <= 512,
> so keep those kmalloc-s as-is.
>
> Large value_size can cause integer overflows in elem_size and map.pages
> formulas, so check for that as well.
>
> Fixes: aaac3ba95e4c ("bpf: charge user for creation of BPF maps and programs")
> Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx>
> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxx>

Applied and queued up for -stable, thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/