[01/10] LSM: SafeSetID: fix pr_warn() to include newline
diff mbox series

Message ID 20190410165434.206579-1-mortonm@chromium.org
State New
Headers show
Series
  • [01/10] LSM: SafeSetID: fix pr_warn() to include newline
Related show

Commit Message

Micah Morton April 10, 2019, 4:54 p.m. UTC
From: Jann Horn <jannh@google.com>

Fix the pr_warn() calls in the SafeSetID LSM to have newlines at the end.
Without this, denial messages will be buffered as incomplete lines in
log_output(), and will then only show up once something else prints into
dmesg.

Signed-off-by: Jann Horn <jannh@google.com>
Signed-off-by: Micah Morton <mortonm@chromium.org>
---
 security/safesetid/lsm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Kees Cook April 10, 2019, 5:09 p.m. UTC | #1
On Wed, Apr 10, 2019 at 9:54 AM Micah Morton <mortonm@chromium.org> wrote:
>
> From: Jann Horn <jannh@google.com>
>
> Fix the pr_warn() calls in the SafeSetID LSM to have newlines at the end.
> Without this, denial messages will be buffered as incomplete lines in
> log_output(), and will then only show up once something else prints into
> dmesg.
>
> Signed-off-by: Jann Horn <jannh@google.com>
> Signed-off-by: Micah Morton <mortonm@chromium.org>

Reviewed-by: Kees Cook <keescook@chromium.org>

-Kees

> ---
>  security/safesetid/lsm.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/security/safesetid/lsm.c b/security/safesetid/lsm.c
> index cecd38e2ac80..2daecab3a4c0 100644
> --- a/security/safesetid/lsm.c
> +++ b/security/safesetid/lsm.c
> @@ -91,7 +91,7 @@ static int safesetid_security_capable(const struct cred *cred,
>                          * to functionality other than calling set*uid() (e.g.
>                          * allowing user to set up userns uid mappings).
>                          */
> -                       pr_warn("Operation requires CAP_SETUID, which is not available to UID %u for operations besides approved set*uid transitions",
> +                       pr_warn("Operation requires CAP_SETUID, which is not available to UID %u for operations besides approved set*uid transitions\n",
>                                 __kuid_val(cred->uid));
>                         return -1;
>                 }
> @@ -103,7 +103,7 @@ static int check_uid_transition(kuid_t parent, kuid_t child)
>  {
>         if (check_setuid_policy_hashtable_key_value(parent, child))
>                 return 0;
> -       pr_warn("UID transition (%d -> %d) blocked",
> +       pr_warn("UID transition (%d -> %d) blocked\n",
>                 __kuid_val(parent),
>                 __kuid_val(child));
>         /*
> --
> 2.21.0.392.gf8f6787159e-goog
>
Micah Morton May 6, 2019, 3:53 p.m. UTC | #2
These 10 patches got buried, but Jann, Kees and myself are in
agreement on how they look.

Could they get merged? Patches 8/10 and 9/10 have a v2 that should get
merged instead of the originals. I can respond on all the patches that
should get merged if that is helpful?

On Wed, Apr 10, 2019 at 10:09 AM Kees Cook <keescook@chromium.org> wrote:
>
> On Wed, Apr 10, 2019 at 9:54 AM Micah Morton <mortonm@chromium.org> wrote:
> >
> > From: Jann Horn <jannh@google.com>
> >
> > Fix the pr_warn() calls in the SafeSetID LSM to have newlines at the end.
> > Without this, denial messages will be buffered as incomplete lines in
> > log_output(), and will then only show up once something else prints into
> > dmesg.
> >
> > Signed-off-by: Jann Horn <jannh@google.com>
> > Signed-off-by: Micah Morton <mortonm@chromium.org>
>
> Reviewed-by: Kees Cook <keescook@chromium.org>
>
> -Kees
>
> > ---
> >  security/safesetid/lsm.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/security/safesetid/lsm.c b/security/safesetid/lsm.c
> > index cecd38e2ac80..2daecab3a4c0 100644
> > --- a/security/safesetid/lsm.c
> > +++ b/security/safesetid/lsm.c
> > @@ -91,7 +91,7 @@ static int safesetid_security_capable(const struct cred *cred,
> >                          * to functionality other than calling set*uid() (e.g.
> >                          * allowing user to set up userns uid mappings).
> >                          */
> > -                       pr_warn("Operation requires CAP_SETUID, which is not available to UID %u for operations besides approved set*uid transitions",
> > +                       pr_warn("Operation requires CAP_SETUID, which is not available to UID %u for operations besides approved set*uid transitions\n",
> >                                 __kuid_val(cred->uid));
> >                         return -1;
> >                 }
> > @@ -103,7 +103,7 @@ static int check_uid_transition(kuid_t parent, kuid_t child)
> >  {
> >         if (check_setuid_policy_hashtable_key_value(parent, child))
> >                 return 0;
> > -       pr_warn("UID transition (%d -> %d) blocked",
> > +       pr_warn("UID transition (%d -> %d) blocked\n",
> >                 __kuid_val(parent),
> >                 __kuid_val(child));
> >         /*
> > --
> > 2.21.0.392.gf8f6787159e-goog
> >
>
>
> --
> Kees Cook
James Morris May 6, 2019, 11:39 p.m. UTC | #3
On Mon, 6 May 2019, Micah Morton wrote:

> These 10 patches got buried, but Jann, Kees and myself are in
> agreement on how they look.
> 
> Could they get merged? Patches 8/10 and 9/10 have a v2 that should get
> merged instead of the originals. I can respond on all the patches that
> should get merged if that is helpful?

Please do so.

> 
> On Wed, Apr 10, 2019 at 10:09 AM Kees Cook <keescook@chromium.org> wrote:
> >
> > On Wed, Apr 10, 2019 at 9:54 AM Micah Morton <mortonm@chromium.org> wrote:
> > >
> > > From: Jann Horn <jannh@google.com>
> > >
> > > Fix the pr_warn() calls in the SafeSetID LSM to have newlines at the end.
> > > Without this, denial messages will be buffered as incomplete lines in
> > > log_output(), and will then only show up once something else prints into
> > > dmesg.
> > >
> > > Signed-off-by: Jann Horn <jannh@google.com>
> > > Signed-off-by: Micah Morton <mortonm@chromium.org>
> >
> > Reviewed-by: Kees Cook <keescook@chromium.org>
> >
> > -Kees
> >
> > > ---
> > >  security/safesetid/lsm.c | 4 ++--
> > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/security/safesetid/lsm.c b/security/safesetid/lsm.c
> > > index cecd38e2ac80..2daecab3a4c0 100644
> > > --- a/security/safesetid/lsm.c
> > > +++ b/security/safesetid/lsm.c
> > > @@ -91,7 +91,7 @@ static int safesetid_security_capable(const struct cred *cred,
> > >                          * to functionality other than calling set*uid() (e.g.
> > >                          * allowing user to set up userns uid mappings).
> > >                          */
> > > -                       pr_warn("Operation requires CAP_SETUID, which is not available to UID %u for operations besides approved set*uid transitions",
> > > +                       pr_warn("Operation requires CAP_SETUID, which is not available to UID %u for operations besides approved set*uid transitions\n",
> > >                                 __kuid_val(cred->uid));
> > >                         return -1;
> > >                 }
> > > @@ -103,7 +103,7 @@ static int check_uid_transition(kuid_t parent, kuid_t child)
> > >  {
> > >         if (check_setuid_policy_hashtable_key_value(parent, child))
> > >                 return 0;
> > > -       pr_warn("UID transition (%d -> %d) blocked",
> > > +       pr_warn("UID transition (%d -> %d) blocked\n",
> > >                 __kuid_val(parent),
> > >                 __kuid_val(child));
> > >         /*
> > > --
> > > 2.21.0.392.gf8f6787159e-goog
> > >
> >
> >
> > --
> > Kees Cook
>
Micah Morton May 7, 2019, 3:01 p.m. UTC | #4
Ok, this ones ready for merge.

On Mon, May 6, 2019 at 4:39 PM James Morris <jmorris@namei.org> wrote:
>
> On Mon, 6 May 2019, Micah Morton wrote:
>
> > These 10 patches got buried, but Jann, Kees and myself are in
> > agreement on how they look.
> >
> > Could they get merged? Patches 8/10 and 9/10 have a v2 that should get
> > merged instead of the originals. I can respond on all the patches that
> > should get merged if that is helpful?
>
> Please do so.
>
> >
> > On Wed, Apr 10, 2019 at 10:09 AM Kees Cook <keescook@chromium.org> wrote:
> > >
> > > On Wed, Apr 10, 2019 at 9:54 AM Micah Morton <mortonm@chromium.org> wrote:
> > > >
> > > > From: Jann Horn <jannh@google.com>
> > > >
> > > > Fix the pr_warn() calls in the SafeSetID LSM to have newlines at the end.
> > > > Without this, denial messages will be buffered as incomplete lines in
> > > > log_output(), and will then only show up once something else prints into
> > > > dmesg.
> > > >
> > > > Signed-off-by: Jann Horn <jannh@google.com>
> > > > Signed-off-by: Micah Morton <mortonm@chromium.org>
> > >
> > > Reviewed-by: Kees Cook <keescook@chromium.org>
> > >
> > > -Kees
> > >
> > > > ---
> > > >  security/safesetid/lsm.c | 4 ++--
> > > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/security/safesetid/lsm.c b/security/safesetid/lsm.c
> > > > index cecd38e2ac80..2daecab3a4c0 100644
> > > > --- a/security/safesetid/lsm.c
> > > > +++ b/security/safesetid/lsm.c
> > > > @@ -91,7 +91,7 @@ static int safesetid_security_capable(const struct cred *cred,
> > > >                          * to functionality other than calling set*uid() (e.g.
> > > >                          * allowing user to set up userns uid mappings).
> > > >                          */
> > > > -                       pr_warn("Operation requires CAP_SETUID, which is not available to UID %u for operations besides approved set*uid transitions",
> > > > +                       pr_warn("Operation requires CAP_SETUID, which is not available to UID %u for operations besides approved set*uid transitions\n",
> > > >                                 __kuid_val(cred->uid));
> > > >                         return -1;
> > > >                 }
> > > > @@ -103,7 +103,7 @@ static int check_uid_transition(kuid_t parent, kuid_t child)
> > > >  {
> > > >         if (check_setuid_policy_hashtable_key_value(parent, child))
> > > >                 return 0;
> > > > -       pr_warn("UID transition (%d -> %d) blocked",
> > > > +       pr_warn("UID transition (%d -> %d) blocked\n",
> > > >                 __kuid_val(parent),
> > > >                 __kuid_val(child));
> > > >         /*
> > > > --
> > > > 2.21.0.392.gf8f6787159e-goog
> > > >
> > >
> > >
> > > --
> > > Kees Cook
> >
>
> --
> James Morris
> <jmorris@namei.org>
>

Patch
diff mbox series

diff --git a/security/safesetid/lsm.c b/security/safesetid/lsm.c
index cecd38e2ac80..2daecab3a4c0 100644
--- a/security/safesetid/lsm.c
+++ b/security/safesetid/lsm.c
@@ -91,7 +91,7 @@  static int safesetid_security_capable(const struct cred *cred,
 			 * to functionality other than calling set*uid() (e.g.
 			 * allowing user to set up userns uid mappings).
 			 */
-			pr_warn("Operation requires CAP_SETUID, which is not available to UID %u for operations besides approved set*uid transitions",
+			pr_warn("Operation requires CAP_SETUID, which is not available to UID %u for operations besides approved set*uid transitions\n",
 				__kuid_val(cred->uid));
 			return -1;
 		}
@@ -103,7 +103,7 @@  static int check_uid_transition(kuid_t parent, kuid_t child)
 {
 	if (check_setuid_policy_hashtable_key_value(parent, child))
 		return 0;
-	pr_warn("UID transition (%d -> %d) blocked",
+	pr_warn("UID transition (%d -> %d) blocked\n",
 		__kuid_val(parent),
 		__kuid_val(child));
 	/*