OSDN Git Service

bpf: reject wrong sized filters earlier
authorDaniel Borkmann <daniel@iogearbox.net>
Fri, 10 Jun 2016 19:19:07 +0000 (21:19 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 16 May 2019 17:44:52 +0000 (19:44 +0200)
commitf08db490b4069f64a2fd700f9ebd0f62d49dffc4
treeab7160bdbcb37404e745ceca228b5e912d525002
parent0b7d9b8571ad1542034db38911418697005a3225
bpf: reject wrong sized filters earlier

commit f7bd9e36ee4a4ce38e1cddd7effe6c0d9943285b upstream.

Add a bpf_check_basics_ok() and reject filters that are of invalid
size much earlier, so we don't do any useless work such as invoking
bpf_prog_alloc(). Currently, rejection happens in bpf_check_classic()
only, but it's really unnecessarily late and they should be rejected
at earliest point. While at it, also clean up one bpf_prog_size() to
make it consistent with the remaining invocations.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Zubin Mithra <zsm@chromium.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/core/filter.c