All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next v2 1/3] string_helpers: Move string_is_valid() to the header
@ 2023-02-06 16:13 Andy Shevchenko
  2023-02-06 16:13 ` [PATCH net-next v2 2/3] genetlink: Use string_is_valid() helper Andy Shevchenko
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Andy Shevchenko @ 2023-02-06 16:13 UTC (permalink / raw)
  To: Andy Shevchenko, Jakub Kicinski, Xin Long, linux-kernel, netdev,
	dev, tipc-discussion
  Cc: Andy Shevchenko, David S. Miller, Eric Dumazet, Paolo Abeni,
	Pravin B Shelar, Jon Maloy, Ying Xue, Simon Horman

Move string_is_valid() to the header for wider use.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
---
v2: added tag and updated subject (Simon)
 include/linux/string_helpers.h | 5 +++++
 net/tipc/netlink_compat.c      | 6 +-----
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/include/linux/string_helpers.h b/include/linux/string_helpers.h
index 88fb8e1d0421..01c9a432865a 100644
--- a/include/linux/string_helpers.h
+++ b/include/linux/string_helpers.h
@@ -12,6 +12,11 @@ struct device;
 struct file;
 struct task_struct;
 
+static inline bool string_is_valid(const char *s, int len)
+{
+	return memchr(s, '\0', len) ? true : false;
+}
+
 /* Descriptions of the types of units to
  * print in */
 enum string_size_units {
diff --git a/net/tipc/netlink_compat.c b/net/tipc/netlink_compat.c
index dfea27a906f2..75186cd551a0 100644
--- a/net/tipc/netlink_compat.c
+++ b/net/tipc/netlink_compat.c
@@ -39,6 +39,7 @@
 #include "node.h"
 #include "net.h"
 #include <net/genetlink.h>
+#include <linux/string_helpers.h>
 #include <linux/tipc_config.h>
 
 /* The legacy API had an artificial message length limit called
@@ -173,11 +174,6 @@ static struct sk_buff *tipc_get_err_tlv(char *str)
 	return buf;
 }
 
-static inline bool string_is_valid(char *s, int len)
-{
-	return memchr(s, '\0', len) ? true : false;
-}
-
 static int __tipc_nl_compat_dumpit(struct tipc_nl_compat_cmd_dump *cmd,
 				   struct tipc_nl_compat_msg *msg,
 				   struct sk_buff *arg)
-- 
2.39.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH net-next v2 2/3] genetlink: Use string_is_valid() helper
  2023-02-06 16:13 [PATCH net-next v2 1/3] string_helpers: Move string_is_valid() to the header Andy Shevchenko
@ 2023-02-06 16:13 ` Andy Shevchenko
  2023-02-06 16:13 ` [PATCH net-next v2 3/3] openvswitch: " Andy Shevchenko
  2023-02-08  4:29 ` [PATCH net-next v2 1/3] string_helpers: Move string_is_valid() to the header Jakub Kicinski
  2 siblings, 0 replies; 5+ messages in thread
From: Andy Shevchenko @ 2023-02-06 16:13 UTC (permalink / raw)
  To: Andy Shevchenko, Jakub Kicinski, Xin Long, linux-kernel, netdev,
	dev, tipc-discussion
  Cc: Andy Shevchenko, David S. Miller, Eric Dumazet, Paolo Abeni,
	Pravin B Shelar, Jon Maloy, Ying Xue, Simon Horman

Use string_is_valid() helper instead of cpecific memchr() call.
This shows better the intention of the call.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
---
v2: added tag and updated subject (Simon)
 net/netlink/genetlink.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/netlink/genetlink.c b/net/netlink/genetlink.c
index 600993c80050..d7616c1bda93 100644
--- a/net/netlink/genetlink.c
+++ b/net/netlink/genetlink.c
@@ -13,7 +13,7 @@
 #include <linux/errno.h>
 #include <linux/types.h>
 #include <linux/socket.h>
-#include <linux/string.h>
+#include <linux/string_helpers.h>
 #include <linux/skbuff.h>
 #include <linux/mutex.h>
 #include <linux/bitmap.h>
@@ -457,7 +457,7 @@ static int genl_validate_assign_mc_groups(struct genl_family *family)
 
 		if (WARN_ON(grp->name[0] == '\0'))
 			return -EINVAL;
-		if (WARN_ON(memchr(grp->name, '\0', GENL_NAMSIZ) == NULL))
+		if (WARN_ON(!string_is_valid(grp->name, GENL_NAMSIZ)))
 			return -EINVAL;
 	}
 
-- 
2.39.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH net-next v2 3/3] openvswitch: Use string_is_valid() helper
  2023-02-06 16:13 [PATCH net-next v2 1/3] string_helpers: Move string_is_valid() to the header Andy Shevchenko
  2023-02-06 16:13 ` [PATCH net-next v2 2/3] genetlink: Use string_is_valid() helper Andy Shevchenko
@ 2023-02-06 16:13 ` Andy Shevchenko
  2023-02-08  4:29 ` [PATCH net-next v2 1/3] string_helpers: Move string_is_valid() to the header Jakub Kicinski
  2 siblings, 0 replies; 5+ messages in thread
From: Andy Shevchenko @ 2023-02-06 16:13 UTC (permalink / raw)
  To: Andy Shevchenko, Jakub Kicinski, Xin Long, linux-kernel, netdev,
	dev, tipc-discussion
  Cc: Andy Shevchenko, David S. Miller, Eric Dumazet, Paolo Abeni,
	Pravin B Shelar, Jon Maloy, Ying Xue, Simon Horman

Use string_is_valid() helper instead of cpecific memchr() call.
This shows better the intention of the call.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
---
v2: added tag and updated subject (Simon)
 net/openvswitch/conntrack.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/net/openvswitch/conntrack.c b/net/openvswitch/conntrack.c
index 2172930b1f17..1d65805e79b4 100644
--- a/net/openvswitch/conntrack.c
+++ b/net/openvswitch/conntrack.c
@@ -9,6 +9,7 @@
 #include <linux/udp.h>
 #include <linux/sctp.h>
 #include <linux/static_key.h>
+#include <linux/string_helpers.h>
 #include <net/ip.h>
 #include <net/genetlink.h>
 #include <net/netfilter/nf_conntrack_core.h>
@@ -1383,7 +1384,7 @@ static int parse_ct(const struct nlattr *attr, struct ovs_conntrack_info *info,
 #endif
 		case OVS_CT_ATTR_HELPER:
 			*helper = nla_data(a);
-			if (!memchr(*helper, '\0', nla_len(a))) {
+			if (!string_is_valid(*helper, nla_len(a))) {
 				OVS_NLERR(log, "Invalid conntrack helper");
 				return -EINVAL;
 			}
@@ -1404,7 +1405,7 @@ static int parse_ct(const struct nlattr *attr, struct ovs_conntrack_info *info,
 #ifdef CONFIG_NF_CONNTRACK_TIMEOUT
 		case OVS_CT_ATTR_TIMEOUT:
 			memcpy(info->timeout, nla_data(a), nla_len(a));
-			if (!memchr(info->timeout, '\0', nla_len(a))) {
+			if (!string_is_valid(info->timeout, nla_len(a))) {
 				OVS_NLERR(log, "Invalid conntrack timeout");
 				return -EINVAL;
 			}
-- 
2.39.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH net-next v2 1/3] string_helpers: Move string_is_valid() to the header
  2023-02-06 16:13 [PATCH net-next v2 1/3] string_helpers: Move string_is_valid() to the header Andy Shevchenko
  2023-02-06 16:13 ` [PATCH net-next v2 2/3] genetlink: Use string_is_valid() helper Andy Shevchenko
  2023-02-06 16:13 ` [PATCH net-next v2 3/3] openvswitch: " Andy Shevchenko
@ 2023-02-08  4:29 ` Jakub Kicinski
  2023-02-08 11:15   ` Andy Shevchenko
  2 siblings, 1 reply; 5+ messages in thread
From: Jakub Kicinski @ 2023-02-08  4:29 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Xin Long, linux-kernel, netdev, dev, tipc-discussion,
	Andy Shevchenko, David S. Miller, Eric Dumazet, Paolo Abeni,
	Pravin B Shelar, Jon Maloy, Ying Xue, Simon Horman

On Mon,  6 Feb 2023 18:13:12 +0200 Andy Shevchenko wrote:
> +static inline bool string_is_valid(const char *s, int len)
> +{
> +	return memchr(s, '\0', len) ? true : false;
> +}

I was tempted to suggest adding a kdoc, but perhaps the function
doesn't have an obvious enough name? Maybe we should call the helper
string_is_terminated(), instead?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH net-next v2 1/3] string_helpers: Move string_is_valid() to the header
  2023-02-08  4:29 ` [PATCH net-next v2 1/3] string_helpers: Move string_is_valid() to the header Jakub Kicinski
@ 2023-02-08 11:15   ` Andy Shevchenko
  0 siblings, 0 replies; 5+ messages in thread
From: Andy Shevchenko @ 2023-02-08 11:15 UTC (permalink / raw)
  To: Jakub Kicinski
  Cc: Andy Shevchenko, Xin Long, linux-kernel, netdev, dev,
	tipc-discussion, Andy Shevchenko, David S. Miller, Eric Dumazet,
	Paolo Abeni, Pravin B Shelar, Jon Maloy, Ying Xue, Simon Horman

On Wed, Feb 8, 2023 at 6:29 AM Jakub Kicinski <kuba@kernel.org> wrote:
> On Mon,  6 Feb 2023 18:13:12 +0200 Andy Shevchenko wrote:
> > +static inline bool string_is_valid(const char *s, int len)
> > +{
> > +     return memchr(s, '\0', len) ? true : false;
> > +}
>
> I was tempted to suggest adding a kdoc, but perhaps the function
> doesn't have an obvious enough name? Maybe we should call the helper
> string_is_terminated(), instead?

Sure.

-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-02-08 11:18 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-06 16:13 [PATCH net-next v2 1/3] string_helpers: Move string_is_valid() to the header Andy Shevchenko
2023-02-06 16:13 ` [PATCH net-next v2 2/3] genetlink: Use string_is_valid() helper Andy Shevchenko
2023-02-06 16:13 ` [PATCH net-next v2 3/3] openvswitch: " Andy Shevchenko
2023-02-08  4:29 ` [PATCH net-next v2 1/3] string_helpers: Move string_is_valid() to the header Jakub Kicinski
2023-02-08 11:15   ` Andy Shevchenko

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.