From mboxrd@z Thu Jan 1 00:00:00 1970 From: ebiederm@xmission.com (Eric W. Biederman) Subject: Re: fanotify as syscalls Date: Mon, 21 Sep 2009 17:15:28 -0700 Message-ID: References: <1252703626.2305.50.camel@dhcp231-106.rdu.redhat.com> <20090911212731.GA19901@shareable.org> <1252705902.2305.83.camel@dhcp231-106.rdu.redhat.com> <20090912094110.GB24709@ioremap.net> <20090914001759.GB30621@shareable.org> <20090914140720.GA8564@ioremap.net> <1252955295.2246.35.camel@dhcp231-106.rdu.redhat.com> <20090915201620.GB32192@ioremap.net> <1253051699.5213.18.camel@dhcp231-106.rdu.redhat.com> <20090916120523.GA12830@ioremap.net> <20090916122723.GE29359@shareable.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Jamie Lokier , Evgeniy Polyakov , Eric Paris , David Miller , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, netdev@vger.kernel.org, viro@zeniv.linux.org.uk, alan@linux.intel.com, hch@infradead.org To: Linus Torvalds Return-path: In-Reply-To: (Linus Torvalds's message of "Thu\, 17 Sep 2009 09\:40\:16 -0700 \(PDT\)") Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org Linus Torvalds 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