Re: [PATCH] NET: fix kernel panic from no dev->hard_header_len space

Krzysztof Halasa
2006-08-01T01:04:31Z

David Miller <davem@davemloft.net> writes:

> Krzysztof, which device driver exactly creates this problem
> in the first place?

I have a report (not sure but I think it's that) with hdlc_fr (Frame
Relay).

Grepping through the tree there might be problems with:
- net/8021q/vlan.c (probably not with normal Ethernet, but there is
a code path which could potentially be a problem with
NETIF_F_HW_VLAN_TX)
- net/atm/clip.c
- net/appletalk/*
- drivers/net/gianfar.c
- drivers/net/wan/lapbether.c
- drivers/s390/net/netiucv.c will not oops but merely drop the packet
and print a warning.

and possibly others, I haven't checked the whole tree.
Some (not all) of them might be false positives, though.

Fortunately most of the time skb comes with preallocated header space
(that common skb_reserve(2) I think) and thus the reports aren't
frequent (personally I have never seen that).

> If you have headers to prepend for your device, why do you set the
> header building function to NULL? :-)

hdlc_fr: logical PVC devices have no headers (plain IPv4 etc. as seen
by tcpdump), but they append FR headers (4 or 10 bytes long) just
before passing the skb to physical device.
--
Krzysztof Halasa