Thread (23 messages) 23 messages, 6 authors, 2020-09-30

Re: Commit 13c164b1a186 - regression for LSMs/SELinux?

From: Ian Kent <raven@themaw.net>
Date: 2020-09-27 03:07:56
Also in: autofs, selinux

On Fri, 2020-09-25 at 10:38 -0700, Linus Torvalds wrote:
On Fri, Sep 25, 2020 at 6:38 AM Ondrej Mosnacek [off-list ref]
wrote:
quoted
On Thu, Sep 24, 2020 at 4:16 PM Stephen Smalley
[off-list ref] wrote:
quoted
Up-thread I thought Linus indicated he didn't really want a flag
to
disable pemission checking due to potential abuse (and I agree).
IIUC he was against adding an FMODE flag, while I was rather
suggesting a new function parameter (I realize it probably wasn't
clear from what I wrote).
I really would prefer neither.

Any kind of dynamic behavior that depends on a flag is generally
worse
than something that can be statically seen.

Now, if the flag is _purely_ a constant argument in every single
user,
and there's no complex flow through multiple different layers, an
argument flag is certainly fairly close to just having two different
functions for two different behaviors.

But I don't really see much of an advantage to adding a new argument
to kernel_write() for this - because absolutely *nobody* should ever
use it apart from this very special autofs case.

So I'd rather just re-export the old __kernel_write() (or whatever it
was that broke autofs) that didn't do that particular check. We
already use it for splice and core dumping.

autofs isn't that different from those two, and I think the only real
difference is that autofs is a module. No?
It can be, yes, many distro builds compile it in.
So I think the fix is as simple as exporting __kernel_write() again -
and let's just make it a GPL-only export since we really don't want
anybody to use it - and revert  commit 13c164b1a186 ("autofs: switch
to kernel_write").
Yes, sorry I missed this initially.

There are a couple of other sanity checks in kern_write() but since
__kern_write() is meant to be for internal use that's not really
an issue IMHO. 

Ian
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help