inet_diag: Move the INET_DIAG_REQ_BYTECODE nlattr to cb->data
authorMartin KaFai Lau <kafai@fb.com>
Tue, 25 Feb 2020 23:04:15 +0000 (15:04 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 28 Feb 2020 02:50:19 +0000 (18:50 -0800)
commit0df6d32842b9a5f97a29ea90c8adc5cfac38341d
treed9b50a11f25fb4c0f30505eed7cffae73879862b
parent5682d393b40e1fe7426a7b8c3471f05262f42010
inet_diag: Move the INET_DIAG_REQ_BYTECODE nlattr to cb->data

The INET_DIAG_REQ_BYTECODE nlattr is currently re-found every time when
the "dump()" is re-started.

In a latter patch, it will also need to parse the new
INET_DIAG_REQ_SK_BPF_STORAGES nlattr to learn the map_fds. Thus, this
patch takes this chance to store the parsed nlattr in cb->data
during the "start" time of a dump.

By doing this, the "bc" argument also becomes unnecessary
and is removed.  Also, the two copies of the INET_DIAG_REQ_BYTECODE
parsing-audit logic between compat/current version can be
consolidated to one.

Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Song Liu <songliubraving@fb.com>
Link: https://lore.kernel.org/bpf/20200225230415.1975555-1-kafai@fb.com
include/linux/inet_diag.h
include/uapi/linux/inet_diag.h
net/dccp/diag.c
net/ipv4/inet_diag.c
net/ipv4/raw_diag.c
net/ipv4/tcp_diag.c
net/ipv4/udp_diag.c
net/sctp/diag.c