linux-stable/net
Li RongQing a82fcda87f net: slightly optimize eth_type_trans
[ Upstream commit 45cf7959c3 ]

netperf udp stream shows that eth_type_trans takes certain cpu,
so adjust the mac address check order, and firstly check if it
is device address, and only check if it is multicast address
only if not the device address.

After this change:
To unicast, and skb dst mac is device mac, this is most of time
reduce a comparision
To unicast, and skb dst mac is not device mac, nothing change
To multicast, increase a comparision

Before:
1.03%  [kernel]          [k] eth_type_trans

After:
0.78%  [kernel]          [k] eth_type_trans

Signed-off-by: Zhang Yu <zhangyu31@baidu.com>
Signed-off-by: Li RongQing <lirongqing@baidu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stable-dep-of: 6e159fd653 ("ethernet: Add helper for assigning packet type when dest address does not match device address")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-05-17 11:42:37 +02:00
..
6lowpan
9p net: 9p: avoid freeing uninit memory in p9pdu_vreadf 2024-01-08 11:27:36 +01:00
802 mrp: introduce active flags to prevent UAF when applicant uninit 2023-01-18 11:30:36 +01:00
8021q vlan: skip nested type that is not IFLA_VLAN_QOS_MAPPING 2024-02-23 08:12:41 +01:00
appletalk appletalk: Fix Use-After-Free in atalk_ioctl 2023-12-20 15:38:01 +01:00
atm atm: Fix Use-After-Free in do_vcc_ioctl 2023-12-20 15:38:00 +01:00
ax25
batman-adv batman-adv: Avoid infinite loop trying to resize local TT 2024-05-02 16:17:08 +02:00
bluetooth Bluetooth: Fix type of len in {l2cap,sco}_sock_getsockopt_old() 2024-05-02 16:17:13 +02:00
bpf bpf, test_run: Fix alignment problem in bpf_prog_test_run_skb() 2022-11-25 17:40:29 +01:00
bpfilter
bridge net: bridge: use DEV_STATS_INC() 2023-10-10 21:44:57 +02:00
caif net: caif: Fix use-after-free in cfusbl_device_notify() 2023-03-17 08:31:44 +01:00
can can: bcm: Fix UAF in bcm_proc_show() 2023-08-11 11:45:24 +02:00
ceph libceph: use kernel_connect() 2023-10-25 11:16:51 +02:00
core mptcp: add sk_stop_timer_sync helper 2024-04-13 12:50:12 +02:00
dcb
dccp dccp/tcp: Call security_inet_conn_request() after setting IPv6 addresses. 2023-11-20 10:29:21 +01:00
decnet Remove DECnet support from kernel 2023-06-21 15:39:57 +02:00
dns_resolver
dsa
ethernet net: slightly optimize eth_type_trans 2024-05-17 11:42:37 +02:00
hsr hsr: Handle failures in module init 2024-03-26 18:22:42 -04:00
ieee802154 net: ieee802154: fix error return code in dgram_bind() 2022-11-03 23:52:30 +09:00
ife net: sched: ife: fix potential use-after-free 2024-01-08 11:27:34 +01:00
ipv4 udp: preserve the connected status if only UDP cmsg 2024-05-02 16:17:14 +02:00
ipv6 udp: preserve the connected status if only UDP cmsg 2024-05-02 16:17:14 +02:00
iucv net/iucv: fix the allocation size of iucv_path_table array 2024-03-26 18:22:33 -04:00
kcm net: kcm: fix incorrect parameter validation in the kcm_getsockopt) function 2024-03-26 18:22:36 -04:00
key net: af_key: fix sadb_x_filter validation 2023-08-30 16:31:48 +02:00
l2tp l2tp: fix incorrect parameter validation in the pppol2tp_getsockopt() function 2024-03-26 18:22:36 -04:00
l3mdev
lapb
llc llc: call sock_orphan() at release time 2024-02-23 08:12:52 +01:00
mac80211 wifi: mac80211: check/clear fast rx for non-4addr sta VLAN changes 2024-04-13 12:50:09 +02:00
mac802154 mac802154: fix missing INIT_LIST_HEAD in ieee802154_if_add() 2022-12-14 11:28:28 +01:00
mpls net: mpls: fix stale pointer if allocation fails during device rename 2023-02-22 12:47:21 +01:00
ncsi net/ncsi: Fix netlink major/minor version numbers 2024-01-25 14:33:33 -08:00
netfilter ipvs: Fix checksumming on GSO of SCTP packets 2024-05-02 16:17:12 +02:00
netlabel calipso: fix memory leak in netlbl_calipso_add_pass() 2024-01-25 14:33:32 -08:00
netlink netlink: Fix kernel-infoleak-after-free in __skb_datagram_iter 2024-03-06 14:35:22 +00:00
netrom netrom: Fix data-races around sysctl_net_busy_read 2024-03-15 10:48:16 -04:00
nfc nfc: nci: Fix uninit-value in nci_dev_up and nci_ntf_packet 2024-04-13 12:50:11 +02:00
nsh net: nsh: Use correct mac_offset to unwind gso skb in nsh_gso_segment() 2023-05-30 12:42:11 +01:00
openvswitch net: openvswitch: Fix Use-After-Free in ovs_ct_exit 2024-05-02 16:17:12 +02:00
packet packet: move from strlcpy with unused retval to strscpy 2024-03-01 13:06:11 +01:00
phonet
psample psample: Require 'CAP_NET_ADMIN' when joining "packets" group 2023-12-13 17:42:20 +01:00
qrtr
rds net/rds: fix possible cp null dereference 2024-04-13 12:50:12 +02:00
rfkill net: rfkill: gpio: set GPIO direction 2024-01-08 11:27:36 +01:00
rose net/rose: fix races in rose_kill_by_device() 2024-01-08 11:27:34 +01:00
rxrpc rxrpc: Fix response to PING RESPONSE ACKs to a dead call 2024-02-23 08:12:54 +01:00
sched net/sched: act_skbmod: prevent kernel-infoleak 2024-04-13 12:50:12 +02:00
sctp sctp: update hb timer immediately after users change hb_interval 2023-10-10 21:45:01 +02:00
smc net/smc: fix illegal rmb_desc access in SMC-D connection dump 2024-02-23 08:12:41 +01:00
strparser
sunrpc net: sunrpc: Fix an off by one in rpc_sockaddr2uaddr() 2024-03-26 18:22:42 -04:00
switchdev
tipc tipc: Check the bearer type before calling tipc_udp_nl_bearer_add() 2024-02-23 08:12:54 +01:00
tls net/tls: Fix race in TLS device down flow 2022-07-29 17:10:32 +02:00
unix af_unix: Annotate data-race of gc_in_progress in wait_for_unix_gc(). 2024-03-26 18:22:35 -04:00
vmw_vsock vsock/virtio: Fix unsigned integer wrap around in virtio_transport_has_space() 2023-12-20 15:38:01 +01:00
wimax
wireless wifi: nl80211: don't free NULL coalescing rule 2024-05-17 11:42:36 +02:00
x25 net/x25: fix incorrect parameter validation in the x25_getsockopt() function 2024-03-26 18:22:37 -04:00
xdp
xfrm xfrm: Avoid clang fortify warning in copy_to_user_tmpl() 2024-04-13 12:50:08 +02:00
compat.c
Kconfig Remove DECnet support from kernel 2023-06-21 15:39:57 +02:00
Makefile Remove DECnet support from kernel 2023-06-21 15:39:57 +02:00
socket.c net: Save and restore msg_namelen in sock_sendmsg 2024-01-15 18:23:42 +01:00
sysctl_net.c