Messages in this thread | | | From | (Eric W. Biederman) | Date | Mon, 21 Sep 2009 17:15:28 -0700 | Subject | Re: fanotify as syscalls |
| |
Linus Torvalds <torvalds@linux-foundation.org> writes:
> Quite frankly, I have _never_ever_ seen a good reason for talking to the > kernel with some idiotic packet interface. It's just a fancy way to do > ioctl's, and everybody knows that ioctl's are bad and evil. Why are fancy > packet interfaces suddenly much better?
For working with the networking stack there are a lot of advantages because netlink is the interface to everything in the network stack.
There are nice things like the packet to create a new interface is the same packet the kernel sends everyone to report a new interface etc.
netlink also seems to get the structured data thing right. You can parse the packet even if you don't understand everything. Each tag is well defined like a syscall, taking exactly one kind of argument. Which avoids the worst failure of ioctl in that you can't even parse everything, and the argument may be a linked list in the calling process or something else atrocious.
All of that said syscalls are good, and I would not recommend netlink to anything not in the network stack.
Eric
| |