2014-02-21 22:19:35

by Joe Perches

[permalink] [raw]
Subject: [PATCH] capability: Use current logging styles

Prefix logging output with "capability: " via pr_fmt.
Convert printks to pr_<level>.
Use pr_<level>_once instead of guard flags.
Coalesce formats.

Signed-off-by: Joe Perches <[email protected]>
---
kernel/capability.c | 29 ++++++++++-------------------
1 file changed, 10 insertions(+), 19 deletions(-)

diff --git a/kernel/capability.c b/kernel/capability.c
index 34019c5..a8d63df 100644
--- a/kernel/capability.c
+++ b/kernel/capability.c
@@ -7,6 +7,8 @@
* 30 May 2002: Cleanup, Robert M. Love <[email protected]>
*/

+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
#include <linux/audit.h>
#include <linux/capability.h>
#include <linux/mm.h>
@@ -42,15 +44,10 @@ __setup("no_file_caps", file_caps_disable);

static void warn_legacy_capability_use(void)
{
- static int warned;
- if (!warned) {
- char name[sizeof(current->comm)];
-
- printk(KERN_INFO "warning: `%s' uses 32-bit capabilities"
- " (legacy support in use)\n",
- get_task_comm(name, current));
- warned = 1;
- }
+ char name[sizeof(current->comm)];
+
+ pr_info_once("warning: `%s' uses 32-bit capabilities (legacy support in use)\n",
+ get_task_comm(name, current));
}

/*
@@ -71,16 +68,10 @@ static void warn_legacy_capability_use(void)

static void warn_deprecated_v2(void)
{
- static int warned;
+ char name[sizeof(current->comm)];

- if (!warned) {
- char name[sizeof(current->comm)];
-
- printk(KERN_INFO "warning: `%s' uses deprecated v2"
- " capabilities in a way that may be insecure.\n",
- get_task_comm(name, current));
- warned = 1;
- }
+ pr_info_once("warning: `%s' uses deprecated v2 capabilities in a way that may be insecure\n",
+ get_task_comm(name, current));
}

/*
@@ -380,7 +371,7 @@ bool has_capability_noaudit(struct task_struct *t, int cap)
bool ns_capable(struct user_namespace *ns, int cap)
{
if (unlikely(!cap_valid(cap))) {
- printk(KERN_CRIT "capable() called with invalid cap=%u\n", cap);
+ pr_crit("capable() called with invalid cap=%u\n", cap);
BUG();
}



2014-02-21 22:48:16

by Serge Hallyn

[permalink] [raw]
Subject: Re: [PATCH] capability: Use current logging styles

Quoting Joe Perches ([email protected]):
> Prefix logging output with "capability: " via pr_fmt.
> Convert printks to pr_<level>.
> Use pr_<level>_once instead of guard flags.
> Coalesce formats.
>
> Signed-off-by: Joe Perches <[email protected]>

Thanks.

Acked-by: Serge E. Hallyn <[email protected]>

> ---
> kernel/capability.c | 29 ++++++++++-------------------
> 1 file changed, 10 insertions(+), 19 deletions(-)
>
> diff --git a/kernel/capability.c b/kernel/capability.c
> index 34019c5..a8d63df 100644
> --- a/kernel/capability.c
> +++ b/kernel/capability.c
> @@ -7,6 +7,8 @@
> * 30 May 2002: Cleanup, Robert M. Love <[email protected]>
> */
>
> +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
> +
> #include <linux/audit.h>
> #include <linux/capability.h>
> #include <linux/mm.h>
> @@ -42,15 +44,10 @@ __setup("no_file_caps", file_caps_disable);
>
> static void warn_legacy_capability_use(void)
> {
> - static int warned;
> - if (!warned) {
> - char name[sizeof(current->comm)];
> -
> - printk(KERN_INFO "warning: `%s' uses 32-bit capabilities"
> - " (legacy support in use)\n",
> - get_task_comm(name, current));
> - warned = 1;
> - }
> + char name[sizeof(current->comm)];
> +
> + pr_info_once("warning: `%s' uses 32-bit capabilities (legacy support in use)\n",
> + get_task_comm(name, current));
> }
>
> /*
> @@ -71,16 +68,10 @@ static void warn_legacy_capability_use(void)
>
> static void warn_deprecated_v2(void)
> {
> - static int warned;
> + char name[sizeof(current->comm)];
>
> - if (!warned) {
> - char name[sizeof(current->comm)];
> -
> - printk(KERN_INFO "warning: `%s' uses deprecated v2"
> - " capabilities in a way that may be insecure.\n",
> - get_task_comm(name, current));
> - warned = 1;
> - }
> + pr_info_once("warning: `%s' uses deprecated v2 capabilities in a way that may be insecure\n",
> + get_task_comm(name, current));
> }
>
> /*
> @@ -380,7 +371,7 @@ bool has_capability_noaudit(struct task_struct *t, int cap)
> bool ns_capable(struct user_namespace *ns, int cap)
> {
> if (unlikely(!cap_valid(cap))) {
> - printk(KERN_CRIT "capable() called with invalid cap=%u\n", cap);
> + pr_crit("capable() called with invalid cap=%u\n", cap);
> BUG();
> }
>
>
>

2014-02-24 03:37:44

by James Morris

[permalink] [raw]
Subject: Re: [PATCH] capability: Use current logging styles

On Fri, 21 Feb 2014, Joe Perches wrote:

> Prefix logging output with "capability: " via pr_fmt.
> Convert printks to pr_<level>.
> Use pr_<level>_once instead of guard flags.
> Coalesce formats.
>
> Signed-off-by: Joe Perches <[email protected]>


Applied to
git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security.git next



--
James Morris
<[email protected]>