From: Cong Wang <amwang@redhat.com>
To: Octavian Purdila <opurdila@ixiacom.com>
Cc: David Miller <davem@davemloft.net>,
Linux Kernel Network Developers <netdev@vger.kernel.org>,
Linux Kernel Developers <linux-kernel@vger.kernel.org>,
"Eric W. Biederman" <ebiederm@xmission.com>
Subject: Re: [net-next PATCH v4 1/3] sysctl: refactor integer handling proc code
Date: Thu, 18 Feb 2010 00:31:45 +0800 [thread overview]
Message-ID: <4B7C19F1.9090106@redhat.com> (raw)
In-Reply-To: <201002161600.54975.opurdila@ixiacom.com>
Octavian Purdila wrote:
> On Tuesday 16 February 2010 15:08:23 you wrote:
>> Octavian Purdila wrote:
>>> On Tuesday 16 February 2010 10:41:07 you wrote:
>>>>> +
>>>>> + if (!write && !first && left && !err)
>>>>> + err = proc_put_newline(&buffer, &left);
>>>>> + if (write && !err)
>>>>> + err = proc_skip_wspace(&buffer, &left);
>>>>> + if (err == -EFAULT /* do we really need to check for -EFAULT? */
>>>>> || + (write && first))
>>>>> + return err ? : -EINVAL;
>>>> The logic here seems messy, adding one or two goto's may help?
>>> OK, I'll give it a try.
>>>
>>> What about the EFAULT check, is that really required?
>> I think so, it means to keep the errno to user-space when it is EFAULT,
>> right? This seems reasonable.
>>
>
> The problem I see is that this way we don't actually acknowledge some of the
> set values, e.g. say that we have buffer="1 2 3" and length = 100. Although we
> do accept values 1, 2 and 3 we don't acknowledge that to the user (as we would
> do for, say "1 2 3 4a"), but return -EFAULT.
>
> I think it would be better to skip this check. That means that the user will
> get the ack for the 1, 2 and 3 values and next time it continues the write it
> will get -EFAULT.
>
> This will of course change the userspace ABI, albeit in a minor way, and it is
> not clear to me if doing this is allowed (even if this new approach would be
> the correct one).
>
I think the right behavior is accept "1 2 3" and return the number of
bytes that we accept.
next prev parent reply other threads:[~2010-02-17 16:28 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-15 22:00 [net-next PATCH v4 0/3] net: reserve ports for applications using fixed port Octavian Purdila
2010-02-15 22:00 ` [net-next PATCH v4 1/3] sysctl: refactor integer handling proc code Octavian Purdila
2010-02-16 8:41 ` Cong Wang
2010-02-16 10:48 ` Octavian Purdila
2010-02-16 13:08 ` Cong Wang
2010-02-16 14:00 ` Octavian Purdila
2010-02-17 16:31 ` Cong Wang [this message]
2010-02-17 21:09 ` Octavian Purdila
2010-02-18 3:58 ` Octavian Purdila
2010-02-16 11:41 ` Octavian Purdila
2010-02-16 13:09 ` Cong Wang
2010-02-16 13:44 ` Octavian Purdila
2010-02-17 16:21 ` Cong Wang
2010-02-17 16:33 ` Eric W. Biederman
2010-02-18 4:25 ` Octavian Purdila
2010-02-15 22:00 ` [net-next PATCH v4 2/3] sysctl: add proc_dobitmap Octavian Purdila
2010-02-16 9:12 ` Cong Wang
2010-02-15 22:00 ` [net-next PATCH v4 3/3] net: reserve ports for applications using fixed port numbers Octavian Purdila
2010-02-16 9:37 ` Cong Wang
2010-02-16 11:06 ` Octavian Purdila
2010-02-16 13:06 ` Cong Wang
2010-02-16 13:20 ` Eric Dumazet
2010-02-17 16:13 ` Cong Wang
2010-02-17 16:39 ` Eric Dumazet
2010-02-17 16:01 ` Octavian Purdila
2010-02-20 8:00 ` Cong Wang
2010-02-16 14:25 ` Octavian Purdila
2010-02-17 16:07 ` Cong Wang
2010-02-16 17:25 ` [net-next PATCH v4 0/3] net: reserve ports for applications using fixed port Eric W. Biederman
2010-02-16 18:04 ` Octavian Purdila
2010-02-16 18:49 ` Eric W. Biederman
2010-02-16 19:51 ` Octavian Purdila
2010-02-16 20:08 ` Eric W. Biederman
2010-02-16 21:22 ` Octavian Purdila
2010-02-17 15:57 ` Cong Wang
2010-02-17 16:10 ` Eric W. Biederman
2010-02-17 16:19 ` Cong Wang
2010-02-17 16:26 ` 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=4B7C19F1.9090106@redhat.com \
--to=amwang@redhat.com \
--cc=davem@davemloft.net \
--cc=ebiederm@xmission.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=opurdila@ixiacom.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.