From: Ryan Mallon <rmallon@gmail.com>
To: Joe Perches <joe@perches.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Dan Rosenberg <dan.j.rosenberg@gmail.com>,
Rob Landley <rob@landley.net>,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] vsprintf/sysctl: Bugfix, neaten and document %pK usages
Date: Fri, 11 Oct 2013 16:49:20 +1100 [thread overview]
Message-ID: <52579160.1090800@gmail.com> (raw)
In-Reply-To: <1381469910.14017.45.camel@joe-AO722>
On 11/10/13 16:38, Joe Perches wrote:
> On Fri, 2013-10-11 at 16:31 +1100, Ryan Mallon wrote:
>> On 11/10/13 16:25, Joe Perches wrote:
>>> Printing kernel pointers via %pK has a minor defect when
>>> kptr_restrict is set to 2: the pointer may be emitted
>>> as "pK-error" instead of all 0's when in an interrupt.
>>
>> NAK. This is not a defect, as I explained earlier. It is really a defect
>> that it _doesn't_ print 'pK-error' in all cases. 'pK-error' is for
>> finding kernel bugs.
>
> Not my understanding.
>
> There is no bug to find when emitting a pointer via %pK.
Yes there is. %pK is not valid from interrupt context, because the
current way it is checked is by checking CAP_SYSLOG. It is irrelevant
that this check is only done when kptr_restrict=1, using %pK from
interrupt handlers is still wrong. We want to notify developers of any
wrong cases.
>
> The only issue is that has_capability_noaudit can not
> be called from an interrupt.
Right. So any code that uses %pK from interrupt context would be, by
definition, broken. That is what the check is looking for.
It doesn't matter what the value of kptr_restrict happens to be, the
code is still broken. So, with your patch, values 0 and 2 of
kptr_restrict will print a seemingly correct value, but when
kptr_restrict is 1 then it will print 'pK-error'.
That is confusing to users: file prints correct pointer values when
kptr_restrict=0; file prints 'pK-error' when kptr_restrict=1, even
though I am root. Also, because the default is now kptr_restrict=0, less
people will see the 'pK-error' value, so buggy code may go over-looked.
It should print 'pK-error' in all cases, so that any bugs where %pK is
being used from interrupt content are identified regardless of the
setting of kptr_restrict.
Anyway, with the approach that Eric and George suggested, this would
become a non-issue. So probably just best to leave the code as is.
~Ryan
next prev parent reply other threads:[~2013-10-11 5:49 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-11 5:25 [PATCH 1/2] vsprintf/sysctl: Bugfix, neaten and document %pK usages Joe Perches
2013-10-11 5:25 ` [PATCH 2/2] vsprintf: Just some neatening Joe Perches
2013-10-11 5:31 ` [PATCH 1/2] vsprintf/sysctl: Bugfix, neaten and document %pK usages Ryan Mallon
2013-10-11 5:38 ` Joe Perches
2013-10-11 5:49 ` Ryan Mallon [this message]
2013-10-11 5:58 ` Joe Perches
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=52579160.1090800@gmail.com \
--to=rmallon@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=dan.j.rosenberg@gmail.com \
--cc=joe@perches.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rob@landley.net \
/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.