mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 04:33:26 +02:00
Merge tag 'net-6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Pull networking fixes from Jakub Kicinski: "Including fixes from bluetooth, bpf and wireguard. Current release - regressions: - nvme-tcp: fix comma-related oops after sendpage changes Current release - new code bugs: - ptp: make max_phase_adjustment sysfs device attribute invisible when not supported Previous releases - regressions: - sctp: fix potential deadlock on &net->sctp.addr_wq_lock - mptcp: - ensure subflow is unhashed before cleaning the backlog - do not rely on implicit state check in mptcp_listen() Previous releases - always broken: - net: fix net_dev_start_xmit trace event vs skb_transport_offset() - Bluetooth: - fix use-bdaddr-property quirk - L2CAP: fix multiple UaFs - ISO: use hci_sync for setting CIG parameters - hci_event: fix Set CIG Parameters error status handling - hci_event: fix parsing of CIS Established Event - MGMT: fix marking SCAN_RSP as not connectable - wireguard: queuing: use saner cpu selection wrapping - sched: act_ipt: various bug fixes for iptables <> TC interactions - sched: act_pedit: add size check for TCA_PEDIT_PARMS_EX - dsa: fixes for receiving PTP packets with 8021q and sja1105 tagging - eth: sfc: fix null-deref in devlink port without MAE access - eth: ibmvnic: do not reset dql stats on NON_FATAL err Misc: - xsk: honor SO_BINDTODEVICE on bind" * tag 'net-6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (70 commits) nfp: clean mc addresses in application firmware when closing port selftests: mptcp: pm_nl_ctl: fix 32-bit support selftests: mptcp: depend on SYN_COOKIES selftests: mptcp: userspace_pm: report errors with 'remove' tests selftests: mptcp: userspace_pm: use correct server port selftests: mptcp: sockopt: return error if wrong mark selftests: mptcp: sockopt: use 'iptables-legacy' if available selftests: mptcp: connect: fail if nft supposed to work mptcp: do not rely on implicit state check in mptcp_listen() mptcp: ensure subflow is unhashed before cleaning the backlog s390/qeth: Fix vipa deletion octeontx-af: fix hardware timestamp configuration net: dsa: sja1105: always enable the send_meta options net: dsa: tag_sja1105: fix MAC DA patching from meta frames net: Replace strlcpy with strscpy pptp: Fix fib lookup calls. mlxsw: spectrum_router: Fix an IS_ERR() vs NULL check net/sched: act_pedit: Add size check for TCA_PEDIT_PARMS_EX xsk: Honor SO_BINDTODEVICE on bind ptp: Make max_phase_adjustment sysfs device attribute invisible when not supported ...
This commit is contained in:
@@ -50,3 +50,4 @@ CONFIG_CRYPTO_SM4_GENERIC=y
|
||||
CONFIG_AMT=m
|
||||
CONFIG_VXLAN=m
|
||||
CONFIG_IP_SCTP=m
|
||||
CONFIG_NETFILTER_XT_MATCH_POLICY=m
|
||||
|
@@ -6,6 +6,7 @@ CONFIG_INET_DIAG=m
|
||||
CONFIG_INET_MPTCP_DIAG=m
|
||||
CONFIG_VETH=y
|
||||
CONFIG_NET_SCH_NETEM=m
|
||||
CONFIG_SYN_COOKIES=y
|
||||
CONFIG_NETFILTER=y
|
||||
CONFIG_NETFILTER_ADVANCED=y
|
||||
CONFIG_NETFILTER_NETLINK=m
|
||||
|
@@ -718,6 +718,7 @@ table inet mangle {
|
||||
EOF
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "SKIP: $msg, could not load nft ruleset"
|
||||
mptcp_lib_fail_if_expected_feature "nft rules"
|
||||
return
|
||||
fi
|
||||
|
||||
@@ -733,6 +734,7 @@ EOF
|
||||
if [ $? -ne 0 ]; then
|
||||
ip netns exec "$listener_ns" nft flush ruleset
|
||||
echo "SKIP: $msg, ip $r6flag rule failed"
|
||||
mptcp_lib_fail_if_expected_feature "ip rule"
|
||||
return
|
||||
fi
|
||||
|
||||
@@ -741,6 +743,7 @@ EOF
|
||||
ip netns exec "$listener_ns" nft flush ruleset
|
||||
ip -net "$listener_ns" $r6flag rule del fwmark 1 lookup 100
|
||||
echo "SKIP: $msg, ip route add local $local_addr failed"
|
||||
mptcp_lib_fail_if_expected_feature "ip route"
|
||||
return
|
||||
fi
|
||||
|
||||
|
@@ -12,6 +12,8 @@ ksft_skip=4
|
||||
timeout_poll=30
|
||||
timeout_test=$((timeout_poll * 2 + 1))
|
||||
mptcp_connect=""
|
||||
iptables="iptables"
|
||||
ip6tables="ip6tables"
|
||||
|
||||
sec=$(date +%s)
|
||||
rndh=$(printf %x $sec)-$(mktemp -u XXXXXX)
|
||||
@@ -25,7 +27,7 @@ add_mark_rules()
|
||||
local m=$2
|
||||
|
||||
local t
|
||||
for t in iptables ip6tables; do
|
||||
for t in ${iptables} ${ip6tables}; do
|
||||
# just to debug: check we have multiple subflows connection requests
|
||||
ip netns exec $ns $t -A OUTPUT -p tcp --syn -m mark --mark $m -j ACCEPT
|
||||
|
||||
@@ -95,14 +97,14 @@ if [ $? -ne 0 ];then
|
||||
exit $ksft_skip
|
||||
fi
|
||||
|
||||
iptables -V > /dev/null 2>&1
|
||||
if [ $? -ne 0 ];then
|
||||
# Use the legacy version if available to support old kernel versions
|
||||
if iptables-legacy -V &> /dev/null; then
|
||||
iptables="iptables-legacy"
|
||||
ip6tables="ip6tables-legacy"
|
||||
elif ! iptables -V &> /dev/null; then
|
||||
echo "SKIP: Could not run all tests without iptables tool"
|
||||
exit $ksft_skip
|
||||
fi
|
||||
|
||||
ip6tables -V > /dev/null 2>&1
|
||||
if [ $? -ne 0 ];then
|
||||
elif ! ip6tables -V &> /dev/null; then
|
||||
echo "SKIP: Could not run all tests without ip6tables tool"
|
||||
exit $ksft_skip
|
||||
fi
|
||||
@@ -112,10 +114,10 @@ check_mark()
|
||||
local ns=$1
|
||||
local af=$2
|
||||
|
||||
local tables=iptables
|
||||
local tables=${iptables}
|
||||
|
||||
if [ $af -eq 6 ];then
|
||||
tables=ip6tables
|
||||
tables=${ip6tables}
|
||||
fi
|
||||
|
||||
local counters values
|
||||
@@ -126,6 +128,7 @@ check_mark()
|
||||
for v in $values; do
|
||||
if [ $v -ne 0 ]; then
|
||||
echo "FAIL: got $tables $values in ns $ns , not 0 - not all expected packets marked" 1>&2
|
||||
ret=1
|
||||
return 1
|
||||
fi
|
||||
done
|
||||
@@ -225,11 +228,11 @@ do_transfer()
|
||||
fi
|
||||
|
||||
if [ $local_addr = "::" ];then
|
||||
check_mark $listener_ns 6
|
||||
check_mark $connector_ns 6
|
||||
check_mark $listener_ns 6 || retc=1
|
||||
check_mark $connector_ns 6 || retc=1
|
||||
else
|
||||
check_mark $listener_ns 4
|
||||
check_mark $connector_ns 4
|
||||
check_mark $listener_ns 4 || retc=1
|
||||
check_mark $connector_ns 4 || retc=1
|
||||
fi
|
||||
|
||||
check_transfer $cin $sout "file received by server"
|
||||
|
@@ -425,7 +425,7 @@ int dsf(int fd, int pm_family, int argc, char *argv[])
|
||||
}
|
||||
|
||||
/* token */
|
||||
token = atoi(params[4]);
|
||||
token = strtoul(params[4], NULL, 10);
|
||||
rta = (void *)(data + off);
|
||||
rta->rta_type = MPTCP_PM_ATTR_TOKEN;
|
||||
rta->rta_len = RTA_LENGTH(4);
|
||||
@@ -551,7 +551,7 @@ int csf(int fd, int pm_family, int argc, char *argv[])
|
||||
}
|
||||
|
||||
/* token */
|
||||
token = atoi(params[4]);
|
||||
token = strtoul(params[4], NULL, 10);
|
||||
rta = (void *)(data + off);
|
||||
rta->rta_type = MPTCP_PM_ATTR_TOKEN;
|
||||
rta->rta_len = RTA_LENGTH(4);
|
||||
@@ -598,7 +598,7 @@ int remove_addr(int fd, int pm_family, int argc, char *argv[])
|
||||
if (++arg >= argc)
|
||||
error(1, 0, " missing token value");
|
||||
|
||||
token = atoi(argv[arg]);
|
||||
token = strtoul(argv[arg], NULL, 10);
|
||||
rta = (void *)(data + off);
|
||||
rta->rta_type = MPTCP_PM_ATTR_TOKEN;
|
||||
rta->rta_len = RTA_LENGTH(4);
|
||||
@@ -710,7 +710,7 @@ int announce_addr(int fd, int pm_family, int argc, char *argv[])
|
||||
if (++arg >= argc)
|
||||
error(1, 0, " missing token value");
|
||||
|
||||
token = atoi(argv[arg]);
|
||||
token = strtoul(argv[arg], NULL, 10);
|
||||
} else
|
||||
error(1, 0, "unknown keyword %s", argv[arg]);
|
||||
}
|
||||
@@ -1347,7 +1347,7 @@ int set_flags(int fd, int pm_family, int argc, char *argv[])
|
||||
error(1, 0, " missing token value");
|
||||
|
||||
/* token */
|
||||
token = atoi(argv[arg]);
|
||||
token = strtoul(argv[arg], NULL, 10);
|
||||
} else if (!strcmp(argv[arg], "flags")) {
|
||||
char *tok, *str;
|
||||
|
||||
|
@@ -423,6 +423,7 @@ test_remove()
|
||||
stdbuf -o0 -e0 printf "[OK]\n"
|
||||
else
|
||||
stdbuf -o0 -e0 printf "[FAIL]\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# RM_ADDR using an invalid addr id should result in no action
|
||||
@@ -437,6 +438,7 @@ test_remove()
|
||||
stdbuf -o0 -e0 printf "[OK]\n"
|
||||
else
|
||||
stdbuf -o0 -e0 printf "[FAIL]\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# RM_ADDR from the client to server machine
|
||||
@@ -848,7 +850,7 @@ test_prio()
|
||||
local count
|
||||
|
||||
# Send MP_PRIO signal from client to server machine
|
||||
ip netns exec "$ns2" ./pm_nl_ctl set 10.0.1.2 port "$client4_port" flags backup token "$client4_token" rip 10.0.1.1 rport "$server4_port"
|
||||
ip netns exec "$ns2" ./pm_nl_ctl set 10.0.1.2 port "$client4_port" flags backup token "$client4_token" rip 10.0.1.1 rport "$app4_port"
|
||||
sleep 0.5
|
||||
|
||||
# Check TX
|
||||
|
@@ -514,10 +514,32 @@ n2 bash -c 'printf 0 > /proc/sys/net/ipv4/conf/all/rp_filter'
|
||||
n1 ping -W 1 -c 1 192.168.241.2
|
||||
[[ $(n2 wg show wg0 endpoints) == "$pub1 10.0.0.3:1" ]]
|
||||
|
||||
ip1 link del veth1
|
||||
ip1 link del veth3
|
||||
ip1 link del wg0
|
||||
ip2 link del wg0
|
||||
ip1 link del dev veth3
|
||||
ip1 link del dev wg0
|
||||
ip2 link del dev wg0
|
||||
|
||||
# Make sure persistent keep alives are sent when an adapter comes up
|
||||
ip1 link add dev wg0 type wireguard
|
||||
n1 wg set wg0 private-key <(echo "$key1") peer "$pub2" endpoint 10.0.0.1:1 persistent-keepalive 1
|
||||
read _ _ tx_bytes < <(n1 wg show wg0 transfer)
|
||||
[[ $tx_bytes -eq 0 ]]
|
||||
ip1 link set dev wg0 up
|
||||
read _ _ tx_bytes < <(n1 wg show wg0 transfer)
|
||||
[[ $tx_bytes -gt 0 ]]
|
||||
ip1 link del dev wg0
|
||||
# This should also happen even if the private key is set later
|
||||
ip1 link add dev wg0 type wireguard
|
||||
n1 wg set wg0 peer "$pub2" endpoint 10.0.0.1:1 persistent-keepalive 1
|
||||
read _ _ tx_bytes < <(n1 wg show wg0 transfer)
|
||||
[[ $tx_bytes -eq 0 ]]
|
||||
ip1 link set dev wg0 up
|
||||
read _ _ tx_bytes < <(n1 wg show wg0 transfer)
|
||||
[[ $tx_bytes -eq 0 ]]
|
||||
n1 wg set wg0 private-key <(echo "$key1")
|
||||
read _ _ tx_bytes < <(n1 wg show wg0 transfer)
|
||||
[[ $tx_bytes -gt 0 ]]
|
||||
ip1 link del dev veth1
|
||||
ip1 link del dev wg0
|
||||
|
||||
# We test that Netlink/IPC is working properly by doing things that usually cause split responses
|
||||
ip0 link add dev wg0 type wireguard
|
||||
|
Reference in New Issue
Block a user