From: "Luis R. Rodriguez" <mcgrof@kernel.org>
To: Waiman Long <longman@redhat.com>
Cc: "Luis R. Rodriguez" <mcgrof@kernel.org>,
Kees Cook <keescook@chromium.org>,
linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
Al Viro <viro@zeniv.linux.org.uk>,
Matthew Wilcox <willy@infradead.org>
Subject: Re: [PATCH v3 4/6] sysctl: Warn when a clamped sysctl parameter is set out of range
Date: Thu, 8 Mar 2018 20:49:06 +0000 [thread overview]
Message-ID: <20180308204906.GM4449@wotan.suse.de> (raw)
In-Reply-To: <deaeacc7-96a3-1c93-8565-cdce5ece6876@redhat.com>
On Thu, Mar 08, 2018 at 02:57:09PM -0500, Waiman Long wrote:
> On 03/08/2018 01:31 PM, Luis R. Rodriguez wrote:
> > On Thu, Mar 01, 2018 at 12:43:38PM -0500, Waiman Long wrote:
> >> Even with clamped sysctl parameters, it is still not that straight
> >> forward to figure out the exact range of those parameters. One may
> >> try to write extreme parameter values to see if they get clamped.
> >> To make it easier, a warning with the expected range will now be
> >> printed in the kernel ring buffer when a clamped sysctl parameter
> >> receives an out of range value.
> >>
> >> Signed-off-by: Waiman Long <longman@redhat.com>
> >> ---
> >> include/linux/sysctl.h | 3 +++
> >> kernel/sysctl.c | 52 ++++++++++++++++++++++++++++++++++++++++++--------
> >> 2 files changed, 47 insertions(+), 8 deletions(-)
> >>
> >> diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h
> >> index 448aa72..3db57af 100644
> >> --- a/include/linux/sysctl.h
> >> +++ b/include/linux/sysctl.h
> >> @@ -130,11 +130,14 @@ struct ctl_table
> >> * @CTL_FLAGS_CLAMP_RANGE: Set to indicate that the entry should be
> >> * flexibly clamped to min/max range in case the user provided
> >> * an incorrect value.
> >> + * @CTL_FLAGS_OOR_WARNED: Set to indicate that an out of range warning
> >> + * had been issued for that entry.
> >> *
> >> * At most 16 different flags will be allowed.
> >> */
> >> enum ctl_table_flags {
> >> CTL_FLAGS_CLAMP_RANGE = BIT(0),
> >> + CTL_FLAGS_OOR_WARNED = BIT(1),
> >> };
> > Ugh, no. Now I see why you had to set this flag later.
> >
> > You are not using this flag to "warn" but rather for an internal
> > status checker if you have warned or not. Internal flags should
> > not be something the user sets. If we want a flag for warning
> > that's one thing. If we need a flag to keep tabs if we have
> > warned or not that needs to be kept separately and internally,
> > nothing the user has to do set or reset.
> >
> > Luis
>
> What I want to do is a printk_once for each sysctl parameter. So the
> flag is used as a marker that a warning has been printed.
>
> I do understand that it gets somewhat ugly in the case of msgmni and
> shmmni because of the copying back of the flag. Another alternative that
> had been suggested by Kees is to use prink_ratelimited. That we don't
> need that flag at all.
However it is done, a user flag should not be used also for internal
flag settings. That's just gross. Internal state machine stuff should
remain far from what the user is able to modify.
Also, why can't it just use pr_warn_once() and be done with it?
Luis
next prev parent reply other threads:[~2018-03-08 20:49 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-01 17:43 [PATCH v3 0/6] ipc: Clamp *mni to the real IPCMNI limit Waiman Long
2018-03-01 17:43 ` [PATCH v3 1/6] proc/sysctl: Fix typo in sysctl_check_table_array() Waiman Long
2018-03-08 17:51 ` Luis R. Rodriguez
2018-03-01 17:43 ` [PATCH v3 2/6] sysctl: Add kdoc comments to do_proc_do{u}intvec_minmax_conv_param Waiman Long
2018-03-08 17:52 ` Luis R. Rodriguez
2018-03-01 17:43 ` [PATCH v3 3/6] sysctl: Add flags to support min/max range clamping Waiman Long
2018-03-01 21:31 ` Andrew Morton
2018-03-01 21:54 ` Waiman Long
2018-03-08 17:51 ` Luis R. Rodriguez
2018-03-08 17:57 ` Luis R. Rodriguez
2018-03-08 19:35 ` Waiman Long
2018-03-08 20:45 ` Luis R. Rodriguez
2018-03-08 21:41 ` Waiman Long
2018-03-08 19:30 ` Waiman Long
2018-03-01 17:43 ` [PATCH v3 4/6] sysctl: Warn when a clamped sysctl parameter is set out of range Waiman Long
2018-03-01 21:38 ` Andrew Morton
2018-03-01 22:22 ` Waiman Long
2018-03-08 18:11 ` Luis R. Rodriguez
2018-03-08 19:37 ` Waiman Long
2018-03-08 18:31 ` Luis R. Rodriguez
2018-03-08 19:57 ` Waiman Long
2018-03-08 20:49 ` Luis R. Rodriguez [this message]
2018-03-08 21:40 ` Waiman Long
2018-03-08 22:06 ` Luis R. Rodriguez
2018-03-01 17:43 ` [PATCH v3 5/6] ipc: Clamp msgmni and shmmni to the real IPCMNI limit Waiman Long
2018-03-08 18:14 ` Luis R. Rodriguez
2018-03-01 17:43 ` [PATCH v3 6/6] ipc: Clamp semmni " Waiman Long
2018-03-08 18:15 ` Luis R. Rodriguez
2018-03-08 20:02 ` Waiman Long
2018-03-08 18:23 ` [PATCH v3 0/6] ipc: Clamp *mni " Luis R. Rodriguez
2018-03-08 18:38 ` Luis R. Rodriguez
2018-03-08 19:22 ` Waiman Long
2018-03-08 19:02 ` Waiman Long
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=20180308204906.GM4449@wotan.suse.de \
--to=mcgrof@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=keescook@chromium.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=longman@redhat.com \
--cc=viro@zeniv.linux.org.uk \
--cc=willy@infradead.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).