Re: [PATCH v2] Re: WAN: new PPP code for generic HDLC

From: Krzysztof Halasa
Date: Thu Apr 24 2008 - 09:12:28 EST


David Miller <davem@xxxxxxxxxxxxx> writes:

> The core kernel code sets dev->priv to the alloc_netdev() allocated
> memory region.
>
> It doesn't do that just for fun.
>
> Any code which overrides that setting is asking for trouble.
> What if the code kernel code that set it, needed to use it
> during device release for some reason?

You are right, the point is Linux is a moving target, and I try to
write code as good as I can in given circumstances but never better.
I accept occasional breakage in obscure cases like syncppp+hdlc,
but I also need a way to fix it and/or remove the obscureness (or
whatever the right word is).

Historically we always have had two pointers:
- dev->priv
- first we had struct (net_)device *dev and by embedding it in larger
structure we were able to have another private data area (even with
Space.c)
- then netdev_alloc() and netdev_priv() came
- since 2.6.23 netdev_priv() returns dev->priv - one pointer is gone.

Anyway, I guess we should rather concentrate on what to do now with
the thing. Perhaps you have some idea?
--
Krzysztof Halasa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/