Pull networking fixes from Jakub Kicinski: "Including fixes from netfilter. Current release - new code bugs: - clear msg_get_inq in __sys_recvfrom() and __copy_msghdr_from_user() - mptcp: - invoke MP_FAIL response only when needed - fix shutdown vs fallback race - consistent map handling on failure - octeon_ep: use bitwise AND Previous releases - regressions: - tipc: move bc link creation back to tipc_node_create, fix NPD Previous releases - always broken: - tcp: add a missing nf_reset_ct() in 3WHS handling to prevent socket buffered skbs from keeping refcount on the conntrack module - ipv6: take care of disable_policy when restoring routes - tun: make sure to always disable and unlink NAPI instances - phy: don't trigger state machine while in suspend - netfilter: nf_tables: avoid skb access on nf_stolen - asix: fix "can't send until first packet is send" issue - usb: asix: do not force pause frames support - nxp-nci: don't issue a zero length i2c_master_read() Misc: - ncsi: allow use of proper "mellanox" DT vendor prefix - act_api: add a message for user space if any actions were already flushed before the error was hit" * tag 'net-5.19-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (55 commits) net: dsa: felix: fix race between reading PSFP stats and port stats selftest: tun: add test for NAPI dismantle net: tun: avoid disabling NAPI twice net: sparx5: mdb add/del handle non-sparx5 devices net: sfp: fix memory leak in sfp_probe() mlxsw: spectrum_router: Fix rollback in tunnel next hop init net: rose: fix UAF bugs caused by timer handler net: usb: ax88179_178a: Fix packet receiving net: bonding: fix use-after-free after 802.3ad slave unbind ipv6: fix lockdep splat in in6_dump_addrs() net: phy: ax88772a: fix lost pause advertisement configuration net: phy: Don't trigger state machine while in suspend usbnet: fix memory allocation in helpers selftests net: fix kselftest net fatal error NFC: nxp-nci: don't print header length mismatch on i2c error NFC: nxp-nci: Don't issue a zero length i2c_master_read() net: tipc: fix possible refcount leak in tipc_sk_create() nfc: nfcmrvl: Fix irq_of_parse_and_map() return value net: ipv6: unexport __init-annotated seg6_hmac_net_init() ipv6/sit: fix ipip6_tunnel_get_prl return value ...
Showing the changes to include (4 of 58 files). Show all
Unified · Split
| @@ -1671,7 +1671,7 @@ enum netdev_priv_flags { · 1670 unmodified lines | ||
| 1671 | 1671 | IFF_FAILOVER_SLAVE = 1<<28, |
| 1672 | 1672 | IFF_L3MDEV_RX_HANDLER = 1<<29, |
| 1673 | 1673 | IFF_LIVE_RENAME_OK = 1<<30, |
| 1674 | − IFF_TX_SKB_NO_LINEAR = 1<<31, | |
| 1674 | + IFF_TX_SKB_NO_LINEAR = BIT_ULL(31), | |
| 1675 | 1675 | IFF_CHANGE_PROTO_DOWN = BIT_ULL(32), |
| 1676 | 1676 | }; |
| 1677 | 1677 | |
| @@ -572,6 +572,10 @@ struct macsec_ops; · 571 unmodified lines | ||
| 572 | 572 | * @mdix_ctrl: User setting of crossover |
| 573 | 573 | * @pma_extable: Cached value of PMA/PMD Extended Abilities Register |
| 574 | 574 | * @interrupts: Flag interrupts have been enabled |
| 575 | + * @irq_suspended: Flag indicating PHY is suspended and therefore interrupt | |
| 576 | + * handling shall be postponed until PHY has resumed | |
| 577 | + * @irq_rerun: Flag indicating interrupts occurred while PHY was suspended, | |
| 578 | + * requiring a rerun of the interrupt handler after resume | |
| 575 | 579 | * @interface: enum phy_interface_t value |
| 576 | 580 | * @skb: Netlink message for cable diagnostics |
| 577 | 581 | * @nest: Netlink nest used for cable diagnostics |
| @@ -626,6 +630,8 @@ struct phy_device { · 48 unmodified lines | ||
| 626 | 630 | |
| 627 | 631 | /* Interrupts are enabled */ |
| 628 | 632 | unsigned interrupts:1; |
| 633 | + unsigned irq_suspended:1; | |
| 634 | + unsigned irq_rerun:1; | |
| 629 | 635 | |
| 630 | 636 | enum phy_state state; |
| 631 | 637 | |
| @@ -1338,24 +1338,28 @@ void nft_unregister_flowtable_type(struct nf_flowtable_type *type); · 1337 unmodified lines | ||
| 1338 | 1338 | /** |
| 1339 | 1339 | * struct nft_traceinfo - nft tracing information and state |
| 1340 | 1340 | * |
| 1341 | + * @trace: other struct members are initialised | |
| 1342 | + * @nf_trace: copy of skb->nf_trace before rule evaluation | |
| 1343 | + * @type: event type (enum nft_trace_types) | |
| 1344 | + * @skbid: hash of skb to be used as trace id | |
| 1345 | + * @packet_dumped: packet headers sent in a previous traceinfo message | |
| 1341 | 1346 | * @pkt: pktinfo currently processed |
| 1342 | 1347 | * @basechain: base chain currently processed |
| 1343 | 1348 | * @chain: chain currently processed |
| 1344 | 1349 | * @rule: rule that was evaluated |
| 1345 | 1350 | * @verdict: verdict given by rule |
| 1346 | − * @type: event type (enum nft_trace_types) | |
| 1347 | − * @packet_dumped: packet headers sent in a previous traceinfo message | |
| 1348 | − * @trace: other struct members are initialised | |
| 1349 | 1351 | */ |
| 1350 | 1352 | struct nft_traceinfo { |
| 1353 | + bool trace; | |
| 1354 | + bool nf_trace; | |
| 1355 | + bool packet_dumped; | |
| 1356 | + enum nft_trace_types type:8; | |
| 1357 | + u32 skbid; | |
| 1351 | 1358 | const struct nft_pktinfo *pkt; |
| 1352 | 1359 | const struct nft_base_chain *basechain; |
| 1353 | 1360 | const struct nft_chain *chain; |
| 1354 | 1361 | const struct nft_rule_dp *rule; |
| 1355 | 1362 | const struct nft_verdict *verdict; |
| 1356 | − enum nft_trace_types type; | |
| 1357 | − bool packet_dumped; | |
| 1358 | − bool trace; | |
| 1359 | 1363 | }; |
| 1360 | 1364 | |
| 1361 | 1365 | void nft_trace_init(struct nft_traceinfo *info, const struct nft_pktinfo *pkt, |
| @@ -2,16 +2,17 @@ · 1 unmodified line | ||
| 2 | 2 | #ifndef _UAPI_MPTCP_H |
| 3 | 3 | #define _UAPI_MPTCP_H |
| 4 | 4 | |
| 5 | +#ifndef __KERNEL__ | |
| 6 | +#include <netinet/in.h> /* for sockaddr_in and sockaddr_in6 */ | |
| 7 | +#include <sys/socket.h> /* for struct sockaddr */ | |
| 8 | +#endif | |
| 9 | + | |
| 5 | 10 | #include <linux/const.h> |
| 6 | 11 | #include <linux/types.h> |
| 7 | 12 | #include <linux/in.h> /* for sockaddr_in */ |
| 8 | 13 | #include <linux/in6.h> /* for sockaddr_in6 */ |
| 9 | 14 | #include <linux/socket.h> /* for sockaddr_storage and sa_family */ |
| 10 | 15 | |
| 11 | −#ifndef __KERNEL__ | |
| 12 | −#include <sys/socket.h> /* for struct sockaddr */ | |
| 13 | −#endif | |
| 14 | − | |
| 15 | 16 | #define MPTCP_SUBFLOW_FLAG_MCAP_REM _BITUL(0) |
| 16 | 17 | #define MPTCP_SUBFLOW_FLAG_MCAP_LOC _BITUL(1) |
| 17 | 18 | #define MPTCP_SUBFLOW_FLAG_JOIN_REM _BITUL(2) |