qeth: discard inbound packets with unknown header id
Debugging statements are added for inbound packets with unknown header id. Those packets are discarded and no longer processed as osn-packets. Signed-off-by: Ursula Braun <braunu@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
committed by
David S. Miller
parent
59579da329
commit
28692ec45e
@@ -2702,10 +2702,15 @@ qeth_process_inbound_buffer(struct qeth_card *card,
|
|||||||
qeth_layer2_rebuild_skb(card, skb, hdr);
|
qeth_layer2_rebuild_skb(card, skb, hdr);
|
||||||
else if (hdr->hdr.l3.id == QETH_HEADER_TYPE_LAYER3)
|
else if (hdr->hdr.l3.id == QETH_HEADER_TYPE_LAYER3)
|
||||||
vlan_tag = qeth_rebuild_skb(card, skb, hdr);
|
vlan_tag = qeth_rebuild_skb(card, skb, hdr);
|
||||||
else { /*in case of OSN*/
|
else if (hdr->hdr.osn.id == QETH_HEADER_TYPE_OSN) {
|
||||||
skb_push(skb, sizeof(struct qeth_hdr));
|
skb_push(skb, sizeof(struct qeth_hdr));
|
||||||
skb_copy_to_linear_data(skb, hdr,
|
skb_copy_to_linear_data(skb, hdr,
|
||||||
sizeof(struct qeth_hdr));
|
sizeof(struct qeth_hdr));
|
||||||
|
} else { /* unknown header type */
|
||||||
|
dev_kfree_skb_any(skb);
|
||||||
|
QETH_DBF_TEXT(trace, 3, "inbunkno");
|
||||||
|
QETH_DBF_HEX(control, 3, hdr, QETH_DBF_CONTROL_LEN);
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
/* is device UP ? */
|
/* is device UP ? */
|
||||||
if (!(card->dev->flags & IFF_UP)){
|
if (!(card->dev->flags & IFF_UP)){
|
||||||
|
Reference in New Issue
Block a user