* [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.