Skip to content

Commit 5f4a86f

Browse files
committed
Merge: hsr: stable backports from upstream
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/6926 JIRA: https://issues.redhat.com/browse/RHEL-84580 Backporting safe fixes for the hsr subsystem from upstream. Signed-off-by: Felix Maurer <fmaurer@redhat.com> Approved-by: Hangbin Liu <haliu@redhat.com> Approved-by: Guillaume Nault <gnault@redhat.com> Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com> Merged-by: Augusto Caringi <acaringi@redhat.com>
2 parents 9f0748b + e26c569 commit 5f4a86f

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

net/hsr/hsr_device.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -260,15 +260,15 @@ static struct sk_buff *hsr_init_skb(struct hsr_port *master)
260260
skb->dev = master->dev;
261261
skb->priority = TC_PRIO_CONTROL;
262262

263+
skb_reset_network_header(skb);
264+
skb_reset_transport_header(skb);
263265
if (dev_hard_header(skb, skb->dev, ETH_P_PRP,
264266
hsr->sup_multicast_addr,
265267
skb->dev->dev_addr, skb->len) <= 0)
266268
goto out;
267269

268270
skb_reset_mac_header(skb);
269271
skb_reset_mac_len(skb);
270-
skb_reset_network_header(skb);
271-
skb_reset_transport_header(skb);
272272

273273
return skb;
274274
out:

net/hsr/hsr_forward.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -588,7 +588,12 @@ static int fill_frame_info(struct hsr_frame_info *frame,
588588
frame->is_vlan = true;
589589

590590
if (frame->is_vlan) {
591-
vlan_hdr = (struct hsr_vlan_ethhdr *)ethhdr;
591+
/* Note: skb->mac_len might be wrong here. */
592+
if (!pskb_may_pull(skb,
593+
skb_mac_offset(skb) +
594+
offsetofend(struct hsr_vlan_ethhdr, vlanhdr)))
595+
return -EINVAL;
596+
vlan_hdr = (struct hsr_vlan_ethhdr *)skb_mac_header(skb);
592597
proto = vlan_hdr->vlanhdr.h_vlan_encapsulated_proto;
593598
/* FIXME: */
594599
netdev_warn_once(skb->dev, "VLAN not yet supported");

0 commit comments

Comments
 (0)