Thread (6 messages) flat view 6 messages, 3 authors, 2003-08-18

Re: double-check me?

From: Jeff Garzik <hidden>
Date: 2003-08-17 22:31:02

Krzysztof Halasa wrote:
Jeff Garzik [off-list ref] writes:

quoted
Maybe you guys can spot something I'm missing here.  alloc_netdev is
supposed to guarantee that dev->priv is aligned by 32 bytes:

        struct net_device *dev;

        if (sizeof_priv)
                dev->priv = (void *) (((long)(dev + 1) + 31) & ~31);


Now... shouldn't that last line of code be "dev + 1 + sizeof(*dev)" ?

It seems to work 2.[456] for a long time, so I am doubting
myself... surely it would have caused memory corruption or something
by now if I have really found a bug.

Looks ok... not very readable, though.

dev + 1 = ((u8*)dev) + sizeof(dev) = pointer to end of net_device struct.

C pointer arithmatic.  Ok, duh, thanks :)

	Jeff, too used to void pointer arith
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help