From: ebiederm@xmission•com (Eric W. Biederman)
To: Arnd Bergmann <arnd@arndb•de>
Cc: netdev@vger•kernel.org, David Miller <davem@davemloft•net>,
Eric Dumazet <eric.dumazet@gmail•com>,
Patrick McHardy <kaber@trash•net>
Subject: Re: [PATCH] net: Add compat ioctl support for the ipv4 multicast ioctl SIOCGETSGCNT
Date: Sun, 30 Jan 2011 10:15:40 -0800 [thread overview]
Message-ID: <m18vy2tfzn.fsf@fess.ebiederm.org> (raw)
In-Reply-To: <201101301326.14390.arnd@arndb.de> (Arnd Bergmann's message of "Sun, 30 Jan 2011 13:26:14 +0100")
Arnd Bergmann <arnd@arndb•de> writes:
> On Sunday 30 January 2011 03:15:56 Eric W. Biederman wrote:
>> A trivial compact ioctl implementation would conflict with:
>> SIOCAX25ADDUID
>> SIOCAIPXPRISLT
>> SIOCGETSGCNT_IN6
>> SIOCGETSGCNT
>> SIOCRSSCAUSE
>> SIOCX25SSUBSCRIP
>> SIOCX25SDTEFACILITIES
>
> Since you have compiled the list, did you see if these are all handled
> compatible, or would it make sense to create patches for the other
> protocols as well, to handle them individually?
I didn't look. I had a specific pre-existing application that didn't
work, and those ioctls meant the existing solutions for network compat
ioctls wouldn't work and the infrastructure needed fixing.
>> +#ifdef CONFIG_COMPAT
>> +static int compat_raw_ioctl(struct sock *sk, unsigned int cmd, unsigned long arg)
>> +{
>> + switch (cmd) {
>> + case SIOCOUTQ:
>> + case SIOCINQ:
>> + return -ENOIOCTLCMD;
>
> I would have suggested doing
>
> return raw_ioctl(sk, cmd, (unsigned long)compat_ptr(arg));
>
> here, but returning -ENOIOCTLCMD is equivalent and correct. Your solution
> is slightly more compact, the other one would be slightly faster.
Correct and maintainable is fine by me.
Right now my network stack performance problems are almost all rtnl_lock
hold time problems.
Eric
next prev parent reply other threads:[~2011-01-30 18:15 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-30 2:15 [PATCH] net: Add compat ioctl support for the ipv4 multicast ioctl SIOCGETSGCNT Eric W. Biederman
2011-01-30 9:14 ` David Miller
2011-01-30 12:26 ` Arnd Bergmann
2011-01-30 18:15 ` Eric W. Biederman [this message]
2011-01-30 18:59 ` Arnd Bergmann
2011-02-04 1:19 ` David Miller
2011-02-04 2:07 ` Eric W. Biederman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m18vy2tfzn.fsf@fess.ebiederm.org \
--to=ebiederm@xmission$(echo .)com \
--cc=arnd@arndb$(echo .)de \
--cc=davem@davemloft$(echo .)net \
--cc=eric.dumazet@gmail$(echo .)com \
--cc=kaber@trash$(echo .)net \
--cc=netdev@vger$(echo .)kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox