From patchwork Fri Feb 3 14:04:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 13127636 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BC4A0C61DA4 for ; Fri, 3 Feb 2023 14:07:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233732AbjBCOHY (ORCPT ); Fri, 3 Feb 2023 09:07:24 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49072 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233715AbjBCOHD (ORCPT ); Fri, 3 Feb 2023 09:07:03 -0500 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 10AECA56D3; Fri, 3 Feb 2023 06:04:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1675433087; x=1706969087; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=WaRnlHu7jSxKhE/JvaLSEplkobKDBaDVdAs1fxRPxZg=; b=BDxU84EdEZZm+xd0vZwszszOluxt+9wSkos6pP4rAh4/OWiQnX0QD665 /b2UmzreG/GJZhsxNV6oV7QZJBCyM7rUbfDeR0iqyFzK+ocFlukUJs3y/ +Yrfoae9H+8LNjXseIFxqiuQzEuB1G/cVfzUHj/vHLtaGsKCt+hXR3Ywc SHCNqshat5wXAdvTHKbZAdPAg3Q0gpIzopV7W0LCBhcS5HXQRRI5ccrOz ygOLLEo5yZx6YJ0YYRqfCjZuedwAR2HQX1o7FtBSeHqqyO1fqbL4huuFp UlLSkuzpJZp6p1iBxj+olt1KwRd1D2PiS5MiWWWuOq/2PBpEJiFHJLO5K g==; X-IronPort-AV: E=McAfee;i="6500,9779,10610"; a="356094850" X-IronPort-AV: E=Sophos;i="5.97,270,1669104000"; d="scan'208";a="356094850" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Feb 2023 06:04:46 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10610"; a="729273241" X-IronPort-AV: E=Sophos;i="5.97,270,1669104000"; d="scan'208";a="729273241" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga008.fm.intel.com with ESMTP; 03 Feb 2023 06:04:43 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id B2D0C358; Fri, 3 Feb 2023 16:05:20 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , Jakub Kicinski , Xin Long , linux-kernel@vger.kernel.org, netdev@vger.kernel.org, dev@openvswitch.org, tipc-discussion@lists.sourceforge.net Cc: Andy Shevchenko , "David S. Miller" , Eric Dumazet , Paolo Abeni , Pravin B Shelar , Jon Maloy , Ying Xue Subject: [PATCH v1 1/3] string_helpers: Move string_is_valid() to the header Date: Fri, 3 Feb 2023 16:04:59 +0200 Message-Id: <20230203140501.67659-1-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.39.1 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org Move string_is_valid() to the header for wider use. Signed-off-by: Andy Shevchenko Reviewed-by: Simon Horman --- 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 +#include #include /* 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) From patchwork Fri Feb 3 14:05:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 13127637 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 44E1CC05027 for ; Fri, 3 Feb 2023 14:07:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233775AbjBCOH1 (ORCPT ); Fri, 3 Feb 2023 09:07:27 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48112 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233770AbjBCOHI (ORCPT ); Fri, 3 Feb 2023 09:07:08 -0500 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 85BB6A58C2; Fri, 3 Feb 2023 06:04:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1675433088; x=1706969088; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=u+t+Nxtc784jnlWxX2i/aMwjTnnQt1oZefzR6lfuUXU=; b=hDo02lTvTxvxMcSbUwAgl2PWbFsPdBsynl0eYYyiqymEvNFPpbujALZH GhoKBZL0Yxa+ibcoUy6QgQb8EKAKdoqpHDv/L24PwqWCf12AEWj4Oetd1 nCzXpSHInWgR6k+qP4LKomhRPZ5qSAi6BPLySt03TVgUSfwez7+tbDNp8 K+9sXOrb9tNuG6180gyJbiw0EDjefPZJv2z3mjq6/XYt60g4n1E1ar0kx Vn+tr/uTlWeUHm7Wa5M+zsO0fQKhpCGxqwGGQs6m6j5T/kHYlYn161xti sn2dzK8TEHrkqwNln1xxZr1dB+wdSDu8uvIS19kvvl8YItk/k6OQf3AxV A==; X-IronPort-AV: E=McAfee;i="6500,9779,10610"; a="356094862" X-IronPort-AV: E=Sophos;i="5.97,270,1669104000"; d="scan'208";a="356094862" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Feb 2023 06:04:47 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10610"; a="729273245" X-IronPort-AV: E=Sophos;i="5.97,270,1669104000"; d="scan'208";a="729273245" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga008.fm.intel.com with ESMTP; 03 Feb 2023 06:04:44 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 55FF43B9; Fri, 3 Feb 2023 16:05:22 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , Jakub Kicinski , Xin Long , linux-kernel@vger.kernel.org, netdev@vger.kernel.org, dev@openvswitch.org, tipc-discussion@lists.sourceforge.net Cc: Andy Shevchenko , "David S. Miller" , Eric Dumazet , Paolo Abeni , Pravin B Shelar , Jon Maloy , Ying Xue Subject: [PATCH v1 2/3] genetlink: Use string_is_valid() helper Date: Fri, 3 Feb 2023 16:05:00 +0200 Message-Id: <20230203140501.67659-2-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230203140501.67659-1-andriy.shevchenko@linux.intel.com> References: <20230203140501.67659-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org Use string_is_valid() helper instead of cpecific memchr() call. This shows better the intention of the call. Signed-off-by: Andy Shevchenko Reviewed-by: Simon Horman --- 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 #include #include -#include +#include #include #include #include @@ -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; } From patchwork Fri Feb 3 14:05:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 13127638 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3275FC61DA4 for ; Fri, 3 Feb 2023 14:07:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233811AbjBCOHf (ORCPT ); Fri, 3 Feb 2023 09:07:35 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48890 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233785AbjBCOHK (ORCPT ); Fri, 3 Feb 2023 09:07:10 -0500 Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 22140A7007; Fri, 3 Feb 2023 06:04:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1675433093; x=1706969093; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=IEFz6QAgddcxfiR8Ghuc1c4KiIs3u68VGpMZSHRqEKw=; b=Ubsm4zv1GRZ82C4LmE/Vy2+1GtyKsmbzpIBUgdeMF6l2GOA6rf1eeOvm jYG/7wMY7P9DqCjareBV0asKvkV1ypKZvOyJvYHtRWR3tznirONGHFZmo ZIeNDjpoG3993di2+XfvLkpcbePKt/MTXb67fSM0SEmedQU3IGxLU/l2i c7FER57Y4QWukiyzh2DOSWvi7h4gCRlMTNUDrSzw0QOkGYtvXkrgcbHIa 0WFrz9BtxqDsKK85sVT8fINCWgwsZETbOg5jzBMoeAyaYirRvru9r3mdB DqKXwrjlEuXDRN22oFK4+eaTKdfXLy5vF7f4cBKp/D9tcOYaJOdq+8uo1 A==; X-IronPort-AV: E=McAfee;i="6500,9779,10610"; a="391149052" X-IronPort-AV: E=Sophos;i="5.97,270,1669104000"; d="scan'208";a="391149052" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Feb 2023 06:04:48 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10610"; a="808370499" X-IronPort-AV: E=Sophos;i="5.97,270,1669104000"; d="scan'208";a="808370499" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 03 Feb 2023 06:04:45 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id E1EF73CC; Fri, 3 Feb 2023 16:05:22 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , Jakub Kicinski , Xin Long , linux-kernel@vger.kernel.org, netdev@vger.kernel.org, dev@openvswitch.org, tipc-discussion@lists.sourceforge.net Cc: Andy Shevchenko , "David S. Miller" , Eric Dumazet , Paolo Abeni , Pravin B Shelar , Jon Maloy , Ying Xue Subject: [PATCH v1 3/3] openvswitch: Use string_is_valid() helper Date: Fri, 3 Feb 2023 16:05:01 +0200 Message-Id: <20230203140501.67659-3-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230203140501.67659-1-andriy.shevchenko@linux.intel.com> References: <20230203140501.67659-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org Use string_is_valid() helper instead of cpecific memchr() call. This shows better the intention of the call. Signed-off-by: Andy Shevchenko Reviewed-by: Simon Horman --- 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 #include #include +#include #include #include #include @@ -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; }