[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <m1r5tzq1gf.fsf@fess.ebiederm.org>
Date: Mon, 21 Sep 2009 17:15:28 -0700
From: ebiederm@...ssion.com (Eric W. Biederman)
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Jamie Lokier <jamie@...reable.org>,
Evgeniy Polyakov <zbr@...emap.net>,
Eric Paris <eparis@...hat.com>,
David Miller <davem@...emloft.net>,
linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org,
netdev@...r.kernel.org, viro@...iv.linux.org.uk,
alan@...ux.intel.com, hch@...radead.org
Subject: Re: fanotify as syscalls
Linus Torvalds <torvalds@...ux-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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists