From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id A025DA0613 for ; Tue, 27 Aug 2019 11:31:49 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 901561BFE1; Tue, 27 Aug 2019 11:31:49 +0200 (CEST) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id C08581C0BD for ; Tue, 27 Aug 2019 11:31:47 +0200 (CEST) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 422BB308212A; Tue, 27 Aug 2019 09:31:47 +0000 (UTC) Received: from rh.redhat.com (ovpn-117-48.ams2.redhat.com [10.36.117.48]) by smtp.corp.redhat.com (Postfix) with ESMTP id 35CFD5C1D6; Tue, 27 Aug 2019 09:31:46 +0000 (UTC) From: Kevin Traynor To: Stephen Hemminger Cc: Ferruh Yigit , dpdk stable Date: Tue, 27 Aug 2019 10:30:21 +0100 Message-Id: <20190827093032.20423-44-ktraynor@redhat.com> In-Reply-To: <20190827093032.20423-1-ktraynor@redhat.com> References: <20190827093032.20423-1-ktraynor@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.42]); Tue, 27 Aug 2019 09:31:47 +0000 (UTC) Subject: [dpdk-stable] patch 'kni: fix copy_from_user failure handling' has been queued to LTS release 18.11.3 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Hi, FYI, your patch has been queued to LTS release 18.11.3 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 09/03/19. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/kevintraynor/dpdk-stable-queue This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable-queue/commit/7597357d4a351a4a87d8441bf9e35571ab8bd19c Thanks. Kevin Traynor --- >From 7597357d4a351a4a87d8441bf9e35571ab8bd19c Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Mon, 24 Jun 2019 09:47:11 -0700 Subject: [PATCH] kni: fix copy_from_user failure handling [ upstream commit 21dde05a95bb301d485ac2c332a80271213e67c3 ] The correct thing to return if user gives a bad data is to return -EFAULT. Logging is also discouraged because it could be used as a DoS attack. Signed-off-by: Stephen Hemminger Acked-by: Ferruh Yigit --- kernel/linux/kni/kni_misc.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/kernel/linux/kni/kni_misc.c b/kernel/linux/kni/kni_misc.c index b74e8a3a6..8bf0e2103 100644 --- a/kernel/linux/kni/kni_misc.c +++ b/kernel/linux/kni/kni_misc.c @@ -319,9 +319,6 @@ kni_ioctl_create(struct net *net, uint32_t ioctl_num, /* Copy kni info from user space */ - ret = copy_from_user(&dev_info, (void *)ioctl_param, sizeof(dev_info)); - if (ret) { - pr_err("copy_from_user in kni_ioctl_create"); - return -EIO; - } + if (copy_from_user(&dev_info, (void *)ioctl_param, sizeof(dev_info))) + return -EFAULT; /* Check if name is zero-ended */ @@ -496,13 +493,10 @@ kni_ioctl_release(struct net *net, uint32_t ioctl_num, return -EINVAL; - ret = copy_from_user(&dev_info, (void *)ioctl_param, sizeof(dev_info)); - if (ret) { - pr_err("copy_from_user in kni_ioctl_release"); - return -EIO; - } + if (copy_from_user(&dev_info, (void *)ioctl_param, sizeof(dev_info))) + return -EFAULT; /* Release the network device according to its name */ if (strlen(dev_info.name) == 0) - return ret; + return -EINVAL; down_write(&knet->kni_list_lock); -- 2.20.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2019-08-27 09:40:13.311807116 +0100 +++ 0044-kni-fix-copy_from_user-failure-handling.patch 2019-08-27 09:40:10.941143878 +0100 @@ -1 +1 @@ -From 21dde05a95bb301d485ac2c332a80271213e67c3 Mon Sep 17 00:00:00 2001 +From 7597357d4a351a4a87d8441bf9e35571ab8bd19c Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 21dde05a95bb301d485ac2c332a80271213e67c3 ] + @@ -17 +19 @@ -index b59cf24c2..be45f8234 100644 +index b74e8a3a6..8bf0e2103 100644 @@ -20 +22 @@ -@@ -302,9 +302,6 @@ kni_ioctl_create(struct net *net, uint32_t ioctl_num, +@@ -319,9 +319,6 @@ kni_ioctl_create(struct net *net, uint32_t ioctl_num, @@ -32 +34 @@ -@@ -428,13 +425,10 @@ kni_ioctl_release(struct net *net, uint32_t ioctl_num, +@@ -496,13 +493,10 @@ kni_ioctl_release(struct net *net, uint32_t ioctl_num,