From patchwork Mon Sep 21 16:41:29 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Parav Pandit X-Patchwork-Id: 1368517 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=nvidia.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=nvidia.com header.i=@nvidia.com header.a=rsa-sha256 header.s=n1 header.b=Jdz0gQl9; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4Bw9Fp0bsmzB3tk for ; Tue, 22 Sep 2020 02:42:04 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729187AbgIUQmD (ORCPT ); Mon, 21 Sep 2020 12:42:03 -0400 Received: from hqnvemgate24.nvidia.com ([216.228.121.143]:7006 "EHLO hqnvemgate24.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728566AbgIUQlp (ORCPT ); Mon, 21 Sep 2020 12:41:45 -0400 Received: from hqmail.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate24.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Mon, 21 Sep 2020 09:40:11 -0700 Received: from sw-mtx-036.mtx.labs.mlnx (10.124.1.5) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Mon, 21 Sep 2020 16:41:43 +0000 From: Parav Pandit To: , , CC: Parav Pandit , Jiri Pirko Subject: [PATCH net-next 1/2] devlink: Enhance policy to validate eswitch mode value Date: Mon, 21 Sep 2020 19:41:29 +0300 Message-ID: <20200921164130.83720-2-parav@nvidia.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200921164130.83720-1-parav@nvidia.com> References: <20200921164130.83720-1-parav@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.124.1.5] X-ClientProxiedBy: HQMAIL105.nvidia.com (172.20.187.12) To HQMAIL107.nvidia.com (172.20.187.13) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1600706411; bh=ZBvyhuSngg9GjiVPl7vGvHXNJ6PJDH2p0sWe9mXGZ48=; h=From:To:CC:Subject:Date:Message-ID:X-Mailer:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:Content-Type: X-Originating-IP:X-ClientProxiedBy; b=Jdz0gQl9zo0hp6R5Ej+7MtQWrRUnAMUAUAiTt+85or7PivwuUHwNh06Wju9lDktV+ l14OfFPZVp4SeqsBqR2UBvdZVg4lLG2lvbpL5uHaUwkUHpPlo7MBhHDt6iPB2V0kvz 99HV7EkUB8g82Z+2PvSNnrJij1gRpoJ1hfYFN7JudRj1VJfp73GQwMsqPAC/PWELm5 pK1zRv6l4nDTFXcHijX8GC+HgOMRtXUzBtlb8t1YqdBNurujoPYckpPPnPynuNPjHo rxQfCxU3Er5ewRzy8EiSfshUcRpgiGYIZmoucaOG5Ma4CBzKRLM/raPUxMa2NocdnH plKd7sC34IB0g== Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Use range checking facility of nla_policy to validate eswitch mode input attribute value is valid or not. Signed-off-by: Parav Pandit Reviewed-by: Jiri Pirko --- net/core/devlink.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/core/devlink.c b/net/core/devlink.c index 25dd9309e86f..4ecc68a9c7df 100644 --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -7202,7 +7202,8 @@ static const struct nla_policy devlink_nl_policy[DEVLINK_ATTR_MAX + 1] = { [DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE] = { .type = NLA_U8 }, [DEVLINK_ATTR_SB_THRESHOLD] = { .type = NLA_U32 }, [DEVLINK_ATTR_SB_TC_INDEX] = { .type = NLA_U16 }, - [DEVLINK_ATTR_ESWITCH_MODE] = { .type = NLA_U16 }, + [DEVLINK_ATTR_ESWITCH_MODE] = NLA_POLICY_RANGE(NLA_U16, DEVLINK_ESWITCH_MODE_LEGACY, + DEVLINK_ESWITCH_MODE_SWITCHDEV), [DEVLINK_ATTR_ESWITCH_INLINE_MODE] = { .type = NLA_U8 }, [DEVLINK_ATTR_ESWITCH_ENCAP_MODE] = { .type = NLA_U8 }, [DEVLINK_ATTR_DPIPE_TABLE_NAME] = { .type = NLA_NUL_STRING }, From patchwork Mon Sep 21 16:41:30 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Parav Pandit X-Patchwork-Id: 1368518 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=nvidia.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=nvidia.com header.i=@nvidia.com header.a=rsa-sha256 header.s=n1 header.b=Bwix/f3w; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4Bw9Fr6dLhz9sWQ for ; Tue, 22 Sep 2020 02:42:08 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729478AbgIUQmC (ORCPT ); Mon, 21 Sep 2020 12:42:02 -0400 Received: from hqnvemgate26.nvidia.com ([216.228.121.65]:15086 "EHLO hqnvemgate26.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729462AbgIUQlp (ORCPT ); Mon, 21 Sep 2020 12:41:45 -0400 Received: from hqmail.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate26.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Mon, 21 Sep 2020 09:41:32 -0700 Received: from sw-mtx-036.mtx.labs.mlnx (10.124.1.5) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Mon, 21 Sep 2020 16:41:44 +0000 From: Parav Pandit To: , , CC: Parav Pandit , Jiri Pirko Subject: [PATCH net-next 2/2] devlink: Enhance policy to validate port type input value Date: Mon, 21 Sep 2020 19:41:30 +0300 Message-ID: <20200921164130.83720-3-parav@nvidia.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200921164130.83720-1-parav@nvidia.com> References: <20200921164130.83720-1-parav@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.124.1.5] X-ClientProxiedBy: HQMAIL105.nvidia.com (172.20.187.12) To HQMAIL107.nvidia.com (172.20.187.13) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1600706492; bh=cUlrYjAnKT7H82kOLwHGK8j1rSD5DHVrv8T0r9D1Y1s=; h=From:To:CC:Subject:Date:Message-ID:X-Mailer:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:Content-Type: X-Originating-IP:X-ClientProxiedBy; b=Bwix/f3wM8WjUmxT+QzS1zUFD8zk7TdZGJVpfczAOs/JO8w/ypvGJCgAE6vTeh6GV nPDbUR6jU6KYXx9iTboyVzAIuHWYDOEzaYnOx4q2bTdf/umIsp86hXQ+4c57T0GHu+ zFRKwM4CPElEWuVoGWeQ1fHp4/HxCNqpbTRicQ8XEkpF6BJbvQPGs3H4NF1xOpTV3l sHIfpkbSVtoHaeamLWzWVEeg1CHhGMsBt/Qv5W+tGHuAioqhczB1O4yfNs9sHNeBl2 KeL9W3oboMMNRFhwUboYlQGVJb3neVDKh+cvVu5gAjThJ7zX78y05G2AGMB/a/WC4H c5mGil4c4p4Rw== Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Use range checking facility of nla_policy to validate port type attribute input value is valid or not. Signed-off-by: Parav Pandit Reviewed-by: Jiri Pirko --- net/core/devlink.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/net/core/devlink.c b/net/core/devlink.c index 4ecc68a9c7df..4494937df7eb 100644 --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -867,8 +867,6 @@ static int devlink_port_type_set(struct devlink *devlink, int err; if (devlink->ops->port_type_set) { - if (port_type == DEVLINK_PORT_TYPE_NOTSET) - return -EINVAL; if (port_type == devlink_port->type) return 0; err = devlink->ops->port_type_set(devlink_port, port_type); @@ -7193,7 +7191,8 @@ static const struct nla_policy devlink_nl_policy[DEVLINK_ATTR_MAX + 1] = { [DEVLINK_ATTR_BUS_NAME] = { .type = NLA_NUL_STRING }, [DEVLINK_ATTR_DEV_NAME] = { .type = NLA_NUL_STRING }, [DEVLINK_ATTR_PORT_INDEX] = { .type = NLA_U32 }, - [DEVLINK_ATTR_PORT_TYPE] = { .type = NLA_U16 }, + [DEVLINK_ATTR_PORT_TYPE] = NLA_POLICY_RANGE(NLA_U16, DEVLINK_PORT_TYPE_AUTO, + DEVLINK_PORT_TYPE_IB), [DEVLINK_ATTR_PORT_SPLIT_COUNT] = { .type = NLA_U32 }, [DEVLINK_ATTR_SB_INDEX] = { .type = NLA_U32 }, [DEVLINK_ATTR_SB_POOL_INDEX] = { .type = NLA_U16 },