mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
Merge tag 'ASB-2024-07-05_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina
https://source.android.com/docs/security/bulletin/2024-07-01 CVE-2024-26923 * tag 'ASB-2024-07-05_11-5.4' of https://android.googlesource.com/kernel/common: (193 commits) ANDROID: fix kernelci build breaks due to hid/uhid cyclic dependency UPSTREAM: af_unix: Fix garbage collector racing against connect() ANDROID: 16K: Only check basename of linker context UPSTREAM: af_unix: Do not use atomic ops for unix_sk(sk)->inflight. Linux 5.4.276 pinctrl: mediatek: paris: Fix PIN_CONFIG_INPUT_SCHMITT_ENABLE readback pinctrl: mediatek: remove set but not used variable 'e' pinctrl: mediatek: Fix some off by one bugs pinctrl: mediatek: Fix fallback behavior for bias_set_combo regulator: core: fix debugfs creation regression net: fix out-of-bounds access in ops_init drm/vmwgfx: Fix invalid reads in fence signaled events dyndbg: fix old BUG_ON in >control parser tipc: fix UAF in error path usb: gadget: f_fs: Fix a race condition when processing setup packets. usb: gadget: composite: fix OS descriptors w_value logic firewire: nosy: ensure user_length is taken into account when fetching packet contents net: qede: use return from qede_parse_flow_attr() for flower net: qede: sanitize 'rc' in qede_add_tc_flower_fltr() ipv6: fib6_rules: avoid possible NULL dereference in fib6_rule_action() ... Conflicts: net/unix/garbage.c Change-Id: I9d928b110c82362cd82e7e9cc3bb19c664cdd53d
This commit is contained in:
commit
58d1d8f5ba
164 changed files with 1499 additions and 667 deletions
|
|
@ -245,6 +245,7 @@ static void maybe_deliver_addr(struct net_bridge_port *p, struct sk_buff *skb,
|
|||
{
|
||||
struct net_device *dev = BR_INPUT_SKB_CB(skb)->brdev;
|
||||
const unsigned char *src = eth_hdr(skb)->h_source;
|
||||
struct sk_buff *nskb;
|
||||
|
||||
if (!should_deliver(p, skb))
|
||||
return;
|
||||
|
|
@ -253,12 +254,16 @@ static void maybe_deliver_addr(struct net_bridge_port *p, struct sk_buff *skb,
|
|||
if (skb->dev == p->dev && ether_addr_equal(src, addr))
|
||||
return;
|
||||
|
||||
skb = skb_copy(skb, GFP_ATOMIC);
|
||||
if (!skb) {
|
||||
__skb_push(skb, ETH_HLEN);
|
||||
nskb = pskb_copy(skb, GFP_ATOMIC);
|
||||
__skb_pull(skb, ETH_HLEN);
|
||||
if (!nskb) {
|
||||
dev->stats.tx_dropped++;
|
||||
return;
|
||||
}
|
||||
|
||||
skb = nskb;
|
||||
__skb_pull(skb, ETH_HLEN);
|
||||
if (!is_broadcast_ether_addr(addr))
|
||||
memcpy(eth_hdr(skb)->h_dest, addr, ETH_ALEN);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue