Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
S390 bpf_jit.S is removed in net-next and had changes in 'net', since that code isn't used any more take the removal. TLS data structures split the TX and RX components in 'net-next', put the new struct members from the bug fix in 'net' into the RX part. The 'net-next' tree had some reworking of how the ERSPAN code works in the GRE tunneling code, overlapping with a one-line headroom calculation fix in 'net'. Overlapping changes in __sock_map_ctx_update_elem(), keep the bits that read the prog members via READ_ONCE() into local variables before using them. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -1729,11 +1729,11 @@ static int __sock_map_ctx_update_elem(struct bpf_map *map,
|
||||
* we increment the refcnt. If this is the case abort with an
|
||||
* error.
|
||||
*/
|
||||
verdict = bpf_prog_inc_not_zero(progs->bpf_verdict);
|
||||
verdict = bpf_prog_inc_not_zero(verdict);
|
||||
if (IS_ERR(verdict))
|
||||
return PTR_ERR(verdict);
|
||||
|
||||
parse = bpf_prog_inc_not_zero(progs->bpf_parse);
|
||||
parse = bpf_prog_inc_not_zero(parse);
|
||||
if (IS_ERR(parse)) {
|
||||
bpf_prog_put(verdict);
|
||||
return PTR_ERR(parse);
|
||||
@@ -1741,12 +1741,12 @@ static int __sock_map_ctx_update_elem(struct bpf_map *map,
|
||||
}
|
||||
|
||||
if (tx_msg) {
|
||||
tx_msg = bpf_prog_inc_not_zero(progs->bpf_tx_msg);
|
||||
tx_msg = bpf_prog_inc_not_zero(tx_msg);
|
||||
if (IS_ERR(tx_msg)) {
|
||||
if (verdict)
|
||||
bpf_prog_put(verdict);
|
||||
if (parse)
|
||||
if (parse && verdict) {
|
||||
bpf_prog_put(parse);
|
||||
bpf_prog_put(verdict);
|
||||
}
|
||||
return PTR_ERR(tx_msg);
|
||||
}
|
||||
}
|
||||
@@ -1826,10 +1826,10 @@ out_free:
|
||||
kfree(e);
|
||||
smap_release_sock(psock, sock);
|
||||
out_progs:
|
||||
if (verdict)
|
||||
bpf_prog_put(verdict);
|
||||
if (parse)
|
||||
if (parse && verdict) {
|
||||
bpf_prog_put(parse);
|
||||
bpf_prog_put(verdict);
|
||||
}
|
||||
if (tx_msg)
|
||||
bpf_prog_put(tx_msg);
|
||||
write_unlock_bh(&sock->sk_callback_lock);
|
||||
|
Reference in New Issue
Block a user