tree ea0ed60995f792eca8a8929fd23502089fe5d816
parent 4436bb1ad4ceaa866169390524386dcab209d9cb
author Linus Torvalds <torvalds@linux-foundation.org> 1460658120 -0700
committer Maarten Derks <maarten@fairphone.com> 1555404684 +0200

Make file credentials available to the seqfile interfaces

commit 34dbbcdbf63360661ff7bda6c5f52f99ac515f92 upstream.

A lot of seqfile users seem to be using things like %pK that uses the
credentials of the current process, but that is actually completely
wrong for filesystem interfaces.

The unix semantics for permission checking files is to check permissions
at _open_ time, not at read or write time, and that is not just a small
detail: passing off stdin/stdout/stderr to a suid application and making
the actual IO happen in privileged context is a classic exploit
technique.

So if we want to be able to look at permissions at read time, we need to
use the file open credentials, not the current ones.  Normal file
accesses can just use "f_cred" (or any of the helper functions that do
that, like file_ns_capable()), but the seqfile interfaces do not have
any such options.

It turns out that seq_file _does_ save away the user_ns information of
the file, though.  Since user_ns is just part of the full credential
information, replace that special case with saving off the cred pointer
instead, and suddenly seq_file has all the permission information it
needs.

Issue: SEC-1716
Bug: 117422211
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Jann Horn <jannh@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Change-Id: I7a8b7463ceb4ba4408f9dd2bd625de2638aad2ba
(cherry picked from commit b5fe5504464e5e5fc25c175cf2bfbab54f70a01d)
