All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lucas De Marchi <lucas.demarchi@intel.com>
To: linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org,
	dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
	linux-security-module@vger.kernel.org,
	nouveau@lists.freedesktop.org, netdev@vger.kernel.org
Cc: "Alex Deucher" <alexander.deucher@amd.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	"Andy Shevchenko" <andy.shevchenko@gmail.com>,
	"Ben Skeggs" <bskeggs@redhat.com>,
	"Christian König" <christian.koenig@amd.com>,
	"Chris Wilson" <chris@chris-wilson.co.uk>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	"David Airlie" <airlied@linux.ie>,
	"David S . Miller" <davem@davemloft.net>,
	"Emma Anholt" <emma@anholt.net>, "Eryk Brol" <eryk.brol@amd.com>,
	"Francis Laniel" <laniel_francis@privacyrequired.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Harry Wentland" <harry.wentland@amd.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Jani Nikula" <jani.nikula@linux.intel.com>,
	"Joonas Lahtinen" <joonas.lahtinen@linux.intel.com>,
	"Julia Lawall" <julia.lawall@lip6.fr>,
	"Kentaro Takeda" <takedakn@nttdata.co.jp>,
	"Leo Li" <sunpeng.li@amd.com>,
	"Mikita Lipski" <mikita.lipski@amd.com>,
	"Petr Mladek" <pmladek@suse.com>,
	"Rahul Lakkireddy" <rahul.lakkireddy@chelsio.com>,
	"Raju Rangoju" <rajur@chelsio.com>,
	"Rasmus Villemoes" <linux@rasmusvillemoes.dk>,
	"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
	"Sakari Ailus" <sakari.ailus@linux.intel.com>,
	"Sergey Senozhatsky" <sergey.senozhatsky@gmail.com>,
	"Steven Rostedt" <rostedt@goodmis.org>,
	"Vishal Kulkarni" <vishal@chelsio.com>
Subject: [PATCH 1/3] lib/string_helpers: Consolidate yesno() implementation
Date: Tue, 18 Jan 2022 23:24:48 -0800	[thread overview]
Message-ID: <20220119072450.2890107-2-lucas.demarchi@intel.com> (raw)
In-Reply-To: <20220119072450.2890107-1-lucas.demarchi@intel.com>

There are a few implementations of yesno() in the tree. Consolidate them
in include/linux/string_helpers.h.  Quite a few users of open coded
yesno() could later be converted to the new function:

$ git grep '?\s*"yes"\s*' | wc -l
286
$ git grep '?\s*"no"\s*' | wc -l
20

The inlined function should keep the const strings local to each
compilation unit, the same way it's now, thus not changing the current
behavior.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 .../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c  |  6 +-----
 drivers/gpu/drm/i915/i915_utils.h              |  5 -----
 .../net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c | 11 -----------
 include/linux/string_helpers.h                 |  2 ++
 security/tomoyo/audit.c                        |  2 +-
 security/tomoyo/common.c                       | 18 ++++--------------
 security/tomoyo/common.h                       |  1 -
 7 files changed, 8 insertions(+), 37 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
index 9d43ecb1f692..b59760f91bf6 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
@@ -23,6 +23,7 @@
  *
  */
 
+#include <linux/string_helpers.h>
 #include <linux/uaccess.h>
 
 #include "dc.h"
@@ -49,11 +50,6 @@ struct dmub_debugfs_trace_entry {
 	uint32_t param1;
 };
 
-static inline const char *yesno(bool v)
-{
-	return v ? "yes" : "no";
-}
-
 /* parse_write_buffer_into_params - Helper function to parse debugfs write buffer into an array
  *
  * Function takes in attributes passed to debugfs write entry
diff --git a/drivers/gpu/drm/i915/i915_utils.h b/drivers/gpu/drm/i915/i915_utils.h
index 7a5925072466..2a8781cc648b 100644
--- a/drivers/gpu/drm/i915/i915_utils.h
+++ b/drivers/gpu/drm/i915/i915_utils.h
@@ -414,11 +414,6 @@ wait_remaining_ms_from_jiffies(unsigned long timestamp_jiffies, int to_wait_ms)
 #define MBps(x) KBps(1000 * (x))
 #define GBps(x) ((u64)1000 * MBps((x)))
 
-static inline const char *yesno(bool v)
-{
-	return v ? "yes" : "no";
-}
-
 static inline const char *onoff(bool v)
 {
 	return v ? "on" : "off";
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
index 7d49fd4edc9e..61a04d7abc1f 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
@@ -2015,17 +2015,6 @@ static const struct file_operations rss_debugfs_fops = {
 /* RSS Configuration.
  */
 
-/* Small utility function to return the strings "yes" or "no" if the supplied
- * argument is non-zero.
- */
-static const char *yesno(int x)
-{
-	static const char *yes = "yes";
-	static const char *no = "no";
-
-	return x ? yes : no;
-}
-
 static int rss_config_show(struct seq_file *seq, void *v)
 {
 	struct adapter *adapter = seq->private;
diff --git a/include/linux/string_helpers.h b/include/linux/string_helpers.h
index 4ba39e1403b2..e980dec05d31 100644
--- a/include/linux/string_helpers.h
+++ b/include/linux/string_helpers.h
@@ -102,4 +102,6 @@ char *kstrdup_quotable_file(struct file *file, gfp_t gfp);
 
 void kfree_strarray(char **array, size_t n);
 
+static inline const char *yesno(bool v) { return v ? "yes" : "no"; }
+
 #endif
diff --git a/security/tomoyo/audit.c b/security/tomoyo/audit.c
index d79bf07e16be..1458e27361e8 100644
--- a/security/tomoyo/audit.c
+++ b/security/tomoyo/audit.c
@@ -166,7 +166,7 @@ static char *tomoyo_print_header(struct tomoyo_request_info *r)
 		       "#%04u/%02u/%02u %02u:%02u:%02u# profile=%u mode=%s granted=%s (global-pid=%u) task={ pid=%u ppid=%u uid=%u gid=%u euid=%u egid=%u suid=%u sgid=%u fsuid=%u fsgid=%u }",
 		       stamp.year, stamp.month, stamp.day, stamp.hour,
 		       stamp.min, stamp.sec, r->profile, tomoyo_mode[r->mode],
-		       tomoyo_yesno(r->granted), gpid, tomoyo_sys_getpid(),
+		       yesno(r->granted), gpid, tomoyo_sys_getpid(),
 		       tomoyo_sys_getppid(),
 		       from_kuid(&init_user_ns, current_uid()),
 		       from_kgid(&init_user_ns, current_gid()),
diff --git a/security/tomoyo/common.c b/security/tomoyo/common.c
index 5c64927bf2b3..304ed0f426dd 100644
--- a/security/tomoyo/common.c
+++ b/security/tomoyo/common.c
@@ -8,6 +8,7 @@
 #include <linux/uaccess.h>
 #include <linux/slab.h>
 #include <linux/security.h>
+#include <linux/string_helpers.h>
 #include "common.h"
 
 /* String table for operation mode. */
@@ -174,16 +175,6 @@ static bool tomoyo_manage_by_non_root;
 
 /* Utility functions. */
 
-/**
- * tomoyo_yesno - Return "yes" or "no".
- *
- * @value: Bool value.
- */
-const char *tomoyo_yesno(const unsigned int value)
-{
-	return value ? "yes" : "no";
-}
-
 /**
  * tomoyo_addprintf - strncat()-like-snprintf().
  *
@@ -730,8 +721,8 @@ static void tomoyo_print_config(struct tomoyo_io_buffer *head, const u8 config)
 {
 	tomoyo_io_printf(head, "={ mode=%s grant_log=%s reject_log=%s }\n",
 			 tomoyo_mode[config & 3],
-			 tomoyo_yesno(config & TOMOYO_CONFIG_WANT_GRANT_LOG),
-			 tomoyo_yesno(config & TOMOYO_CONFIG_WANT_REJECT_LOG));
+			 yesno(config & TOMOYO_CONFIG_WANT_GRANT_LOG),
+			 yesno(config & TOMOYO_CONFIG_WANT_REJECT_LOG));
 }
 
 /**
@@ -1354,8 +1345,7 @@ static bool tomoyo_print_condition(struct tomoyo_io_buffer *head,
 	case 3:
 		if (cond->grant_log != TOMOYO_GRANTLOG_AUTO)
 			tomoyo_io_printf(head, " grant_log=%s",
-					 tomoyo_yesno(cond->grant_log ==
-						      TOMOYO_GRANTLOG_YES));
+					 yesno(cond->grant_log == TOMOYO_GRANTLOG_YES));
 		tomoyo_set_lf(head);
 		return true;
 	}
diff --git a/security/tomoyo/common.h b/security/tomoyo/common.h
index 85246b9df7ca..ca285f362705 100644
--- a/security/tomoyo/common.h
+++ b/security/tomoyo/common.h
@@ -959,7 +959,6 @@ char *tomoyo_read_token(struct tomoyo_acl_param *param);
 char *tomoyo_realpath_from_path(const struct path *path);
 char *tomoyo_realpath_nofollow(const char *pathname);
 const char *tomoyo_get_exe(void);
-const char *tomoyo_yesno(const unsigned int value);
 const struct tomoyo_path_info *tomoyo_compare_name_union
 (const struct tomoyo_path_info *name, const struct tomoyo_name_union *ptr);
 const struct tomoyo_path_info *tomoyo_get_domainname
-- 
2.34.1


WARNING: multiple messages have this Message-ID (diff)
From: Lucas De Marchi <lucas.demarchi@intel.com>
To: linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org,
	dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
	linux-security-module@vger.kernel.org,
	nouveau@lists.freedesktop.org, netdev@vger.kernel.org
Cc: "Emma Anholt" <emma@anholt.net>,
	"David Airlie" <airlied@linux.ie>,
	"Rasmus Villemoes" <linux@rasmusvillemoes.dk>,
	"Chris Wilson" <chris@chris-wilson.co.uk>,
	"Vishal Kulkarni" <vishal@chelsio.com>,
	"Francis Laniel" <laniel_francis@privacyrequired.com>,
	"Kentaro Takeda" <takedakn@nttdata.co.jp>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	"Andy Shevchenko" <andy.shevchenko@gmail.com>,
	"Ben Skeggs" <bskeggs@redhat.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Petr Mladek" <pmladek@suse.com>,
	"Sakari Ailus" <sakari.ailus@linux.intel.com>,
	"Leo Li" <sunpeng.li@amd.com>,
	"Julia Lawall" <julia.lawall@lip6.fr>,
	"Rahul Lakkireddy" <rahul.lakkireddy@chelsio.com>,
	"Steven Rostedt" <rostedt@goodmis.org>,
	"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
	"Mikita Lipski" <mikita.lipski@amd.com>,
	"Eryk Brol" <eryk.brol@amd.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Christian König" <christian.koenig@amd.com>,
	"Sergey Senozhatsky" <sergey.senozhatsky@gmail.com>,
	"Raju Rangoju" <rajur@chelsio.com>,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"David S . Miller" <davem@davemloft.net>
Subject: [PATCH 1/3] lib/string_helpers: Consolidate yesno() implementation
Date: Tue, 18 Jan 2022 23:24:48 -0800	[thread overview]
Message-ID: <20220119072450.2890107-2-lucas.demarchi@intel.com> (raw)
In-Reply-To: <20220119072450.2890107-1-lucas.demarchi@intel.com>

There are a few implementations of yesno() in the tree. Consolidate them
in include/linux/string_helpers.h.  Quite a few users of open coded
yesno() could later be converted to the new function:

$ git grep '?\s*"yes"\s*' | wc -l
286
$ git grep '?\s*"no"\s*' | wc -l
20

The inlined function should keep the const strings local to each
compilation unit, the same way it's now, thus not changing the current
behavior.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 .../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c  |  6 +-----
 drivers/gpu/drm/i915/i915_utils.h              |  5 -----
 .../net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c | 11 -----------
 include/linux/string_helpers.h                 |  2 ++
 security/tomoyo/audit.c                        |  2 +-
 security/tomoyo/common.c                       | 18 ++++--------------
 security/tomoyo/common.h                       |  1 -
 7 files changed, 8 insertions(+), 37 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
index 9d43ecb1f692..b59760f91bf6 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
@@ -23,6 +23,7 @@
  *
  */
 
+#include <linux/string_helpers.h>
 #include <linux/uaccess.h>
 
 #include "dc.h"
@@ -49,11 +50,6 @@ struct dmub_debugfs_trace_entry {
 	uint32_t param1;
 };
 
-static inline const char *yesno(bool v)
-{
-	return v ? "yes" : "no";
-}
-
 /* parse_write_buffer_into_params - Helper function to parse debugfs write buffer into an array
  *
  * Function takes in attributes passed to debugfs write entry
diff --git a/drivers/gpu/drm/i915/i915_utils.h b/drivers/gpu/drm/i915/i915_utils.h
index 7a5925072466..2a8781cc648b 100644
--- a/drivers/gpu/drm/i915/i915_utils.h
+++ b/drivers/gpu/drm/i915/i915_utils.h
@@ -414,11 +414,6 @@ wait_remaining_ms_from_jiffies(unsigned long timestamp_jiffies, int to_wait_ms)
 #define MBps(x) KBps(1000 * (x))
 #define GBps(x) ((u64)1000 * MBps((x)))
 
-static inline const char *yesno(bool v)
-{
-	return v ? "yes" : "no";
-}
-
 static inline const char *onoff(bool v)
 {
 	return v ? "on" : "off";
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
index 7d49fd4edc9e..61a04d7abc1f 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
@@ -2015,17 +2015,6 @@ static const struct file_operations rss_debugfs_fops = {
 /* RSS Configuration.
  */
 
-/* Small utility function to return the strings "yes" or "no" if the supplied
- * argument is non-zero.
- */
-static const char *yesno(int x)
-{
-	static const char *yes = "yes";
-	static const char *no = "no";
-
-	return x ? yes : no;
-}
-
 static int rss_config_show(struct seq_file *seq, void *v)
 {
 	struct adapter *adapter = seq->private;
diff --git a/include/linux/string_helpers.h b/include/linux/string_helpers.h
index 4ba39e1403b2..e980dec05d31 100644
--- a/include/linux/string_helpers.h
+++ b/include/linux/string_helpers.h
@@ -102,4 +102,6 @@ char *kstrdup_quotable_file(struct file *file, gfp_t gfp);
 
 void kfree_strarray(char **array, size_t n);
 
+static inline const char *yesno(bool v) { return v ? "yes" : "no"; }
+
 #endif
diff --git a/security/tomoyo/audit.c b/security/tomoyo/audit.c
index d79bf07e16be..1458e27361e8 100644
--- a/security/tomoyo/audit.c
+++ b/security/tomoyo/audit.c
@@ -166,7 +166,7 @@ static char *tomoyo_print_header(struct tomoyo_request_info *r)
 		       "#%04u/%02u/%02u %02u:%02u:%02u# profile=%u mode=%s granted=%s (global-pid=%u) task={ pid=%u ppid=%u uid=%u gid=%u euid=%u egid=%u suid=%u sgid=%u fsuid=%u fsgid=%u }",
 		       stamp.year, stamp.month, stamp.day, stamp.hour,
 		       stamp.min, stamp.sec, r->profile, tomoyo_mode[r->mode],
-		       tomoyo_yesno(r->granted), gpid, tomoyo_sys_getpid(),
+		       yesno(r->granted), gpid, tomoyo_sys_getpid(),
 		       tomoyo_sys_getppid(),
 		       from_kuid(&init_user_ns, current_uid()),
 		       from_kgid(&init_user_ns, current_gid()),
diff --git a/security/tomoyo/common.c b/security/tomoyo/common.c
index 5c64927bf2b3..304ed0f426dd 100644
--- a/security/tomoyo/common.c
+++ b/security/tomoyo/common.c
@@ -8,6 +8,7 @@
 #include <linux/uaccess.h>
 #include <linux/slab.h>
 #include <linux/security.h>
+#include <linux/string_helpers.h>
 #include "common.h"
 
 /* String table for operation mode. */
@@ -174,16 +175,6 @@ static bool tomoyo_manage_by_non_root;
 
 /* Utility functions. */
 
-/**
- * tomoyo_yesno - Return "yes" or "no".
- *
- * @value: Bool value.
- */
-const char *tomoyo_yesno(const unsigned int value)
-{
-	return value ? "yes" : "no";
-}
-
 /**
  * tomoyo_addprintf - strncat()-like-snprintf().
  *
@@ -730,8 +721,8 @@ static void tomoyo_print_config(struct tomoyo_io_buffer *head, const u8 config)
 {
 	tomoyo_io_printf(head, "={ mode=%s grant_log=%s reject_log=%s }\n",
 			 tomoyo_mode[config & 3],
-			 tomoyo_yesno(config & TOMOYO_CONFIG_WANT_GRANT_LOG),
-			 tomoyo_yesno(config & TOMOYO_CONFIG_WANT_REJECT_LOG));
+			 yesno(config & TOMOYO_CONFIG_WANT_GRANT_LOG),
+			 yesno(config & TOMOYO_CONFIG_WANT_REJECT_LOG));
 }
 
 /**
@@ -1354,8 +1345,7 @@ static bool tomoyo_print_condition(struct tomoyo_io_buffer *head,
 	case 3:
 		if (cond->grant_log != TOMOYO_GRANTLOG_AUTO)
 			tomoyo_io_printf(head, " grant_log=%s",
-					 tomoyo_yesno(cond->grant_log ==
-						      TOMOYO_GRANTLOG_YES));
+					 yesno(cond->grant_log == TOMOYO_GRANTLOG_YES));
 		tomoyo_set_lf(head);
 		return true;
 	}
diff --git a/security/tomoyo/common.h b/security/tomoyo/common.h
index 85246b9df7ca..ca285f362705 100644
--- a/security/tomoyo/common.h
+++ b/security/tomoyo/common.h
@@ -959,7 +959,6 @@ char *tomoyo_read_token(struct tomoyo_acl_param *param);
 char *tomoyo_realpath_from_path(const struct path *path);
 char *tomoyo_realpath_nofollow(const char *pathname);
 const char *tomoyo_get_exe(void);
-const char *tomoyo_yesno(const unsigned int value);
 const struct tomoyo_path_info *tomoyo_compare_name_union
 (const struct tomoyo_path_info *name, const struct tomoyo_name_union *ptr);
 const struct tomoyo_path_info *tomoyo_get_domainname
-- 
2.34.1


WARNING: multiple messages have this Message-ID (diff)
From: Lucas De Marchi <lucas.demarchi@intel.com>
To: linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org,
	dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
	linux-security-module@vger.kernel.org,
	nouveau@lists.freedesktop.org, netdev@vger.kernel.org
Cc: "Emma Anholt" <emma@anholt.net>,
	"David Airlie" <airlied@linux.ie>,
	"Rasmus Villemoes" <linux@rasmusvillemoes.dk>,
	"Chris Wilson" <chris@chris-wilson.co.uk>,
	"Vishal Kulkarni" <vishal@chelsio.com>,
	"Francis Laniel" <laniel_francis@privacyrequired.com>,
	"Kentaro Takeda" <takedakn@nttdata.co.jp>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	"Andy Shevchenko" <andy.shevchenko@gmail.com>,
	"Ben Skeggs" <bskeggs@redhat.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Harry Wentland" <harry.wentland@amd.com>,
	"Petr Mladek" <pmladek@suse.com>,
	"Sakari Ailus" <sakari.ailus@linux.intel.com>,
	"Leo Li" <sunpeng.li@amd.com>,
	"Julia Lawall" <julia.lawall@lip6.fr>,
	"Rahul Lakkireddy" <rahul.lakkireddy@chelsio.com>,
	"Steven Rostedt" <rostedt@goodmis.org>,
	"Mikita Lipski" <mikita.lipski@amd.com>,
	"Eryk Brol" <eryk.brol@amd.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Christian König" <christian.koenig@amd.com>,
	"Sergey Senozhatsky" <sergey.senozhatsky@gmail.com>,
	"Raju Rangoju" <rajur@chelsio.com>,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"David S . Miller" <davem@davemloft.net>
Subject: [Intel-gfx] [PATCH 1/3] lib/string_helpers: Consolidate yesno() implementation
Date: Tue, 18 Jan 2022 23:24:48 -0800	[thread overview]
Message-ID: <20220119072450.2890107-2-lucas.demarchi@intel.com> (raw)
In-Reply-To: <20220119072450.2890107-1-lucas.demarchi@intel.com>

There are a few implementations of yesno() in the tree. Consolidate them
in include/linux/string_helpers.h.  Quite a few users of open coded
yesno() could later be converted to the new function:

$ git grep '?\s*"yes"\s*' | wc -l
286
$ git grep '?\s*"no"\s*' | wc -l
20

The inlined function should keep the const strings local to each
compilation unit, the same way it's now, thus not changing the current
behavior.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 .../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c  |  6 +-----
 drivers/gpu/drm/i915/i915_utils.h              |  5 -----
 .../net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c | 11 -----------
 include/linux/string_helpers.h                 |  2 ++
 security/tomoyo/audit.c                        |  2 +-
 security/tomoyo/common.c                       | 18 ++++--------------
 security/tomoyo/common.h                       |  1 -
 7 files changed, 8 insertions(+), 37 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
index 9d43ecb1f692..b59760f91bf6 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
@@ -23,6 +23,7 @@
  *
  */
 
+#include <linux/string_helpers.h>
 #include <linux/uaccess.h>
 
 #include "dc.h"
@@ -49,11 +50,6 @@ struct dmub_debugfs_trace_entry {
 	uint32_t param1;
 };
 
-static inline const char *yesno(bool v)
-{
-	return v ? "yes" : "no";
-}
-
 /* parse_write_buffer_into_params - Helper function to parse debugfs write buffer into an array
  *
  * Function takes in attributes passed to debugfs write entry
diff --git a/drivers/gpu/drm/i915/i915_utils.h b/drivers/gpu/drm/i915/i915_utils.h
index 7a5925072466..2a8781cc648b 100644
--- a/drivers/gpu/drm/i915/i915_utils.h
+++ b/drivers/gpu/drm/i915/i915_utils.h
@@ -414,11 +414,6 @@ wait_remaining_ms_from_jiffies(unsigned long timestamp_jiffies, int to_wait_ms)
 #define MBps(x) KBps(1000 * (x))
 #define GBps(x) ((u64)1000 * MBps((x)))
 
-static inline const char *yesno(bool v)
-{
-	return v ? "yes" : "no";
-}
-
 static inline const char *onoff(bool v)
 {
 	return v ? "on" : "off";
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
index 7d49fd4edc9e..61a04d7abc1f 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
@@ -2015,17 +2015,6 @@ static const struct file_operations rss_debugfs_fops = {
 /* RSS Configuration.
  */
 
-/* Small utility function to return the strings "yes" or "no" if the supplied
- * argument is non-zero.
- */
-static const char *yesno(int x)
-{
-	static const char *yes = "yes";
-	static const char *no = "no";
-
-	return x ? yes : no;
-}
-
 static int rss_config_show(struct seq_file *seq, void *v)
 {
 	struct adapter *adapter = seq->private;
diff --git a/include/linux/string_helpers.h b/include/linux/string_helpers.h
index 4ba39e1403b2..e980dec05d31 100644
--- a/include/linux/string_helpers.h
+++ b/include/linux/string_helpers.h
@@ -102,4 +102,6 @@ char *kstrdup_quotable_file(struct file *file, gfp_t gfp);
 
 void kfree_strarray(char **array, size_t n);
 
+static inline const char *yesno(bool v) { return v ? "yes" : "no"; }
+
 #endif
diff --git a/security/tomoyo/audit.c b/security/tomoyo/audit.c
index d79bf07e16be..1458e27361e8 100644
--- a/security/tomoyo/audit.c
+++ b/security/tomoyo/audit.c
@@ -166,7 +166,7 @@ static char *tomoyo_print_header(struct tomoyo_request_info *r)
 		       "#%04u/%02u/%02u %02u:%02u:%02u# profile=%u mode=%s granted=%s (global-pid=%u) task={ pid=%u ppid=%u uid=%u gid=%u euid=%u egid=%u suid=%u sgid=%u fsuid=%u fsgid=%u }",
 		       stamp.year, stamp.month, stamp.day, stamp.hour,
 		       stamp.min, stamp.sec, r->profile, tomoyo_mode[r->mode],
-		       tomoyo_yesno(r->granted), gpid, tomoyo_sys_getpid(),
+		       yesno(r->granted), gpid, tomoyo_sys_getpid(),
 		       tomoyo_sys_getppid(),
 		       from_kuid(&init_user_ns, current_uid()),
 		       from_kgid(&init_user_ns, current_gid()),
diff --git a/security/tomoyo/common.c b/security/tomoyo/common.c
index 5c64927bf2b3..304ed0f426dd 100644
--- a/security/tomoyo/common.c
+++ b/security/tomoyo/common.c
@@ -8,6 +8,7 @@
 #include <linux/uaccess.h>
 #include <linux/slab.h>
 #include <linux/security.h>
+#include <linux/string_helpers.h>
 #include "common.h"
 
 /* String table for operation mode. */
@@ -174,16 +175,6 @@ static bool tomoyo_manage_by_non_root;
 
 /* Utility functions. */
 
-/**
- * tomoyo_yesno - Return "yes" or "no".
- *
- * @value: Bool value.
- */
-const char *tomoyo_yesno(const unsigned int value)
-{
-	return value ? "yes" : "no";
-}
-
 /**
  * tomoyo_addprintf - strncat()-like-snprintf().
  *
@@ -730,8 +721,8 @@ static void tomoyo_print_config(struct tomoyo_io_buffer *head, const u8 config)
 {
 	tomoyo_io_printf(head, "={ mode=%s grant_log=%s reject_log=%s }\n",
 			 tomoyo_mode[config & 3],
-			 tomoyo_yesno(config & TOMOYO_CONFIG_WANT_GRANT_LOG),
-			 tomoyo_yesno(config & TOMOYO_CONFIG_WANT_REJECT_LOG));
+			 yesno(config & TOMOYO_CONFIG_WANT_GRANT_LOG),
+			 yesno(config & TOMOYO_CONFIG_WANT_REJECT_LOG));
 }
 
 /**
@@ -1354,8 +1345,7 @@ static bool tomoyo_print_condition(struct tomoyo_io_buffer *head,
 	case 3:
 		if (cond->grant_log != TOMOYO_GRANTLOG_AUTO)
 			tomoyo_io_printf(head, " grant_log=%s",
-					 tomoyo_yesno(cond->grant_log ==
-						      TOMOYO_GRANTLOG_YES));
+					 yesno(cond->grant_log == TOMOYO_GRANTLOG_YES));
 		tomoyo_set_lf(head);
 		return true;
 	}
diff --git a/security/tomoyo/common.h b/security/tomoyo/common.h
index 85246b9df7ca..ca285f362705 100644
--- a/security/tomoyo/common.h
+++ b/security/tomoyo/common.h
@@ -959,7 +959,6 @@ char *tomoyo_read_token(struct tomoyo_acl_param *param);
 char *tomoyo_realpath_from_path(const struct path *path);
 char *tomoyo_realpath_nofollow(const char *pathname);
 const char *tomoyo_get_exe(void);
-const char *tomoyo_yesno(const unsigned int value);
 const struct tomoyo_path_info *tomoyo_compare_name_union
 (const struct tomoyo_path_info *name, const struct tomoyo_name_union *ptr);
 const struct tomoyo_path_info *tomoyo_get_domainname
-- 
2.34.1


WARNING: multiple messages have this Message-ID (diff)
From: Lucas De Marchi <lucas.demarchi@intel.com>
To: linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org,
	dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
	linux-security-module@vger.kernel.org,
	nouveau@lists.freedesktop.org, netdev@vger.kernel.org
Cc: "Emma Anholt" <emma@anholt.net>,
	"David Airlie" <airlied@linux.ie>,
	"Joonas Lahtinen" <joonas.lahtinen@linux.intel.com>,
	"Rasmus Villemoes" <linux@rasmusvillemoes.dk>,
	"Chris Wilson" <chris@chris-wilson.co.uk>,
	"Vishal Kulkarni" <vishal@chelsio.com>,
	"Francis Laniel" <laniel_francis@privacyrequired.com>,
	"Kentaro Takeda" <takedakn@nttdata.co.jp>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	"Andy Shevchenko" <andy.shevchenko@gmail.com>,
	"Ben Skeggs" <bskeggs@redhat.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Harry Wentland" <harry.wentland@amd.com>,
	"Petr Mladek" <pmladek@suse.com>,
	"Sakari Ailus" <sakari.ailus@linux.intel.com>,
	"Leo Li" <sunpeng.li@amd.com>,
	"Jani Nikula" <jani.nikula@linux.intel.com>,
	"Julia Lawall" <julia.lawall@lip6.fr>,
	"Rahul Lakkireddy" <rahul.lakkireddy@chelsio.com>,
	"Steven Rostedt" <rostedt@goodmis.org>,
	"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
	"Mikita Lipski" <mikita.lipski@amd.com>,
	"Eryk Brol" <eryk.brol@amd.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Christian König" <christian.koenig@amd.com>,
	"Sergey Senozhatsky" <sergey.senozhatsky@gmail.com>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	"Raju Rangoju" <rajur@chelsio.com>,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"David S . Miller" <davem@davemloft.net>
Subject: [PATCH 1/3] lib/string_helpers: Consolidate yesno() implementation
Date: Tue, 18 Jan 2022 23:24:48 -0800	[thread overview]
Message-ID: <20220119072450.2890107-2-lucas.demarchi@intel.com> (raw)
In-Reply-To: <20220119072450.2890107-1-lucas.demarchi@intel.com>

There are a few implementations of yesno() in the tree. Consolidate them
in include/linux/string_helpers.h.  Quite a few users of open coded
yesno() could later be converted to the new function:

$ git grep '?\s*"yes"\s*' | wc -l
286
$ git grep '?\s*"no"\s*' | wc -l
20

The inlined function should keep the const strings local to each
compilation unit, the same way it's now, thus not changing the current
behavior.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 .../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c  |  6 +-----
 drivers/gpu/drm/i915/i915_utils.h              |  5 -----
 .../net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c | 11 -----------
 include/linux/string_helpers.h                 |  2 ++
 security/tomoyo/audit.c                        |  2 +-
 security/tomoyo/common.c                       | 18 ++++--------------
 security/tomoyo/common.h                       |  1 -
 7 files changed, 8 insertions(+), 37 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
index 9d43ecb1f692..b59760f91bf6 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
@@ -23,6 +23,7 @@
  *
  */
 
+#include <linux/string_helpers.h>
 #include <linux/uaccess.h>
 
 #include "dc.h"
@@ -49,11 +50,6 @@ struct dmub_debugfs_trace_entry {
 	uint32_t param1;
 };
 
-static inline const char *yesno(bool v)
-{
-	return v ? "yes" : "no";
-}
-
 /* parse_write_buffer_into_params - Helper function to parse debugfs write buffer into an array
  *
  * Function takes in attributes passed to debugfs write entry
diff --git a/drivers/gpu/drm/i915/i915_utils.h b/drivers/gpu/drm/i915/i915_utils.h
index 7a5925072466..2a8781cc648b 100644
--- a/drivers/gpu/drm/i915/i915_utils.h
+++ b/drivers/gpu/drm/i915/i915_utils.h
@@ -414,11 +414,6 @@ wait_remaining_ms_from_jiffies(unsigned long timestamp_jiffies, int to_wait_ms)
 #define MBps(x) KBps(1000 * (x))
 #define GBps(x) ((u64)1000 * MBps((x)))
 
-static inline const char *yesno(bool v)
-{
-	return v ? "yes" : "no";
-}
-
 static inline const char *onoff(bool v)
 {
 	return v ? "on" : "off";
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
index 7d49fd4edc9e..61a04d7abc1f 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
@@ -2015,17 +2015,6 @@ static const struct file_operations rss_debugfs_fops = {
 /* RSS Configuration.
  */
 
-/* Small utility function to return the strings "yes" or "no" if the supplied
- * argument is non-zero.
- */
-static const char *yesno(int x)
-{
-	static const char *yes = "yes";
-	static const char *no = "no";
-
-	return x ? yes : no;
-}
-
 static int rss_config_show(struct seq_file *seq, void *v)
 {
 	struct adapter *adapter = seq->private;
diff --git a/include/linux/string_helpers.h b/include/linux/string_helpers.h
index 4ba39e1403b2..e980dec05d31 100644
--- a/include/linux/string_helpers.h
+++ b/include/linux/string_helpers.h
@@ -102,4 +102,6 @@ char *kstrdup_quotable_file(struct file *file, gfp_t gfp);
 
 void kfree_strarray(char **array, size_t n);
 
+static inline const char *yesno(bool v) { return v ? "yes" : "no"; }
+
 #endif
diff --git a/security/tomoyo/audit.c b/security/tomoyo/audit.c
index d79bf07e16be..1458e27361e8 100644
--- a/security/tomoyo/audit.c
+++ b/security/tomoyo/audit.c
@@ -166,7 +166,7 @@ static char *tomoyo_print_header(struct tomoyo_request_info *r)
 		       "#%04u/%02u/%02u %02u:%02u:%02u# profile=%u mode=%s granted=%s (global-pid=%u) task={ pid=%u ppid=%u uid=%u gid=%u euid=%u egid=%u suid=%u sgid=%u fsuid=%u fsgid=%u }",
 		       stamp.year, stamp.month, stamp.day, stamp.hour,
 		       stamp.min, stamp.sec, r->profile, tomoyo_mode[r->mode],
-		       tomoyo_yesno(r->granted), gpid, tomoyo_sys_getpid(),
+		       yesno(r->granted), gpid, tomoyo_sys_getpid(),
 		       tomoyo_sys_getppid(),
 		       from_kuid(&init_user_ns, current_uid()),
 		       from_kgid(&init_user_ns, current_gid()),
diff --git a/security/tomoyo/common.c b/security/tomoyo/common.c
index 5c64927bf2b3..304ed0f426dd 100644
--- a/security/tomoyo/common.c
+++ b/security/tomoyo/common.c
@@ -8,6 +8,7 @@
 #include <linux/uaccess.h>
 #include <linux/slab.h>
 #include <linux/security.h>
+#include <linux/string_helpers.h>
 #include "common.h"
 
 /* String table for operation mode. */
@@ -174,16 +175,6 @@ static bool tomoyo_manage_by_non_root;
 
 /* Utility functions. */
 
-/**
- * tomoyo_yesno - Return "yes" or "no".
- *
- * @value: Bool value.
- */
-const char *tomoyo_yesno(const unsigned int value)
-{
-	return value ? "yes" : "no";
-}
-
 /**
  * tomoyo_addprintf - strncat()-like-snprintf().
  *
@@ -730,8 +721,8 @@ static void tomoyo_print_config(struct tomoyo_io_buffer *head, const u8 config)
 {
 	tomoyo_io_printf(head, "={ mode=%s grant_log=%s reject_log=%s }\n",
 			 tomoyo_mode[config & 3],
-			 tomoyo_yesno(config & TOMOYO_CONFIG_WANT_GRANT_LOG),
-			 tomoyo_yesno(config & TOMOYO_CONFIG_WANT_REJECT_LOG));
+			 yesno(config & TOMOYO_CONFIG_WANT_GRANT_LOG),
+			 yesno(config & TOMOYO_CONFIG_WANT_REJECT_LOG));
 }
 
 /**
@@ -1354,8 +1345,7 @@ static bool tomoyo_print_condition(struct tomoyo_io_buffer *head,
 	case 3:
 		if (cond->grant_log != TOMOYO_GRANTLOG_AUTO)
 			tomoyo_io_printf(head, " grant_log=%s",
-					 tomoyo_yesno(cond->grant_log ==
-						      TOMOYO_GRANTLOG_YES));
+					 yesno(cond->grant_log == TOMOYO_GRANTLOG_YES));
 		tomoyo_set_lf(head);
 		return true;
 	}
diff --git a/security/tomoyo/common.h b/security/tomoyo/common.h
index 85246b9df7ca..ca285f362705 100644
--- a/security/tomoyo/common.h
+++ b/security/tomoyo/common.h
@@ -959,7 +959,6 @@ char *tomoyo_read_token(struct tomoyo_acl_param *param);
 char *tomoyo_realpath_from_path(const struct path *path);
 char *tomoyo_realpath_nofollow(const char *pathname);
 const char *tomoyo_get_exe(void);
-const char *tomoyo_yesno(const unsigned int value);
 const struct tomoyo_path_info *tomoyo_compare_name_union
 (const struct tomoyo_path_info *name, const struct tomoyo_name_union *ptr);
 const struct tomoyo_path_info *tomoyo_get_domainname
-- 
2.34.1


WARNING: multiple messages have this Message-ID (diff)
From: Lucas De Marchi <lucas.demarchi@intel.com>
To: linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org,
	dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
	linux-security-module@vger.kernel.org,
	nouveau@lists.freedesktop.org, netdev@vger.kernel.org
Cc: "Emma Anholt" <emma@anholt.net>,
	"David Airlie" <airlied@linux.ie>,
	"Joonas Lahtinen" <joonas.lahtinen@linux.intel.com>,
	"Rasmus Villemoes" <linux@rasmusvillemoes.dk>,
	"Chris Wilson" <chris@chris-wilson.co.uk>,
	"Vishal Kulkarni" <vishal@chelsio.com>,
	"Francis Laniel" <laniel_francis@privacyrequired.com>,
	"Kentaro Takeda" <takedakn@nttdata.co.jp>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	"Andy Shevchenko" <andy.shevchenko@gmail.com>,
	"Ben Skeggs" <bskeggs@redhat.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Harry Wentland" <harry.wentland@amd.com>,
	"Petr Mladek" <pmladek@suse.com>,
	"Sakari Ailus" <sakari.ailus@linux.intel.com>,
	"Leo Li" <sunpeng.li@amd.com>,
	"Jani Nikula" <jani.nikula@linux.intel.com>,
	"Julia Lawall" <julia.lawall@lip6.fr>,
	"Rahul Lakkireddy" <rahul.lakkireddy@chelsio.com>,
	"Steven Rostedt" <rostedt@goodmis.org>,
	"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
	"Mikita Lipski" <mikita.lipski@amd.com>,
	"Eryk Brol" <eryk.brol@amd.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Christian König" <christian.koenig@amd.com>,
	"Sergey Senozhatsky" <sergey.senozhatsky@gmail.com>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	"Raju Rangoju" <rajur@chelsio.com>,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"David S . Miller" <davem@davemloft.net>
Subject: [Nouveau] [PATCH 1/3] lib/string_helpers: Consolidate yesno() implementation
Date: Tue, 18 Jan 2022 23:24:48 -0800	[thread overview]
Message-ID: <20220119072450.2890107-2-lucas.demarchi@intel.com> (raw)
In-Reply-To: <20220119072450.2890107-1-lucas.demarchi@intel.com>

There are a few implementations of yesno() in the tree. Consolidate them
in include/linux/string_helpers.h.  Quite a few users of open coded
yesno() could later be converted to the new function:

$ git grep '?\s*"yes"\s*' | wc -l
286
$ git grep '?\s*"no"\s*' | wc -l
20

The inlined function should keep the const strings local to each
compilation unit, the same way it's now, thus not changing the current
behavior.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 .../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c  |  6 +-----
 drivers/gpu/drm/i915/i915_utils.h              |  5 -----
 .../net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c | 11 -----------
 include/linux/string_helpers.h                 |  2 ++
 security/tomoyo/audit.c                        |  2 +-
 security/tomoyo/common.c                       | 18 ++++--------------
 security/tomoyo/common.h                       |  1 -
 7 files changed, 8 insertions(+), 37 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
index 9d43ecb1f692..b59760f91bf6 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
@@ -23,6 +23,7 @@
  *
  */
 
+#include <linux/string_helpers.h>
 #include <linux/uaccess.h>
 
 #include "dc.h"
@@ -49,11 +50,6 @@ struct dmub_debugfs_trace_entry {
 	uint32_t param1;
 };
 
-static inline const char *yesno(bool v)
-{
-	return v ? "yes" : "no";
-}
-
 /* parse_write_buffer_into_params - Helper function to parse debugfs write buffer into an array
  *
  * Function takes in attributes passed to debugfs write entry
diff --git a/drivers/gpu/drm/i915/i915_utils.h b/drivers/gpu/drm/i915/i915_utils.h
index 7a5925072466..2a8781cc648b 100644
--- a/drivers/gpu/drm/i915/i915_utils.h
+++ b/drivers/gpu/drm/i915/i915_utils.h
@@ -414,11 +414,6 @@ wait_remaining_ms_from_jiffies(unsigned long timestamp_jiffies, int to_wait_ms)
 #define MBps(x) KBps(1000 * (x))
 #define GBps(x) ((u64)1000 * MBps((x)))
 
-static inline const char *yesno(bool v)
-{
-	return v ? "yes" : "no";
-}
-
 static inline const char *onoff(bool v)
 {
 	return v ? "on" : "off";
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
index 7d49fd4edc9e..61a04d7abc1f 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
@@ -2015,17 +2015,6 @@ static const struct file_operations rss_debugfs_fops = {
 /* RSS Configuration.
  */
 
-/* Small utility function to return the strings "yes" or "no" if the supplied
- * argument is non-zero.
- */
-static const char *yesno(int x)
-{
-	static const char *yes = "yes";
-	static const char *no = "no";
-
-	return x ? yes : no;
-}
-
 static int rss_config_show(struct seq_file *seq, void *v)
 {
 	struct adapter *adapter = seq->private;
diff --git a/include/linux/string_helpers.h b/include/linux/string_helpers.h
index 4ba39e1403b2..e980dec05d31 100644
--- a/include/linux/string_helpers.h
+++ b/include/linux/string_helpers.h
@@ -102,4 +102,6 @@ char *kstrdup_quotable_file(struct file *file, gfp_t gfp);
 
 void kfree_strarray(char **array, size_t n);
 
+static inline const char *yesno(bool v) { return v ? "yes" : "no"; }
+
 #endif
diff --git a/security/tomoyo/audit.c b/security/tomoyo/audit.c
index d79bf07e16be..1458e27361e8 100644
--- a/security/tomoyo/audit.c
+++ b/security/tomoyo/audit.c
@@ -166,7 +166,7 @@ static char *tomoyo_print_header(struct tomoyo_request_info *r)
 		       "#%04u/%02u/%02u %02u:%02u:%02u# profile=%u mode=%s granted=%s (global-pid=%u) task={ pid=%u ppid=%u uid=%u gid=%u euid=%u egid=%u suid=%u sgid=%u fsuid=%u fsgid=%u }",
 		       stamp.year, stamp.month, stamp.day, stamp.hour,
 		       stamp.min, stamp.sec, r->profile, tomoyo_mode[r->mode],
-		       tomoyo_yesno(r->granted), gpid, tomoyo_sys_getpid(),
+		       yesno(r->granted), gpid, tomoyo_sys_getpid(),
 		       tomoyo_sys_getppid(),
 		       from_kuid(&init_user_ns, current_uid()),
 		       from_kgid(&init_user_ns, current_gid()),
diff --git a/security/tomoyo/common.c b/security/tomoyo/common.c
index 5c64927bf2b3..304ed0f426dd 100644
--- a/security/tomoyo/common.c
+++ b/security/tomoyo/common.c
@@ -8,6 +8,7 @@
 #include <linux/uaccess.h>
 #include <linux/slab.h>
 #include <linux/security.h>
+#include <linux/string_helpers.h>
 #include "common.h"
 
 /* String table for operation mode. */
@@ -174,16 +175,6 @@ static bool tomoyo_manage_by_non_root;
 
 /* Utility functions. */
 
-/**
- * tomoyo_yesno - Return "yes" or "no".
- *
- * @value: Bool value.
- */
-const char *tomoyo_yesno(const unsigned int value)
-{
-	return value ? "yes" : "no";
-}
-
 /**
  * tomoyo_addprintf - strncat()-like-snprintf().
  *
@@ -730,8 +721,8 @@ static void tomoyo_print_config(struct tomoyo_io_buffer *head, const u8 config)
 {
 	tomoyo_io_printf(head, "={ mode=%s grant_log=%s reject_log=%s }\n",
 			 tomoyo_mode[config & 3],
-			 tomoyo_yesno(config & TOMOYO_CONFIG_WANT_GRANT_LOG),
-			 tomoyo_yesno(config & TOMOYO_CONFIG_WANT_REJECT_LOG));
+			 yesno(config & TOMOYO_CONFIG_WANT_GRANT_LOG),
+			 yesno(config & TOMOYO_CONFIG_WANT_REJECT_LOG));
 }
 
 /**
@@ -1354,8 +1345,7 @@ static bool tomoyo_print_condition(struct tomoyo_io_buffer *head,
 	case 3:
 		if (cond->grant_log != TOMOYO_GRANTLOG_AUTO)
 			tomoyo_io_printf(head, " grant_log=%s",
-					 tomoyo_yesno(cond->grant_log ==
-						      TOMOYO_GRANTLOG_YES));
+					 yesno(cond->grant_log == TOMOYO_GRANTLOG_YES));
 		tomoyo_set_lf(head);
 		return true;
 	}
diff --git a/security/tomoyo/common.h b/security/tomoyo/common.h
index 85246b9df7ca..ca285f362705 100644
--- a/security/tomoyo/common.h
+++ b/security/tomoyo/common.h
@@ -959,7 +959,6 @@ char *tomoyo_read_token(struct tomoyo_acl_param *param);
 char *tomoyo_realpath_from_path(const struct path *path);
 char *tomoyo_realpath_nofollow(const char *pathname);
 const char *tomoyo_get_exe(void);
-const char *tomoyo_yesno(const unsigned int value);
 const struct tomoyo_path_info *tomoyo_compare_name_union
 (const struct tomoyo_path_info *name, const struct tomoyo_name_union *ptr);
 const struct tomoyo_path_info *tomoyo_get_domainname
-- 
2.34.1


  reply	other threads:[~2022-01-19  7:24 UTC|newest]

Thread overview: 160+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-19  7:24 [PATCH 0/3] lib/string_helpers: Add a few string helpers Lucas De Marchi
2022-01-19  7:24 ` [Nouveau] " Lucas De Marchi
2022-01-19  7:24 ` Lucas De Marchi
2022-01-19  7:24 ` [Intel-gfx] " Lucas De Marchi
2022-01-19  7:24 ` Lucas De Marchi
2022-01-19  7:24 ` Lucas De Marchi [this message]
2022-01-19  7:24   ` [Nouveau] [PATCH 1/3] lib/string_helpers: Consolidate yesno() implementation Lucas De Marchi
2022-01-19  7:24   ` Lucas De Marchi
2022-01-19  7:24   ` [Intel-gfx] " Lucas De Marchi
2022-01-19  7:24   ` Lucas De Marchi
2022-01-19  9:15   ` [Nouveau] " Andy Shevchenko
2022-01-19  9:15     ` Andy Shevchenko
2022-01-19  9:15     ` [Intel-gfx] " Andy Shevchenko
2022-01-19  9:15     ` Andy Shevchenko
2022-01-19 15:01     ` Steven Rostedt
2022-01-19 15:01       ` Steven Rostedt
2022-01-19 15:01       ` [Intel-gfx] " Steven Rostedt
2022-01-19 15:01       ` Steven Rostedt
2022-01-19 15:01       ` [Nouveau] " Steven Rostedt
2022-01-19 16:37       ` David Laight
2022-01-19 16:37         ` David Laight
2022-01-19 16:37         ` [Intel-gfx] " David Laight
2022-01-19 16:37         ` David Laight
2022-01-19 16:37         ` [Nouveau] " David Laight
2022-01-19 16:38         ` David Laight
2022-01-19 16:38           ` [Nouveau] " David Laight
2022-01-19 16:38           ` David Laight
2022-01-19 16:38           ` [Intel-gfx] " David Laight
2022-01-19 16:38           ` David Laight
2022-01-19 19:22           ` Andy Shevchenko
2022-01-19 19:22             ` Andy Shevchenko
2022-01-19 19:22             ` [Intel-gfx] " Andy Shevchenko
2022-01-19 19:22             ` Andy Shevchenko
2022-01-19 19:22             ` [Nouveau] " Andy Shevchenko
2022-01-19 20:58             ` Steven Rostedt
2022-01-19 20:58               ` Steven Rostedt
2022-01-19 20:58               ` [Intel-gfx] " Steven Rostedt
2022-01-19 20:58               ` Steven Rostedt
2022-01-19 20:58               ` [Nouveau] " Steven Rostedt
2022-01-19 22:25             ` David Laight
2022-01-19 22:25               ` David Laight
2022-01-19 22:25               ` [Intel-gfx] " David Laight
2022-01-19 22:25               ` David Laight
2022-01-19 22:25               ` [Nouveau] " David Laight
2022-01-19  9:18   ` Sakari Ailus
2022-01-19  9:18     ` [Nouveau] " Sakari Ailus
2022-01-19  9:18     ` Sakari Ailus
2022-01-19  9:18     ` [Intel-gfx] " Sakari Ailus
2022-01-19  9:18     ` Sakari Ailus
2022-01-19 15:06     ` Steven Rostedt
2022-01-19 15:06       ` Steven Rostedt
2022-01-19 15:06       ` [Intel-gfx] " Steven Rostedt
2022-01-19 15:06       ` Steven Rostedt
2022-01-19 15:06       ` [Nouveau] " Steven Rostedt
2022-01-19 19:25       ` Andy Shevchenko
2022-01-19 19:25         ` Andy Shevchenko
2022-01-19 19:25         ` Andy Shevchenko
2022-01-19 19:25         ` [Intel-gfx] " Andy Shevchenko
2022-01-19 19:25         ` Andy Shevchenko
2022-01-19 21:00         ` Steven Rostedt
2022-01-19 21:00           ` Steven Rostedt
2022-01-19 21:00           ` [Intel-gfx] " Steven Rostedt
2022-01-19 21:00           ` Steven Rostedt
2022-01-19 21:00           ` [Nouveau] " Steven Rostedt
2022-01-19 21:04           ` Andy Shevchenko
2022-01-19 21:04             ` Andy Shevchenko
2022-01-19 21:04             ` [Intel-gfx] " Andy Shevchenko
2022-01-19 21:04             ` Andy Shevchenko
2022-01-19 21:04             ` [Nouveau] " Andy Shevchenko
2022-01-21  1:37           ` Joe Perches
2022-01-21  1:37             ` Joe Perches
2022-01-21  1:37             ` [Intel-gfx] " Joe Perches
2022-01-21  1:37             ` [Nouveau] " Joe Perches
2022-01-21  1:37             ` Joe Perches
2022-01-19 20:43       ` [Intel-gfx] " Lucas De Marchi
2022-01-19 20:43         ` [Nouveau] " Lucas De Marchi
2022-01-19 20:43         ` Lucas De Marchi
2022-01-19 20:43         ` Lucas De Marchi
2022-01-19  7:24 ` [PATCH 2/3] lib/string_helpers: Add helpers for enable[d]/disable[d] Lucas De Marchi
2022-01-19  7:24   ` [Nouveau] " Lucas De Marchi
2022-01-19  7:24   ` Lucas De Marchi
2022-01-19  7:24   ` [Intel-gfx] " Lucas De Marchi
2022-01-19  7:24   ` Lucas De Marchi
2022-01-19  9:20   ` [Nouveau] " Andy Shevchenko
2022-01-19  9:20     ` Andy Shevchenko
2022-01-19  9:20     ` [Intel-gfx] " Andy Shevchenko
2022-01-19  9:20     ` Andy Shevchenko
2022-01-19  9:42     ` Lucas De Marchi
2022-01-19  9:42       ` [Nouveau] " Lucas De Marchi
2022-01-19  9:42       ` [Intel-gfx] " Lucas De Marchi
2022-01-19  9:42       ` Lucas De Marchi
2022-01-19  7:24 ` [PATCH 3/3] drm: Convert open yes/no strings to yesno() Lucas De Marchi
2022-01-19  7:24   ` [Nouveau] " Lucas De Marchi
2022-01-19  7:24   ` Lucas De Marchi
2022-01-19  7:24   ` [Intel-gfx] " Lucas De Marchi
2022-01-19  7:24   ` Lucas De Marchi
2022-01-19 19:30   ` Andy Shevchenko
2022-01-19 19:30     ` Andy Shevchenko
2022-01-19 19:30     ` [Intel-gfx] " Andy Shevchenko
2022-01-19 19:30     ` Andy Shevchenko
2022-01-19 19:30     ` [Nouveau] " Andy Shevchenko
2022-01-26  9:05     ` Lucas De Marchi
2022-01-26  9:05       ` [Nouveau] " Lucas De Marchi
2022-01-26  9:05       ` [Intel-gfx] " Lucas De Marchi
2022-01-26  9:05       ` Lucas De Marchi
2022-01-19  7:34 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for lib/string_helpers: Add a few string helpers Patchwork
2022-01-19  7:37 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2022-01-19  8:02 ` [Nouveau] [PATCH 0/3] " Jani Nikula
2022-01-19  8:02   ` Jani Nikula
2022-01-19  8:02   ` [Intel-gfx] " Jani Nikula
2022-01-19  8:02   ` Jani Nikula
2022-01-19  8:02   ` Jani Nikula
2022-01-19  8:05 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork
2022-01-19  9:28 ` [Nouveau] [PATCH 0/3] " Andy Shevchenko
2022-01-19  9:28   ` Andy Shevchenko
2022-01-19  9:28   ` [Intel-gfx] " Andy Shevchenko
2022-01-19  9:28   ` Andy Shevchenko
2022-01-19  9:39 ` [Intel-gfx] ✗ Fi.CI.IGT: failure for " Patchwork
2022-01-19 13:18 ` [PATCH 0/3] " Petr Mladek
2022-01-19 13:18   ` [Nouveau] " Petr Mladek
2022-01-19 13:18   ` Petr Mladek
2022-01-19 13:18   ` [Intel-gfx] " Petr Mladek
2022-01-19 13:18   ` Petr Mladek
2022-01-19 14:16   ` Jani Nikula
2022-01-19 14:16     ` Jani Nikula
2022-01-19 14:16     ` [Intel-gfx] " Jani Nikula
2022-01-19 14:16     ` Jani Nikula
2022-01-19 14:16     ` [Nouveau] " Jani Nikula
2022-01-19 16:15     ` Daniel Vetter
2022-01-19 16:15       ` Daniel Vetter
2022-01-19 16:15       ` [Intel-gfx] " Daniel Vetter
2022-01-19 16:15       ` Daniel Vetter
2022-01-19 16:15       ` [Nouveau] " Daniel Vetter
2022-01-19 20:53       ` [Intel-gfx] " Lucas De Marchi
2022-01-19 20:53         ` [Nouveau] " Lucas De Marchi
2022-01-19 21:07         ` Andy Shevchenko
2022-01-19 21:07           ` Andy Shevchenko
2022-01-19 21:07           ` Andy Shevchenko
2022-01-19 21:07           ` Andy Shevchenko
2022-01-19 21:07           ` [Nouveau] " Andy Shevchenko
2022-01-20  8:38     ` Petr Mladek
2022-01-20  8:38       ` [Nouveau] " Petr Mladek
2022-01-20  8:38       ` Petr Mladek
2022-01-20  8:38       ` [Intel-gfx] " Petr Mladek
2022-01-20  8:38       ` Petr Mladek
2022-01-20  9:12       ` David Laight
2022-01-20  9:12         ` David Laight
2022-01-20  9:12         ` [Intel-gfx] " David Laight
2022-01-20  9:12         ` David Laight
2022-01-20  9:12         ` [Nouveau] " David Laight
2022-01-20  9:12       ` Jani Nikula
2022-01-20  9:12         ` Jani Nikula
2022-01-20  9:12         ` [Intel-gfx] " Jani Nikula
2022-01-20  9:12         ` Jani Nikula
2022-01-20  9:12         ` [Nouveau] " Jani Nikula
2022-01-20 10:45         ` Petr Mladek
2022-01-20 10:45           ` Petr Mladek
2022-01-20 10:45           ` [Nouveau] " Petr Mladek
2022-01-20 10:45           ` [Intel-gfx] " Petr Mladek
2022-01-20 10:45           ` Petr Mladek

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=20220119072450.2890107-2-lucas.demarchi@intel.com \
    --to=lucas.demarchi@intel.com \
    --cc=airlied@linux.ie \
    --cc=akpm@linux-foundation.org \
    --cc=alexander.deucher@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=bskeggs@redhat.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=christian.koenig@amd.com \
    --cc=daniel@ffwll.ch \
    --cc=davem@davemloft.net \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=emma@anholt.net \
    --cc=eryk.brol@amd.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=harry.wentland@amd.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=joonas.lahtinen@linux.intel.com \
    --cc=julia.lawall@lip6.fr \
    --cc=kuba@kernel.org \
    --cc=laniel_francis@privacyrequired.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=linux@rasmusvillemoes.dk \
    --cc=mikita.lipski@amd.com \
    --cc=netdev@vger.kernel.org \
    --cc=nouveau@lists.freedesktop.org \
    --cc=pmladek@suse.com \
    --cc=rahul.lakkireddy@chelsio.com \
    --cc=rajur@chelsio.com \
    --cc=rodrigo.vivi@intel.com \
    --cc=rostedt@goodmis.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=sergey.senozhatsky@gmail.com \
    --cc=sunpeng.li@amd.com \
    --cc=takedakn@nttdata.co.jp \
    --cc=vishal@chelsio.com \
    /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.