IOCTLs versus netlink

Greg Freemyer greg.freemyer at
Sun Sep 1 09:16:30 EDT 2013

Kevin Wilson <wkevils at> wrote:
>Can someone please explain why are netlink sockets a better
>communication method between kernel space and userspace ?

It's been a long time since I thought about it but I think the primary issue is the abi ends up not being architecture independent unless you are very careful.

A structure definition in source code does not map one-to-one with a memory layout.  It varies based on the architecture and the compiler options.

Specifically because compilers insert dead space between structure members to force proper word alignment, resolving the issue of a common abi that allows 32bit userspace to have the exact same structure layout as a 64bit kernel is problematic.

It can be done, but I believe it was the source of a lot if bugs, so the community decided to simply discourage there use.

(The main discussion about this was a long time ago,  I hope I am remembering right.)

Sent from my Android phone with K-9 Mail. Please excuse my brevity.

More information about the Kernelnewbies mailing list