From patchwork Wed Feb 8 13:31:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 54428 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp3457548wrn; Wed, 8 Feb 2023 05:34:09 -0800 (PST) X-Google-Smtp-Source: AK7set9uiCXbUD7shE2caLXlyOlyZXCXNE+2M7RFv8nnGpTgoVQNbWzSyNtIjNAiOXd2urMlI5t6 X-Received: by 2002:a17:906:d0:b0:882:bffc:f2d2 with SMTP id 16-20020a17090600d000b00882bffcf2d2mr6939780eji.2.1675863249563; Wed, 08 Feb 2023 05:34:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675863249; cv=none; d=google.com; s=arc-20160816; b=dXARfwC+zAdJChU+mmOL/rAoZDWVfMXhsZ+yJgBoL1qEpq0KYCWbdD1FiCwgLZGaUk z64MOkt8KKWl1DPBRe+gJYQIS6KVrle2ej9iEZwvL3JWlKvigZM5n/4TncsbBjO6zMlY 7lFfffJUqjuu+1nIB7m2auxkTuUlqHGraFtMk+WVmD9/e3AP11cb3Qd5psVHv5x0mCrM yIKBqjT7PHlD4Bv/hm9a1QF37u2j6kAxQaZJP1QynKghtTZI+IIw2kkXI2ksWPeOH/3L pHwEd3ak3QI52A8Ger+kyTEKzOq3TkE2E52r3q/+F7K4DB2h69qB1wNAqvTGz2Ieo/Lf tIEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=63z5qmZMizyWNxg6WslyT4Ov37Np4t2Rj/TELFw9hGo=; b=iiteRGAJqgZ24H1ScEZbr7n+YrGrv+Qt/exhLcHkmjHHL6FblEhUWom2UUSwvJTh6s FnzJAONNaYfEpBNSMOKxA+/dzmT9uwbWE8hNjvKNP43obQ8D7HhzjyacOPjtImgyj7Xc gBOlsXshoAqhwBo2dYiTBQgb5lRr9D37j3W6H2CLJlW+vfCOhrP/yWc3YaOUB3E/6AFB xoTQqVKSNCFjpTacQ/EbBfPQAusuWJHOaIeoXLt26RqZ7L2VfcS1BHoOfagbqs1z4mOd JNu/uHLV08SsEUCcBLL3fwSpMaGrf/ZCPeQSEJOo/Kt3jf4hYWH0rPdcUKbTb2FxcV/F fe4Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=QD16U+qI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c23-20020a170906155700b0088fa53e30a3si17261215ejd.1002.2023.02.08.05.33.42; Wed, 08 Feb 2023 05:34:09 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=QD16U+qI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230370AbjBHNbg (ORCPT + 99 others); Wed, 8 Feb 2023 08:31:36 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35402 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230010AbjBHNba (ORCPT ); Wed, 8 Feb 2023 08:31:30 -0500 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CB1F142DF9; Wed, 8 Feb 2023 05:31:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1675863083; x=1707399083; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=iRdp3KV5xmAJg0zcHWue1GbSneGTwjsPjdu/wNNtJlw=; b=QD16U+qI0sKd0YjgmPneiUn62GNFOBjJet5IgQndHdonwt4oWCla4NUL /oI9XeEF+UrXToeC/6kqg6+rG7lms/wB07bA5gQ307i5wFFVLrfG+bDYw keiXTBHgxZQyhttGYFlDxM0qSmtmYEqTB4dqk5x6rfzt7H9GZp5uagVSE t9tW05PfvpNTeeJSk29LBl+jiaODikCZ3gf0juMNmuXz73gi3uyfIZSrx P7pSahC4oTdNrIAAwyjdVHt7v9VsKcIMr2Gpew0BxVIo+WbeVDlbbNNk5 oq5J/mWmFVISOzJHaitvzuMzOMFWV8rTrz25DQJrcrUlP+1cWtN88il3z w==; X-IronPort-AV: E=McAfee;i="6500,9779,10615"; a="357188514" X-IronPort-AV: E=Sophos;i="5.97,280,1669104000"; d="scan'208";a="357188514" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Feb 2023 05:31:23 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10615"; a="669197631" X-IronPort-AV: E=Sophos;i="5.97,280,1669104000"; d="scan'208";a="669197631" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga007.fm.intel.com with ESMTP; 08 Feb 2023 05:31:20 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id ADDFF1F8; Wed, 8 Feb 2023 15:31:58 +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: "David S. Miller" , Eric Dumazet , Paolo Abeni , Pravin B Shelar , Jon Maloy , Ying Xue , Simon Horman Subject: [PATCH net-next v3 1/3] string_helpers: Move string_is_valid() to the header Date: Wed, 8 Feb 2023 15:31:51 +0200 Message-Id: <20230208133153.22528-1-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.39.1 MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1757269982816237948?= X-GMAIL-MSGID: =?utf-8?q?1757269982816237948?= Move string_is_valid() to the header for wider use. While at it, rename to string_is_terminated() to be precise about its semantics. Signed-off-by: Andy Shevchenko Reviewed-by: Simon Horman Reviewed-by: Jiri Pirko --- v3: renamed to string_is_terminated (Jakub) v2: added tag and updated subject (Simon) include/linux/string_helpers.h | 5 +++++ net/tipc/netlink_compat.c | 16 ++++++---------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/include/linux/string_helpers.h b/include/linux/string_helpers.h index 8530c7328269..fae6beaaa217 100644 --- a/include/linux/string_helpers.h +++ b/include/linux/string_helpers.h @@ -11,6 +11,11 @@ struct device; struct file; struct task_struct; +static inline bool string_is_terminated(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..9b47c8409231 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) @@ -445,7 +441,7 @@ static int tipc_nl_compat_bearer_enable(struct tipc_nl_compat_cmd_doit *cmd, return -EINVAL; len = min_t(int, len, TIPC_MAX_BEARER_NAME); - if (!string_is_valid(b->name, len)) + if (!string_is_terminated(b->name, len)) return -EINVAL; if (nla_put_string(skb, TIPC_NLA_BEARER_NAME, b->name)) @@ -486,7 +482,7 @@ static int tipc_nl_compat_bearer_disable(struct tipc_nl_compat_cmd_doit *cmd, return -EINVAL; len = min_t(int, len, TIPC_MAX_BEARER_NAME); - if (!string_is_valid(name, len)) + if (!string_is_terminated(name, len)) return -EINVAL; if (nla_put_string(skb, TIPC_NLA_BEARER_NAME, name)) @@ -584,7 +580,7 @@ static int tipc_nl_compat_link_stat_dump(struct tipc_nl_compat_msg *msg, return -EINVAL; len = min_t(int, len, TIPC_MAX_LINK_NAME); - if (!string_is_valid(name, len)) + if (!string_is_terminated(name, len)) return -EINVAL; if (strcmp(name, nla_data(link[TIPC_NLA_LINK_NAME])) != 0) @@ -819,7 +815,7 @@ static int tipc_nl_compat_link_set(struct tipc_nl_compat_cmd_doit *cmd, return -EINVAL; len = min_t(int, len, TIPC_MAX_LINK_NAME); - if (!string_is_valid(lc->name, len)) + if (!string_is_terminated(lc->name, len)) return -EINVAL; media = tipc_media_find(lc->name); @@ -856,7 +852,7 @@ static int tipc_nl_compat_link_reset_stats(struct tipc_nl_compat_cmd_doit *cmd, return -EINVAL; len = min_t(int, len, TIPC_MAX_LINK_NAME); - if (!string_is_valid(name, len)) + if (!string_is_terminated(name, len)) return -EINVAL; if (nla_put_string(skb, TIPC_NLA_LINK_NAME, name))