[maemo-developers] Custom kernel - WLAN problem (sk_buff, panic)

From: Dave Young hidave.darkstar at gmail.com
Date: Wed Aug 1 10:16:40 EEST 2007
>On 7/31/07, Nils Faerber <nils.faerber at kernelconcepts.de> wrote:
> Hello!
>
> I've been trying to add additional features to the N800's kernel which
> change the size (and contents) of the sk_buff struct
> (include/linux/skbuff.h). In short, I want to mark some network packages
> and add some information about them.
>
> The problem is that the sk_buff struct is shared by both the open and
> closed source part of the cx3110x WLAN driver. While I can recompile the
> open source part, I can't change the struct for the closed source part
> (umac.ko). When I try to access WLAN on my custom kernel it instantly
> crashes with a kernel panic.
>
> If you want to see the effect, just enable CONFIG_NETWORK_SECMARK in
> your kernel .config. This adds an __u32 secmark to the sk_buff struct,
> thus changes it and introduces the incompatibility. This may lead to a
> watchdog reset loop, so please don't try this without knowing how to
> restore your original kernel.
>
> If anybody has an idea how to fix this, please let me know. If someone
> with access to the full source of the WLAN driver could recompile the
> real umac.ko for me, I'd send him/her the modified skbuff.h.
>
> Any hint is very much appreciated...
> Thanks a lot!
>
In my pc the size of tcp_skb_cb is 36, so the sk_buff->cb remains 4
bytes, you can print the sizeof(struct tcp_skb_cb) on arm. If possible
you can use the remain last  bytes,  but it's dirty way.

More information about the maemo-developers mailing list