From patchwork Thu Feb 13 11:00:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Seiderer X-Patchwork-Id: 13973092 Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 47B80213E92; Thu, 13 Feb 2025 11:00:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.17.22 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739444434; cv=none; b=W1uR4kqD8Xeda2JwpjBt79jLh/k9+ERBAAlOSJpGPILBtvwauz9PM2wl7pmbisluGtWvbK2d/F1VaCc7ZkDwGjEMxYhEHrDDk66wv7DMpP1P4wtXmgdNGMQGY5diSyqBJnSVmtEPXqXNby+cIJfUdUa1MnVhtVQDLPV8oHSg3cw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739444434; c=relaxed/simple; bh=fFpk4exI2Hl0XAPMFw8kqpnzwTJGv5t2BLFzWsp5Rqw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nbluehTSkToOLFG4v6IweQStKQm5f1Cs31/TfiNoKzKbgIF6vRux0VhdHZbm5/MLTKcI1D3g7FZ4rzbFNQALmSu3Kvl8zdK6An6wOTpr2PT5RinG8FWUSSniLwniSFkcEKw2EJVlYkSMX6QKoRaMgXCmdSYHYATdjXm7Dh+GB88= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net; spf=pass smtp.mailfrom=gmx.net; dkim=pass (2048-bit key) header.d=gmx.net header.i=ps.report@gmx.net header.b=UkHjtum1; arc=none smtp.client-ip=212.227.17.22 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmx.net header.i=ps.report@gmx.net header.b="UkHjtum1" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1739444430; x=1740049230; i=ps.report@gmx.net; bh=fFpk4exI2Hl0XAPMFw8kqpnzwTJGv5t2BLFzWsp5Rqw=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-ID:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=UkHjtum1doN3MYOU05o8LyobFv7vPqRIdNCDha6UbSfH1PssZ5MCZ6j741geJGK0 0jGckgIClnShqG2y/9fifvnhe0notklX/vPIek3UkMPEdFpqzT6oTmp4R7z1unatg +edaRZjeUBjMiH8gWyNYoH9yGr+PVL1PYn+n3cJSsesx/V48a5Law2zZWM6TGi7cH xq+mR7g++C4yUswpeCeh7kR767iY7DY8gQk3x31NQkv3NYMvvzN2q6nvD0fpCWgMD bNyoJDNj6hkdW9XZ+82JXb4cGCo/S5k21hGpq1ELChC0E6FErpwoHIHIoPynuutGk lxpvs7lu5foVlpaj2w== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from localhost.fritz.box ([82.135.81.197]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1Mn2WF-1szc1x04db-00fYCz; Thu, 13 Feb 2025 12:00:30 +0100 From: Peter Seiderer To: netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Shuah Khan , Peter Seiderer , Artem Chernyshev , Nam Cao , Frederic Weisbecker Subject: [PATCH net-next v5 1/8] net: pktgen: replace ENOTSUPP with EOPNOTSUPP Date: Thu, 13 Feb 2025 12:00:18 +0100 Message-ID: <20250213110025.1436160-2-ps.report@gmx.net> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250213110025.1436160-1-ps.report@gmx.net> References: <20250213110025.1436160-1-ps.report@gmx.net> Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Provags-ID: V03:K1:+rmbIOsuy+5FgYyLnPLZ6t2Dm/fmGbyhEYagHOsO6N3KVR77WYR wQ/e7oFMkPjlqTl1uVmaGhmZsfiaxQXllfghUy9oS5+eJIiK2oT4zMd7ndF2oWA4GOEGRW3 SdWuFc1nmOgnZtTHnhMWlhWnS8flhoqfCjqR5v1XzgPmg25Mmx+/ix3tzHBJd9cXdFwrpKF mh6Ns4eT50dgjZRCOyFRQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:/yw+3XkZ0Qc=;9YsAN1UpY0vYzNvu71twadr0zI+ MN88dRPS48rceV00ON9Gzug++rJbmUNi6uHruX8RqmQSUyQsIOHaez11UrBGplNXjRjtdqsgx ekpkiKQvXBtDmmNR/tER6nQzmdRpvuN9aKgovMT2N+BIQa9Hzkp45v/65gNtfMyNJ4DN0+FnT JSPYFc3C6cN9NjSpaoYt2rOH4G03UVk1hTMWbdrmt2NM5itQ+Y9eKN0w0mp3eqw+D+Kd2j2id Lo8FN5gWOT0AJnYk+6JpHSgWinh0zIU0paWUi05+7lJ3WR7nvwOZWrpK560HzeVPgWO6Nb3Zj 8MymWM8fr6oxo4L+nDCM/EDq9vTwN+Y8j+q8fK7ep69rLSBjxHhLoXmNqXUCvRfLQvUmep9pM HDYtiVTyQQzKIt6wlWotlymSCRFRJmzxX/HOtqaTiA6NbMXDQ/ftQsGxW/hy7gWBvAjxGVt2G Ftpf6eZScqkkqVIWKL64uWVZng33Z8GD6uUvETrlXK+GgTsbqwtP4hV0zC2Y8VZPLHpJCDzF3 If41xyQE6eSjohV0Tx2MO2ZHwNQ8wecpc9zgmMGyqBlBaEQ9zPjec57e79roGF7WMDteksv+r WVVh9M4QRgzYEZ9pU4jLkgASGGaY80rUwYdaGiMD2vZwQDYoU+YemKH/ZPR+ZeCLSZ6Yw4Z4I e13TN9ivUyCyRJG+HfqH9P+beLcJ2E1zfdy2OD7VHHUc7nGmspK+mKy/QZ0W0g8QaBfLVugEx 9dR4dNtx6W+pHcFQ9sz01yi6i1PvzZm1XweRZ+IF0zbSioihtWIdbqQCFtzXy/s+Y3Wsxt3Yz 38bDkf2QSAY19RIyUymwocRJNyUJl3r1O6ytBwN9YPw28WtodEWaUTJEkiOFX2ny+V0MaN7HD XNvXqpd49wWmpw45tPtBBlwLQccNSTH3v20Gx3V/XUTcG0c9g7hGWxuf7UAlpfOHnUBHWCZeF Vw37G4BadXBijLMYMHhWW0DmKPdnRzflsX2nXbOy74cduSVHmuv/cpArqWudSCPPI0I0s/nPv hFdBGKu8mEcDHamicbCCJMpyclnviLFoeqoO1TRD1x/x1LqmqkUTUa0muL6MmsPecI8QCty0a XqWo2UJceoXIxPdRvTufAW+DMZkffc7bRafci/bMI2Dqk1q7EUQ8Bz91VSv5RSPOxqf0RsvoD jxRoXooHpx6Ul+KPEbg+OqkDoGeJ7P+ahH+VQifp8fLpv+MgKF7QlwcFLR8X/n9RoHlp9jXsK /bVIkIKefFiLLWazusuRlfiCr1y7Q/6cdQzNQUsbLpyk47NptooxIEtQ9z5B2zeq8VwUzQKC/ vCsfweb2Vav3PkJBxFc9AVJSTlktEfSl70XxHheN+9gMEmDMylQ0DEMfi7yO6qL4O2K90yOng fWYjIeu8HFEeLVv980a8gcSVtoC+O0pbsj8P0SFdxpEhOy7rbEtJsozNcK Replace ENOTSUPP with EOPNOTSUPP, fixes checkpatch hint WARNING: ENOTSUPP is not a SUSV4 error code, prefer EOPNOTSUPP and e.g. $ echo "clone_skb 1" > /proc/net/pktgen/lo\@0 -bash: echo: write error: Unknown error 524 Signed-off-by: Peter Seiderer Reviewed-by: Simon Horman --- Changes v4 -> v5 - split up patchset into part i/ii (suggested by Simon Horman) Changes v3 -> v4 - add rev-by Simon Horman Changes v2 -> v3 - no changes Changes v1 -> v2 - no changes --- net/core/pktgen.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/core/pktgen.c b/net/core/pktgen.c index 82b6a2c3c141..496aa16773e7 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c @@ -1198,7 +1198,7 @@ static ssize_t pktgen_if_write(struct file *file, if ((value > 0) && ((pkt_dev->xmit_mode == M_NETIF_RECEIVE) || !(pkt_dev->odev->priv_flags & IFF_TX_SKB_SHARING))) - return -ENOTSUPP; + return -EOPNOTSUPP; if (value > 0 && (pkt_dev->n_imix_entries > 0 || !(pkt_dev->flags & F_SHARED))) return -EINVAL; @@ -1258,7 +1258,7 @@ static ssize_t pktgen_if_write(struct file *file, ((pkt_dev->xmit_mode == M_QUEUE_XMIT) || ((pkt_dev->xmit_mode == M_START_XMIT) && (!(pkt_dev->odev->priv_flags & IFF_TX_SKB_SHARING))))) - return -ENOTSUPP; + return -EOPNOTSUPP; if (value > 1 && !(pkt_dev->flags & F_SHARED)) return -EINVAL; @@ -1303,7 +1303,7 @@ static ssize_t pktgen_if_write(struct file *file, } else if (strcmp(f, "netif_receive") == 0) { /* clone_skb set earlier, not supported in this mode */ if (pkt_dev->clone_skb > 0) - return -ENOTSUPP; + return -EOPNOTSUPP; pkt_dev->xmit_mode = M_NETIF_RECEIVE; From patchwork Thu Feb 13 11:00:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Seiderer X-Patchwork-Id: 13973093 Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 86E41214237; Thu, 13 Feb 2025 11:00:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.17.20 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739444437; cv=none; b=Y0vvs6facmLK3lUspORCZayvL3+UWAfO9qaQn5rmKN6XyzdBnqk2bTWwYO0ar3GyHzRuF7UEXV/thA7ufJ5NYV3ZsyNc678Pr7g3zIS5rsKTLoha8rYwx7b/bLWiL7HvqapIpl6A8rqaU9mloS+hED2kABxXMTaG3HArq0eUyes= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739444437; c=relaxed/simple; bh=+X0MNgRk3mNbD1TbMgaodCutKV+2UVKiJ6vYphSz4Q4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=eJGBY50cHevx1cHQwz+B/sm4NQpkps741btY97UE5n73rzj9N76UWwr3hnRHg1MihwY1dlEMMsnqcJhBmt9Dqg+zsXBQKt160kFUyjIPFKXf3fr4Jzc6N7siWjeLOomiCam9oexzSRsfKHcsTLEVyO9DSbNFAwiNiGwGxE5Xbfs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net; spf=pass smtp.mailfrom=gmx.net; dkim=pass (2048-bit key) header.d=gmx.net header.i=ps.report@gmx.net header.b=heMV3P+Q; arc=none smtp.client-ip=212.227.17.20 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmx.net header.i=ps.report@gmx.net header.b="heMV3P+Q" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1739444430; x=1740049230; i=ps.report@gmx.net; bh=+X0MNgRk3mNbD1TbMgaodCutKV+2UVKiJ6vYphSz4Q4=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-ID:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=heMV3P+QDz8SKWsirgj7sWlWItrpojFhp48JMQ1e2qhNeTOv+xuVYB8bzDN9XCPP A6I6ERAW2NHfxd7RQp3RdRbsOFr6UUQUCAafJiO/oDXSiE7soA4RZSPZ+eFHw4aZG WN45M/V9Km8u70G1NvN0asDAe6KS7HAV3SDidduPgk/1yyxET14XpXuqNxKfXfIg8 3bvM4ZSGPN0ABlUt9mwUItwP5qrlWpNGKIPghsltqYrXIlnjxfc+/6awRlpQwRdIN zDd3WTWsvD3puIKIflQXfVHwqKozba4SPBUnCC+ImTkvDEx7t5/pgBqvX8/jjhAxU 5Ht7hu9G5RAvEH0Vdg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from localhost.fritz.box ([82.135.81.197]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1Mjj87-1syW6H1lzn-00ge8f; Thu, 13 Feb 2025 12:00:30 +0100 From: Peter Seiderer To: netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Shuah Khan , Peter Seiderer , Artem Chernyshev , Nam Cao , Frederic Weisbecker Subject: [PATCH net-next v5 2/8] net: pktgen: enable 'param=value' parsing Date: Thu, 13 Feb 2025 12:00:19 +0100 Message-ID: <20250213110025.1436160-3-ps.report@gmx.net> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250213110025.1436160-1-ps.report@gmx.net> References: <20250213110025.1436160-1-ps.report@gmx.net> Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Provags-ID: V03:K1:BP6HeLVZ5oyJDvLOc1P8dzvfcnVJySB4u6BCgxKDrji0hRla7/m Z7sKmBEbfGLQhB8xzbtX10YTF2tZs0+Gf9bR2EnGJfQVpELIGfenr0ExIgjND0gnYdWMNmc oo9wdS7dIv0iB18V+//u1L+3fOS0TZ8ttLqefWzjlkpDNB/xrOm8wX6mrVazC6wphM6xVG0 4g0RqplMNBdqY8T9/iavA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:5Wzz/Cm3Pjs=;qeomaO+OG/eMZK5VEAeo1vLxK0V 0tnnvR4AX7yOpYaKSrBXuksBe0vhqb/N5AFp3gtxZ7MfXbWMk/kSEx0LFNMO//SjXspeZWpc6 Cq5akWo2L3HWdGgfjSgmWRxOx6rfacVExe8YXrsTPeL7eFw7VRrfqRNHxVGKcGoFtBjzK2o21 9tdDfdzcLo22c4Cd7wbHRtkMpeHPU6Z958OjoXcxUlCh2E8YtIlWDOLUTamJvl1sHYZ9NhYzD Gv8pnW5xTX9JrBL3n5AA0Sp9No/GL/FViFa9RQp+So/dTId2AuoUNJWvD6X79lRpp9fu08XXL 4hNWNi2OBTSlZpQhSrlOLWmHUrj1ehvMYTv81lcCYpgM6ap/tTIxI67o7h+7Uz347KmS3VMTS 79tq6YfqQPAqntix34eAi5yHdrN2q9cJUWN2dhgW4DAVFviqM1+hEVrhPy9TBxrucV3KUoJbx 6z7qjgjYPgncQi7nk7loMadJ26d8cQ0BxZqEMXEYhPxY1SWYJ9hiXitdexCFfuLJdeDj2fbIN p9AkDlL9u4eOYSi3jeX3TSWFJF5bydHBhlkGFV8jz9DRgb4avzYG68a9TzsXR9wV7o2FN2TnQ jVMkt7zdeOgg4oOSPHa2QTLpYStatS/F0Tx5CY+jEQqCjqauhZC1wFaZ2qfF3mx2plrmLBfbX GClPatlKShdznFJ3xwripwmvN2E1pjUfv+OLtkwHdrDuvcOs2Wc4bBU7mAWqfC7ZGEJcPCxu6 2gReHE60c190NVnH9V6AidtPNdp0ew/WqA876xI7JkcA38huknsdH5RXxU3Tk/GyC1MpySvqX uOEJJ9klynzn04hgUJCDngfAOP6sjuuhPlu2R5yPhAdcv7DuyYv7zQnFXixGAcku6ZBrkqaoc X99ouYqMpAp4ZrHKGe5M9uBYgE6e7N3JGVNJ82MzUIZcbjniWXP/VVdylJ2TFfSRZ6fauw5ds BLLl7ncjCh+z2UTd/E660o7DsG0XBwrMGFoHsDzM8VNG7oKDeqQq6wwAaUW0dBVcKgosDwfyd ZgYLTOns1Jkm9D1ohu/QCTItaWVeeM2vTKeswTeMWr9zcCl+ffVe8i9K0NyE+k49QTdWz+Tqq prRbnooFkQIyAvVLD2Z3ecyd9bIQbK0pXekrgZs4lcr5Nwgr9LAcH5sDpH+oRRj6d+idrjtyj Twwjlm9+3zze/UVv/OjSpSta0LIrWOEdO8MYlvpVa8foIjYcYHlxUEKGf1/DQT1YTwuddMTgg /IoC5HyzUaoBzNTKBYl6DSwKPwEUMTy37mDVnxXXNIvBhwikqckx04m2A72mu6vj4miOO8cG1 34IQcuvJxXGxQqErplDHSNvZDBWzhgacuo7CfilBls7UD9Y2zdImN9ZlGuTtYAS+2XyGZBhfX PiLISPHGO+hf6Imsmwa8YWHL32D++O1Mc8vYu1iZzrDW5TPZHmXwGH1ooa Enable more flexible parameters syntax, allowing 'param=value' in addition to the already supported 'param value' pattern (additional this gives the skipping '=' in count_trail_chars() a purpose). Tested with: $ echo "min_pkt_size 999" > /proc/net/pktgen/lo\@0 $ echo "min_pkt_size=999" > /proc/net/pktgen/lo\@0 $ echo "min_pkt_size =999" > /proc/net/pktgen/lo\@0 $ echo "min_pkt_size= 999" > /proc/net/pktgen/lo\@0 $ echo "min_pkt_size = 999" > /proc/net/pktgen/lo\@0 Signed-off-by: Peter Seiderer Reviewed-by: Simon Horman --- Changes v4 -> v5 - split up patchset into part i/ii (suggested by Simon Horman) Changes v3 -> v4: - rephrase commit message (suggested by Paolo Abeni) Changes v2 -> v3: - no changes Changes v1 -> v2: - no changes --- net/core/pktgen.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/core/pktgen.c b/net/core/pktgen.c index 496aa16773e7..4f8ec6c9bed4 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c @@ -823,6 +823,7 @@ static int strn_len(const char __user * user_buffer, unsigned int maxlen) case '\r': case '\t': case ' ': + case '=': goto done_str; default: break; From patchwork Thu Feb 13 11:00:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Seiderer X-Patchwork-Id: 13973099 Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D28E4215760; Thu, 13 Feb 2025 11:00:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.17.20 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739444454; cv=none; b=cLfRSYxrHz9GtO3Oaa7NObEJwUyM2QNvv1ozBbTloedpqvtVtEMv21IbQjsP5afMPg7ws8ujLnu6Me+vcKbwhWcKNUgDn02U+AYlGvQ2JQ3JzFO3dgpQfvT6Jd0z6PtJS+jT9S3OyhKO7Eiz530LeutR2RjUEv+hwsLE8OBO++0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739444454; c=relaxed/simple; bh=OkoKFeB738bTGBSwaTIC7RA8vbYdSWHDpGQpy1zHNqQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=aOV6QPVEIaV8ei/bGDm0Vk8LRSUJWfVHEF+zZvHmX0Y3GQ/3pfS4bUv+NjmFqzq5dL5Ds5/430IbIuTYSua3Wd+U7CWIZZNezgrP7C5ZgEbMOTEnncLLQBykzBguRWKeZdEZ56Z2BcwlLPC2We0h0yhiascUv17PFRntjIsgUF0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net; spf=pass smtp.mailfrom=gmx.net; dkim=pass (2048-bit key) header.d=gmx.net header.i=ps.report@gmx.net header.b=oSh9PzJX; arc=none smtp.client-ip=212.227.17.20 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmx.net header.i=ps.report@gmx.net header.b="oSh9PzJX" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1739444431; x=1740049231; i=ps.report@gmx.net; bh=OkoKFeB738bTGBSwaTIC7RA8vbYdSWHDpGQpy1zHNqQ=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-ID:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=oSh9PzJXtWdKL/hieKDUIijlcteFf+msn/u+xhPrLRvts/09VAKhdY/LxrwBHoJw J/Ni0UhPPQOTEJzMy9HcdkHe9/btXGK+n5M8ytMI2afoN49tzY4jRJWCU+/ajpV6T k8bc/4lYGQsIl+hESiX5dd2InWxsueVHPP4liChYEkRgjsu5lEiCGbpotPhjewIiH QL6l/YAjR923KHVRfb7k3sv0bDVRb4ocVGnZIPcg1/VHZmh3hAmyGartwZOTqqvTg ZgG3JntPB51fwf2eMitUjILELKVdawsULYjEBayJuwE3EPh4cyKsADwimcasYk92X 9zTnNfITQLBpnqK8Ag== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from localhost.fritz.box ([82.135.81.197]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1Mw9UK-1tPd3i3hPY-015DvS; Thu, 13 Feb 2025 12:00:31 +0100 From: Peter Seiderer To: netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Shuah Khan , Peter Seiderer , Artem Chernyshev , Nam Cao , Frederic Weisbecker Subject: [PATCH net-next v5 3/8] net: pktgen: fix hex32_arg parsing for short reads Date: Thu, 13 Feb 2025 12:00:20 +0100 Message-ID: <20250213110025.1436160-4-ps.report@gmx.net> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250213110025.1436160-1-ps.report@gmx.net> References: <20250213110025.1436160-1-ps.report@gmx.net> Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Provags-ID: V03:K1:ye8dF3Z7zTMLdlHScKnbq+TuRFhD+q9H/EoAjn3mJCh2b+qPO3w qG832OytHXJAZxsA5zs9Ntl0vUyd5bZQKiU08NruMWb4pOQqCCATWvLkuj88Ggb+B3kqLDp RQCOyf8UZbTRzxWPGx6aXgMcvwVnPHiGjgjGElDkKHutnZq86RTBffuBe/aCk3pVrHjpWNk /VAiVXCgFJrBq7ozg56Bw== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:Ovcss+NKSy4=;x5NsgwMkqe9L8t9L34eN8uwQeRX Wvae2iQFjYZCqRcuwoC7Ie2gKZ4cVVwnWGxYlQ0IX3aA8E7yF7DARuvfbWqemGNxRHFsM2Q2Q Q7H1O4+x8zOFqbgcUNF7fNoMJejCpekhJP/Lr/TWuV3i0vICa2dBiXhdA50TzfschGyAjCGa/ N1bAPwOBiUejq8CZk5LtcG8vjHVzVxyu6RWJ/S4hIlN9URH8x3ztyF21x2BrLOWWdQhWz9aps nObuXJOYFSp3RIskCkSfBieTnSPaocFqtbe/Yukhd67QNF8/pgsVLqoGpOjKNctJJnrxMUswf goUWx8wSragvKTj8g+sqFuFFv++PT69UZeZ39JfFSbRh9oTnk/GiE6jiPhQQfo+3HHhR1Gxh2 +0a7lDt8R0cq+yuNVPNg7bWEokcfaFm/aWCq7tMSl+U7xX6M7nvPAQuZXwg9rvTV3X3fCMUYa k9yQZ2WVhbPPBHCgT+45N8oFzWgE0woyWdSMUZb/rZ2WzCvmbC9fSYDT5/raVJjMhxJUEg29D pi+OScjwSeCg6F/x0SWariysXHPLi/c+DCcoNWqu0/Xwr830QkNGEZL3yw11tLjQtoWspQrEL s+RsjDfhIAJ70acxN8utMGQYSVZ6fbmE4N9/J1rdVRSvNm6CVQwLcFFFjozmITjghHNtlzqN4 R6MfDK+O8splj7z/uj174vFYuOqgIRM5bjyMk1hrxqIQvKN2Ywdki//j3C914nB3XtllSYsJw dOEEtbfXU7lMHqYXhc1xkAimV2n2qHceiRjaRRXrdBfBPpyepgNnFC+Fdhuz9LQtg8UpehP1y NQN9/sXX2PaviexWbl03STkcrdYiw1YQcxtWoC6A8Y0Zr3ITlKFOHJmsEA0fmlS7yqmNmME7c N8U2beG1ISW9WAlMpsBMRwzfvHC/GVkE53PluJphcTDS4kdGVbwi/nvUKjgvQWC+eJQG8UZhq 0perq28tJ6rj/ZPx/jiEMytO6/0NvtM3PkkSNtvFdNL4NIsw8i6tl2fSw5jR7nakstEzJZ493 5aScZWOgxyMyfp4T7yB/YXaEogg1/NoQ25ikyQ1jB2PmDaYH+/yLuVbY9E0Et04Nd+piO2TLG IykZdDH4dVuUzQe3wTWdjJEYZWjd15GXYPhIEcCBQx4Va0N7lnPYPNQcS3jdS/JUGAoqhXsFb 8xahDc4zUAUZgNAjVH0VSum5fA4BzSNH0acfcaHLmSAgVhiNkGYvAL7mbAHQmd+6/WeYDk9yX urxxs0k/rV/AUCsMqmU/4Q3OXRwV7VeVM82Y0scP1h2H3PN91AS8+uV54mybKlpVp+5q2Nrr3 pGrQjdICqlUgXc+gSmU4CFD0ayJ2dLEnmw9W19I9YlZdEMbBqC64yNFGvAVDLQpVGSy+qnfCG 5qMpmyUzINTM6wx8x6vOHC3BYjsp3iPxvj+F3rTHHnVRbSTGitte6KBXlW Fix hex32_arg parsing for short reads (here 7 hex digits instead of the expected 8), shift result only on successful input parsing. - before the patch $ echo "mpls 0000123" > /proc/net/pktgen/lo\@0 $ grep mpls /proc/net/pktgen/lo\@0 mpls: 00001230 Result: OK: mpls=00001230 - with patch applied $ echo "mpls 0000123" > /proc/net/pktgen/lo\@0 $ grep mpls /proc/net/pktgen/lo\@0 mpls: 00000123 Result: OK: mpls=00000123 Signed-off-by: Peter Seiderer Reviewed-by: Simon Horman --- Changes v4 -> v5 - split up patchset into part i/ii (suggested by Simon Horman) Changes v3 -> v4 - add rev-by Simon Horman Changes v2 -> v3: - no changes Changes v1 -> v2: - new patch --- net/core/pktgen.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/net/core/pktgen.c b/net/core/pktgen.c index 4f8ec6c9bed4..28dbbf70e142 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c @@ -753,14 +753,15 @@ static int hex32_arg(const char __user *user_buffer, unsigned long maxlen, for (; i < maxlen; i++) { int value; char c; - *num <<= 4; if (get_user(c, &user_buffer[i])) return -EFAULT; value = hex_to_bin(c); - if (value >= 0) + if (value >= 0) { + *num <<= 4; *num |= value; - else + } else { break; + } } return i; } From patchwork Thu Feb 13 11:00:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Seiderer X-Patchwork-Id: 13973095 Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8A813213E72; Thu, 13 Feb 2025 11:00:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.17.21 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739444447; cv=none; b=YKgnf/oim1QT7aXnMI9X8v/JkPJOGJLukCOa7JoTNE18wJz0uQKIh9N/MMbI5e4sRemqd0Pf8LvwfIuhKRN4Ep6NityNii7k+mSmbp6aiVVzc/DpaiYMZv+HUZYUV1mRzg22rs3urpQUKgC5Cz32dUdWEUqLVeo8YS7sBm83FfA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739444447; c=relaxed/simple; bh=hxydDyBzZ4c6hD/NtkF9JrGOU+bj0TgfnijfxF+Vem0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=n9SeG7hTbQwmlHPea7bEf3ikES/nBqS8KHaH4oVOZNUckIBHBkCuww3tlW9nX1xR9fsH+8BsLORuZ/T4ZJo8ce5USazVMx31pugxZwWxNcHs+6VmlY2an7JcsJbh1wnsbprDJ/acKyhkiINHOMrUQusLA1NXUg/u5dboXylcFtg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net; spf=pass smtp.mailfrom=gmx.net; dkim=pass (2048-bit key) header.d=gmx.net header.i=ps.report@gmx.net header.b=P4y8/7R2; arc=none smtp.client-ip=212.227.17.21 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmx.net header.i=ps.report@gmx.net header.b="P4y8/7R2" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1739444431; x=1740049231; i=ps.report@gmx.net; bh=hxydDyBzZ4c6hD/NtkF9JrGOU+bj0TgfnijfxF+Vem0=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-ID:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=P4y8/7R28Eb1W/E2+bU/0s1VQQCycGVr/oKRKWeEQY8EdtUyLPdZcTbmQeFVS8pu qzhd+s4LvkS4TzbriDXc6BfFsFWfTzjOvV1oLZMSVgieIR+rsuPPIKWtlxjJSm61f ztbkcR9+sAY3o07QYFQJTe0iGwMKyLVWGP4Z30GJeP0X8YsSQNhkhsl52DpmKFUoC atTqjFn7OR1IWf/uogGHZ56CBHPjksooelKD0f/EUwx3g0eC8y+aTfcd+TV289EoC HvrG34IHYm0dm2VADT6EdKQWSwTJX6ukQnd3MAnDRwYwwVrgrARFZlVqVbsj9LYSV mPWdsUl+mNO2hwlyUA== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from localhost.fritz.box ([82.135.81.197]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MhlKy-1tDZrL1PXs-00i2mA; Thu, 13 Feb 2025 12:00:31 +0100 From: Peter Seiderer To: netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Shuah Khan , Peter Seiderer , Artem Chernyshev , Nam Cao , Frederic Weisbecker Subject: [PATCH net-next v5 4/8] net: pktgen: fix 'rate 0' error handling (return -EINVAL) Date: Thu, 13 Feb 2025 12:00:21 +0100 Message-ID: <20250213110025.1436160-5-ps.report@gmx.net> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250213110025.1436160-1-ps.report@gmx.net> References: <20250213110025.1436160-1-ps.report@gmx.net> Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Provags-ID: V03:K1:YzVQtYNQi61tbRkgzwDjInGaRF1YZI63v4VPiUMRjN7T9Tq5400 sh98uq2nZl47ZTXw9XkAitFbORDaHwk5KX+EWJ8z9tapJY4XaR3OBh9jBO4KncAAqMZJG4V OF5iyfifYz3KtGNSfWXituTvdizSLwTrA9/ILEMrRiu2QoVonFT0Fmp2SqbRtKpKFr2fhv8 Y4TXdRxXnm+Cze8jgTzAA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:0hGanSiS7S0=;a0EFhtqWFyutdOQX1jjs5XiyUuT DwTvQf0I7JkPZCrQGhrSY9APAezn84MtppW5+h/uvapxD/aIu3kp9v+qoP9j+qIi7nWCh/Abd FomQz6ugnLHAGpkVNnGAsa3jC9F7gaVhayO4zB3kuWbhHpkSqqoXFiC7rIkogi6wU3GflVI8F mT3/K5AulLfiWJmuMoFDySFJ2QnhFsCUJzdNZpLbmjfcGhb0d5LMXILeK4vqLoup7vDcPlC5g o0X4ckEl4LeLEyMYGxZhdBpeVeTK0SWWKS3MAZsREsCyltvWAy3tTIehqHL7tomT2t1OfIvZE 0exFSS5eh5tMQNOh8rOtWyrARhD5cZd+vlI2b6Puu37hoIULAtBVTRhdEdknjk9dG0P/3NiaP QA6uhqUs4GfxUwYDrfaC77VRwIlTXho6JRdle5TRqZW+J1OoyCgoptjgFecjAaUFo8vwKkVlj NSNummzv0aZvlnHUfNbU7lQEOPlkmUHIWufZnaYMOwmrpixWfKcz9fiFd/oJVRE8EnjX3QWbj UxiBHHmAlBiuu9S+rnSu7H3jVrRa1m+UCsNf7WLUSsWFR8bnVG1CDiCBnaflsOkjSPx589/6n +03YazFvqiflMOYKoSAcoT879yAGGPnY/mUqQWrmF+zvmfgCZm0cudSUNRJl8Pe+0nTEGnLwQ TjWks1xws50c36lKHqU2/grxFsBKIdiP9J6n/S+uMLEayqGeG7JAftQMrHFgGXUnsEQnNUbxv BzJ1Bkd4KfB7omgD7ZNy4CYfDVl6Icvsmu3Zu870I2fdOQIBJvaGxXnh7KD8v4VIbvG0IM+oN /iVWAfq3eg/r/8BVXWvdAS8MEp3GpIUqk3N1Yy0nNShNbbzkofJwU0pciOIm77vfdmHhMR7Rx OOCdT13LgqnmOIoH5QZqvuyPPJP3vsBtFBCftqYSTE3oADiibgb5DuVll2vUnb+wk0yptildr ItuZw/ebSAVi5kzVyfjCcS1T9iqqaKC6aESFaXwmHiYIfkUVabO5OF0lKt/OEV2Ma08V4oNFz 8sV4g/VWACjEP6ixLJL3E9uQKhOOocv4nf3AwJZMILWqOnsWMA+ODD1UjrcBNzcyALnmkg1AB 2QLtqcyozLXrq5SCDJO/43OzSnyM5oIKjTnrr10Avt7RplDu3EtDyH8azYTEY3U8yXsWEqvY8 y/V0oA8DEKH50ZBGDNUu/gdHjiSoqhvaNyrpo4qcxYQ7unuTg7TfpyunTBHVqdStSfLWt42/V nSnCvR9bDjZscIap9MrYSSo+spRQqj22d5er2atLgI9QAvCl3B6nB0+o0TgdDN91VXf5tpQ8v FR6dxWA6DfsbSto4OsT0JDiphPab/usDXiMKyhzs65zjaMMP/flNdbn8tk3Gp/Mamew80Oj0/ o351rhfqdmEfKYZrOjTCeuSntjdzV3oyQ0wvOTPUmPaeMgHOVpWop0hOWO Given an invalid 'rate' command e.g. 'rate 0' the return value is '1', leading to the following misleading output: - the good case $ echo "rate 100" > /proc/net/pktgen/lo\@0 $ grep "Result:" /proc/net/pktgen/lo\@0 Result: OK: rate=100 - the bad case (before the patch) $ echo "rate 0" > /proc/net/pktgen/lo\@0" -bash: echo: write error: Invalid argument $ grep "Result:" /proc/net/pktgen/lo\@0 Result: No such parameter "ate" - with patch applied $ echo "rate 0" > /proc/net/pktgen/lo\@0 -bash: echo: write error: Invalid argument $ grep "Result:" /proc/net/pktgen/lo\@0 Result: Idle Signed-off-by: Peter Seiderer Reviewed-by: Simon Horman --- Changes v4 -> v5 - split up patchset into part i/ii (suggested by Simon Horman) Changes v3 -> v4 - add rev-by Simon Horman Changes v2 -> v3: - no changes Changes v1 -> v2: - new patch --- net/core/pktgen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/core/pktgen.c b/net/core/pktgen.c index 28dbbf70e142..75c7511bf492 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c @@ -1115,7 +1115,7 @@ static ssize_t pktgen_if_write(struct file *file, i += len; if (!value) - return len; + return -EINVAL; pkt_dev->delay = pkt_dev->min_pkt_size*8*NSEC_PER_USEC/value; if (debug) pr_info("Delay set at: %llu ns\n", pkt_dev->delay); From patchwork Thu Feb 13 11:00:22 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Seiderer X-Patchwork-Id: 13973097 Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D827D215186; Thu, 13 Feb 2025 11:00:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.17.21 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739444451; cv=none; b=FsZkdB30k+TYhbIkq8GPWiVwepfTIQeBtZn/qDW2MWiE0nWDx+KTz8D+Qw0M+M54mbhNxeetHfTCP8nNt6rL/ARyq/IkXxiz8nJ9M+mbt0/8ZStCbuSuO0wNAcY9O227cRfTmCzIqnmOQ2E/z39TbuFXQR2tR9DHc0RPWS2K+pQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739444451; c=relaxed/simple; bh=Nb+18u6dxzss73xiMuTmJSti9HZANdIn+npFY3bUP5M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FxqpYi7XhdutmOfkSaJNTHRGmrhN7ZMMGQf+R/SHGArQeCDq/UAv/M4UDLVVvPWEYc4NoHWEF4wbrnLyuXE8Sio8AdwdlAxUMUBk0nAs38q6b9s2EePmtqrOH672Kg78QLgdXkjI9kHT2ntBfxq41qH6qCXXCjl16PI2inEnEv4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net; spf=pass smtp.mailfrom=gmx.net; dkim=pass (2048-bit key) header.d=gmx.net header.i=ps.report@gmx.net header.b=GEl+k/vv; arc=none smtp.client-ip=212.227.17.21 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmx.net header.i=ps.report@gmx.net header.b="GEl+k/vv" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1739444432; x=1740049232; i=ps.report@gmx.net; bh=Nb+18u6dxzss73xiMuTmJSti9HZANdIn+npFY3bUP5M=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-ID:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=GEl+k/vvjfDE6NFa/mx96XfKbUPnwgZAsW1dj6e95rk90Yw09gdju0trc4wSY/iW D0LDsTnh/XOv9cBVIq+hBd/nuJoF92xs3+nfVTQ4Llb+4fHXdwKXNYe49lLyrvyRi tmwcsp4higY/4G0BYSMOpUBVLr3x/x2MO40H1BOqP99r9Kdd7k5lW7Fm5+tiOzRNi nq58l9DHVcNCAXuZak0levqY1wwEIXS2CKptHJGq0TqZoR/hhxJshjXXpFP7YOwib gBRoCOLVEeFjK36GqJPb6yC/uBjBPUp8FPUMagcpp53oZHyklf6Qyywraf6OMqz+s kExBMhyCM+/LL20gMQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from localhost.fritz.box ([82.135.81.197]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MNKlu-1u2ntl3FLW-00TOXY; Thu, 13 Feb 2025 12:00:31 +0100 From: Peter Seiderer To: netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Shuah Khan , Peter Seiderer , Artem Chernyshev , Nam Cao , Frederic Weisbecker Subject: [PATCH net-next v5 5/8] net: pktgen: fix 'ratep 0' error handling (return -EINVAL) Date: Thu, 13 Feb 2025 12:00:22 +0100 Message-ID: <20250213110025.1436160-6-ps.report@gmx.net> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250213110025.1436160-1-ps.report@gmx.net> References: <20250213110025.1436160-1-ps.report@gmx.net> Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Provags-ID: V03:K1:lVE8N2XAZVFgPz8UKLFoc9+I3FMaP/sp7eC048MBIjExEnZD/Dk gJOsrBM4OipYfTbV82cQKwO3DFP0kdZpAJrn3nVhFaI7C/G+pdEbtflycz/3x4ir+mIiRQO 6vlzgFgSfz9Un6UiefkNUweVA0Sup4QIsnDxWrqoEzq+8pGfmLYZ0M1AsGoQF3QW9pa/0z7 orlyQlaTAesg46yi5NotQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:ymBp67SIhqU=;XcvGe87EzsLwRr6fy50a3H3p5rX jIk6zcTVWiFKr0Qubmie/HqIK1VnVqX6ny7TxJrZ2ZzcmKbIAatx1CJz3PKDzkuiaTDMpiBSC dEUJ+om+PZx/yWigB98O77MPW+PL5nzTgjYyJ2+aq0wqMXhe3u84PrdFKIVMvnWLHaGS5HYWF dDVlEysfJmlQGqaHXQnEwO/ZI4WduHwKEFoFBfb8F9Q3DLhbN1Kqec+iAvjBov190kYehgKv0 FA97yaIZQiQhTV9JEGbnJuMqJGELCxNdnGLeG3pqZH5VTvry2X4+lzp4kzwROjW3xlljMUEg8 /MBqT2MSLVA2E5XUtI/J7vB5fzfW7CoB4V3fRvZ8mymr9KDoYgg9+UtnMYRjFL/mYHOgtDrGD wNlz0AJCMy2PT7U81/4X8fzh44ymNeR2vA/sPwIuhPSCMeEXUJs5aVhkrH8/HL/5s8F439PK6 /ijvksyQiE7Vp1WPhZVQI9DPI1I7oiRDHOclNflFoqkUBkCT/dde2oLhOQpHt5rkhHgJGLrQ5 TAsUtm8R9ggy9em/H0/RC1ahelBuP343356sXvmNk5/euzi4NeZsuf22ZrqgE+kg8Ubn2sSqF 6hK7yv6J9Qnyn8A9IURztHyxT1tctUW8pd5legglxOz+8H6JkNBy0SuHEByWZLlTiC2+oQRKv tGJ4Ns+VZf+HVu+KZ/ztkduIAW8S3TcIenKVWKm2Wd48Ew8D1mS099vw5E7kSLvasl7Bb3VB0 OuP2HCzwzhA9Z/vzh10D0Lu3yHat51wcsyUJiOErS9uHC3pdXlCy6z7umihCMiFHhzIqJuxRG unTZ7wJC8ophzcBqXuiYKnUaYdIHnJ7hq4to6Mie68vLvFhtiF3goBVfIn+sgFP3Jj33eSzZN nwU2kVao8OotwpPlE3eDUMJoE7jW3T9itR7LohTkP+sJ9dE+ZaG/vXcGnsysuIEj/jbzETzEP mQpZkas4BHgcebuYET36pD5zsopqnP+mMii6n5R+BLj/cg4Qe0imhWbEL7vPhxl/UQMnf20b4 iwwb2cXGddcY3usqMalUbbMbG/ABc15sUjymcjLeA0dZt3gONCvuDA7raup6UkJ2pZ/aFuPIq l5WrR0AuHtzEWugWNrrj7Z42r7xin5ySINwGGosB8WCycat9FpbowUolVN3+bBVzfy5WGFDlX a2l9EvFnnPYHn2Kd9RHuyyhaOv9u9Re7Z9CDxIdEvQXClkaT6B9+IP9oHliz7EmaHEKIejfRv yiR/DzusfrsJ69OqufRN8v8/ewlMrv01Bw3yRM6FLUCioDC4y6mKbR555+ntt750zCW0v6H2n ZW5MewkApIj3uXfMRYJuFVXLKw7rwGaLYXNO6q+tIBylBh1wkQMO8h0U8g3GPl+hJ09hvxvMd Ix32uNUl31PnP8RBu/7MYMDRvWpyCKqATS8c3QwhmeXBHMaDpo4ThGjVXTQqN9qRUoGVLidLP ta2Z3IQ== Given an invalid 'ratep' command e.g. 'ratep 0' the return value is '1', leading to the following misleading output: - the good case $ echo "ratep 100" > /proc/net/pktgen/lo\@0 $ grep "Result:" /proc/net/pktgen/lo\@0 Result: OK: ratep=100 - the bad case (before the patch) $ echo "ratep 0" > /proc/net/pktgen/lo\@0" -bash: echo: write error: Invalid argument $ grep "Result:" /proc/net/pktgen/lo\@0 Result: No such parameter "atep" - with patch applied $ echo "ratep 0" > /proc/net/pktgen/lo\@0 -bash: echo: write error: Invalid argument $ grep "Result:" /proc/net/pktgen/lo\@0 Result: Idle Signed-off-by: Peter Seiderer Reviewed-by: Simon Horman --- Changes v4 -> v5 - split up patchset into part i/ii (suggested by Simon Horman) Changes v3 -> v4 - add rev-by Simon Horman Changes v2 -> v3: - no changes Changes v1 -> v2: - new patch --- net/core/pktgen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/core/pktgen.c b/net/core/pktgen.c index 75c7511bf492..c8a5b4d17407 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c @@ -1130,7 +1130,7 @@ static ssize_t pktgen_if_write(struct file *file, i += len; if (!value) - return len; + return -EINVAL; pkt_dev->delay = NSEC_PER_SEC/value; if (debug) pr_info("Delay set at: %llu ns\n", pkt_dev->delay); From patchwork Thu Feb 13 11:00:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Seiderer X-Patchwork-Id: 13973100 Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2B17821576D; Thu, 13 Feb 2025 11:00:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.17.22 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739444456; cv=none; b=Pee0WPC0pDEwssWzZ+p7HHatYzFKEkzHtdPAkIGeL4R8H5qe5XSgdJeMtpzmDh6wa7h7HwPfaRSgwHwZKHP5X/6bJrREXesVtC5HWSl555sUksvUWzZH/HYOOJ+ifDi3cG0/Efuz497LEaj7EsBMRGnB6TY4NvDk3+1+Zi9qAs4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739444456; c=relaxed/simple; bh=FXOukLshRwD3TGePfrJUyNPMP7nk+xOAjD4QyzMCnyo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=p0wccSk9w7IGhqJxU8T5ebWTZ7P3n7ZGjhAhj1ARHMlpAJr8ECGTkulTT/VZvqiORFqNafKrY/cFPxGEKKe4NMREd6wOrddfdWhqIFbvicx6Kf8acspRmLISGgXa40VfJrtl0tnjEKg95ptRiJ6UDah4u+PknpMIzwNUfLDI048= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net; spf=pass smtp.mailfrom=gmx.net; dkim=pass (2048-bit key) header.d=gmx.net header.i=ps.report@gmx.net header.b=Bb3JqgpQ; arc=none smtp.client-ip=212.227.17.22 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmx.net header.i=ps.report@gmx.net header.b="Bb3JqgpQ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1739444432; x=1740049232; i=ps.report@gmx.net; bh=FXOukLshRwD3TGePfrJUyNPMP7nk+xOAjD4QyzMCnyo=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-ID:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=Bb3JqgpQRPtQlMieJg58bvcyXnabCRow7DX1S4xHA8dQLeA4Twe5zoV9ONnipXDm Eua6eAq+y1AVNr41/cg2nmQaKNxwfwIsNi49/islX95MfVTFTlYwffnGRzY/r8qUl gr7bbmf2zGGezcBfSOz1wPJm8hAgRXqhILf6JIogQvs7HrYTvi8t6pS9W6CD7x3Ej NFH93WGs2H1w2vtAC5ryFtLZAaktq4gLlfEI/CLG/lzOi+bqimt9wUPLRCMv9fJuI 3RlKt0eSQytJAdUJ8hTbKwmW8SUlshzDjArwhNNNwUp5CcslhLm4Sc96VDFUBOAoM LwJ+4LNS7DBtqhQm1A== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from localhost.fritz.box ([82.135.81.197]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MacSY-1t7YVu0keY-00pCi8; Thu, 13 Feb 2025 12:00:32 +0100 From: Peter Seiderer To: netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Shuah Khan , Peter Seiderer , Artem Chernyshev , Nam Cao , Frederic Weisbecker Subject: [PATCH net-next v5 6/8] net: pktgen: fix ctrl interface command parsing Date: Thu, 13 Feb 2025 12:00:23 +0100 Message-ID: <20250213110025.1436160-7-ps.report@gmx.net> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250213110025.1436160-1-ps.report@gmx.net> References: <20250213110025.1436160-1-ps.report@gmx.net> Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Provags-ID: V03:K1:bckGzX9xcjDIeR13lfMu9Dmgjb5TEE2Ttqyx1uXqLPgTmXoZhUw WQO3RSwWkoj6NjHtvfF8Vjbh6xoxt7BoJxpLB7ipApq0eX1Y5QkF0Jpry3cs8MIB+YW95iu 2Ki36QovjxCrmUblh8kku7DORuTV3N8h/8xWQfdxg9M7KHTYwgQPkE1CU55LxCNltERS+Qb Pn6PhqqW8VzZPmhqhhxog== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:Q5kE7y0woMM=;gBsHYENiDYlh+9ckv98klxhhk9c wad6IzBnq5ctx665AXwgPKU7p14hE+A70YwEzUkCKixo7zACSSSNzaI48RVSFvqn9yPxpke3j z5IKiOsc0nTgtlF0Fwung4scEFHrQQb+uDWzsY4ExbzImlsMzqg5ZjRZw3oWVQFNimdFjrk0K GOM8FG6mSdDNfHLHhvu9+XGkHGm4B8/AVz1TozmyvTlqtkeqCJ3lUg7Q/zMbrJ4/kRfN9Ll8Y o3Z8hL6z7Hb3r1LrEfshZjHJLtUUsUZBHBRrINCH+U7xq9Wbpy1D66PQNJ1XN0/MM7nAaJ2nH EyPhqH5fqM8GyPhAV/dH8FvdMyEFMgv2yQMcYa2H+NT5u/PVYSY5jXRyaHFSME/YQfmuGJzsy zyif4loQI25ECIWxAFFU5++stevec/blZN/ZWJjQxPhKEvyRQ8bbslamKU034+bh3/96VhNVW j46fte02WMXh8GIAgGR4SvbeXQomScKA9I+T4+ba3XEUTh+RoiY3IXFty9sRT0jb6fEHcj5oF 66Lpf+X2hXC+IOqa7r+UwKo+dcORO1Y8gPbwsRxMJ7IwY/YsImfS3U47X39KhsumMedL5KbzS GVLmNeAFehTxr3GJKCQ13CzyEbg76ZtLeqoU6aoeBdDubOSXBK27NefwZFOaidG7W96J5Uvor F/q5Z7tyIvZYvv1+wlvjn6SlCs0Y1RrutcPCDffP+zTvKkMncIRHKA9mNGfiOLUIkeD2RksJX 1h/y6LJuwGTkTZzAba4Mp207wwo0kky+P1EZ88hHcxDNeVP10LL4lIZWjdlWVSTTkqpmxWKK8 qykOJ1k3U2JaZl0cc6fhigvMBu4BPdd0yT9ZE3YDh/fcIkDth9+qlLAuY3ZEbhS+s3/fXSc/p KBj3CrciqT+hhErAwGKXvZiwAa156HqQ4b9YDQOYWbfqBNQ2t8gpgZqk9j4GkgUrIk1xBBe0A QIeyt/dQQPcxwejHphO4p71Yu6zVZj+lR7cMRS60YHZ6LGgcwlmUXZ3gXx1JgX28i7cGVcZYV wa4vMGCKac8ulHnHlEEJLqkz3UUnZvLy9+SvAXUe3vDtA6cxx+XnBhYf/qqXdLEadKGv4d5ni d8KRJLmoHeDQW/fBI7rCyVqB5CdWV68whnnba/rMCd7v9PxHCaxqJA3GdKPLVKpJ6GcCA/8wd JsEeX55D2tuiJKpWRHk7FIpVxwl9rklN9rdVB66TPXtoI0w48G7PfbryaxEiL3wMnM/YO0ePc EgdKlwZF+sMXncvcecuMLlj3XffCY9BPLpwV0KCxgvQeS/lyk9p02ubq/WnnPPjZZeEm91HHA o0iqwFx4IGgvtqGpByXUsDM2xKqPN4VRS42JlnBT5Wl/8GGZ9LaXyd+QkBovFFXndAA+3FzKQ 83ifSWD+D2ok0LkHtAsxN0U3pxqJO0watyw7EbhMp1CWH/KEcGXoEXQ1eL Enable command writing without trailing '\n': - the good case $ echo "reset" > /proc/net/pktgen/pgctrl - the bad case (before the patch) $ echo -n "reset" > /proc/net/pktgen/pgctrl -bash: echo: write error: Invalid argument - with patch applied $ echo -n "reset" > /proc/net/pktgen/pgctrl Signed-off-by: Peter Seiderer Reviewed-by: Simon Horman --- Changes v4 -> v5 - split up patchset into part i/ii (suggested by Simon Horman) Changes v3 -> v4 - add rev-by Simon Horman Changes v2 -> v3: - new patch --- net/core/pktgen.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/net/core/pktgen.c b/net/core/pktgen.c index c8a5b4d17407..f6e35ba035c7 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c @@ -517,21 +517,23 @@ static ssize_t pgctrl_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos) { char data[128]; + size_t max; struct pktgen_net *pn = net_generic(current->nsproxy->net_ns, pg_net_id); if (!capable(CAP_NET_ADMIN)) return -EPERM; - if (count == 0) + if (count < 1) return -EINVAL; - if (count > sizeof(data)) - count = sizeof(data); - - if (copy_from_user(data, buf, count)) + max = min(count, sizeof(data) - 1); + if (copy_from_user(data, buf, max)) return -EFAULT; - data[count - 1] = 0; /* Strip trailing '\n' and terminate string */ + if (data[max - 1] == '\n') + data[max - 1] = 0; /* strip trailing '\n', terminate string */ + else + data[max] = 0; /* terminate string */ if (!strcmp(data, "stop")) pktgen_stop_all_threads(pn); From patchwork Thu Feb 13 11:00:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Seiderer X-Patchwork-Id: 13973096 Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CD7CB215060; Thu, 13 Feb 2025 11:00:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.17.20 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739444449; cv=none; b=WeoFaSddniOTO06yqVkJxwKGBs4G8ObSuc1xfENk8WdNDjYm6jY9bkG3Qljh4Pr7ixc2RocX0/c1+mznRE5HzdczTmraU6STZUL7Z1d1DZWblANpJtviYqf+iXmf+II3yGILqvBPW6e/9JR7GeZbsFpVm/ZhtHN5acPfoHTvQhQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739444449; c=relaxed/simple; bh=lFJTNeYYEBTkaC/3wh2Lv43QxbvTD6janjNU/XCDQVs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jhffwF5v3of/lVMOKh7TFN2z83pFLmJCZyFbS5cban93dJwRXfow2mmWtOQPlQEG0QLtqcW0th9qLCenuhZlbuF90Wl22M6cWpNScbYrUuk0eCu5imHAtbnyh5XObbEk1lpFwBYy8SgDi3X+Xu8EEK0sB8L+l8pjs3wQtq+a40Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net; spf=pass smtp.mailfrom=gmx.net; dkim=pass (2048-bit key) header.d=gmx.net header.i=ps.report@gmx.net header.b=o+45TAaZ; arc=none smtp.client-ip=212.227.17.20 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmx.net header.i=ps.report@gmx.net header.b="o+45TAaZ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1739444432; x=1740049232; i=ps.report@gmx.net; bh=lFJTNeYYEBTkaC/3wh2Lv43QxbvTD6janjNU/XCDQVs=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-ID:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=o+45TAaZfs7E507/6DlmcD1bzYRYDjd7zxd6954SrV+WHxkwrZW17UJJhAvCPJlw caF+5U6+/rOIUCFLpaGSxs4hGaPrx3ZUHGuuf911g2V4SruBUfa7bc5S10lQG4KE7 v6XzZawM6JfqQRlcodXpMPfkOcmKv5G8LRAcD3GPj4GEDuMfGpI16Ud2dM3ChNvqp uMWlrBEiGbQAACoVAlw96fda7dLtGJIva7x/g0hif3sOAG7xHLohSAOtsbghJAVko vVdAOx91ThrashZOTrIZf1818Lowwh5dKSJkkqxqTUVgsSmecQA6NriRWSfz0xMki ZYmHquVupHMQsbCflA== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from localhost.fritz.box ([82.135.81.197]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MRmjq-1tpel02Nfm-00OyhE; Thu, 13 Feb 2025 12:00:32 +0100 From: Peter Seiderer To: netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Shuah Khan , Peter Seiderer , Artem Chernyshev , Nam Cao , Frederic Weisbecker Subject: [PATCH net-next v5 7/8] net: pktgen: fix access outside of user given buffer in pktgen_thread_write() Date: Thu, 13 Feb 2025 12:00:24 +0100 Message-ID: <20250213110025.1436160-8-ps.report@gmx.net> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250213110025.1436160-1-ps.report@gmx.net> References: <20250213110025.1436160-1-ps.report@gmx.net> Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Provags-ID: V03:K1:xwBeQ76e5NWdP6OGK1SQo1exT1I0ZuxTszWvW+QPJKFufEhp9n4 Qq4U2fTYTJAoqUlDmqXmGmM6ynqU0JVW6J0QNeYsxXfXcP3Z7e/avKKJkmVl/TDllhbAlIG 5LlZzkq8miwcf+60tKZWZVR2tTZ0E3elQlbavhpvsNRmOAqIgWc5VnXHTpetkNJZgbdgNdR 7ZWP2BCr2fgmsNUUBRyhQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:vCIvKXRtjmk=;Quf+BsN0TXFXZWhk/LMpum2tphc +2XaUXH9FBN+e9P0fdauvt8nOmzxu+exPdmXUNYmDniyxoKiBz+BDHP48LP5aizR/B+Sm2VtU pgHCG9u8QaFR8tHfamsLACaaguxamO+53xJQPJwG8NCCum+loifILxDZ/HtPVVTMHb5NWQ0o1 ylOX4/YEIOMJKY6Nq0avo3XT6bKnvyaiIZzdAyiVUlvlm5hPzibsW8rbVKe0VnggSML2vqwdj NxTMCiK6K/RX1G7FbNOQewAgdgHndr+9qrSUN+l8skxCtTznsyFDanHrreGzOo1zbPqw4tWek vjt/c2A57OLWJ40tmTuSZ0F+sYn82DHx5Wwbs/bIThsnCaBChODvktue2G/BbTPaRjy66TkUS HicRcCxpJOOb48uNmuFR9H1fkaCKbYqbU937CHI98Hk9lVx300C5UzxKfAKo224hzCGbOWZCH dy59wUa5kDMOFekv6gZ6fxThrCsERVr9PlvxuHHBI1tpOkAYEB1kDBDDZPN+vIBJbsEugGpfI NXs59VGjIBiB4W5Jmy3r/qcc0es57+Qw26OHUfaMMstFvbZIdH+3uqIHA7KRJkQ0VYu8pw8mB P8/Q8wyUGT8srbE1u5nYoGlcLWsmC41zcXH6QjEGI/SY31my+esxaV7dUl1cNprU60pAb4fji ZDG86f5SvecY6UqaSJ8a4Qv49tJmA/R98mT3xz2wfO7ELM37gyyAXiYpbx/1GzUW3AOzSyPqv WquBXIN+wXRfZn/coJy6QpisZx0/ykoSbFsiXU4IYcO1uZUxKwIekKE2jYbcey+qv6pwHI9q6 m4XM5zpsto1ccgcXyoa+2N+fxo6fQb0Y/636UYJqKxM5Is/Fn1pVFI2uf/xskd+O/d8pIHpEm cf6iE05+Go8SeMicXBw5MBNsZQnP63cVot2mIkuEI+ixDsuEp4IMSb+L5cRLpBx8zoloBx1p5 JEdgG1qULCVd8YMIv1tviuvyM3T5d9/wOTZot8lpc/z0egiNDjBCNW53wJbe6dVQrqgSJ0f3J z1vzHUeij/NtnvDDHTrJg3JIHIaq0UQ8IHJryGkNPTUcyUAQlBlw9xtEmfJebpf4qB9xExs93 Kd0vjbiiDL4zBBTw4Oo7aZR4eWtFzNHaNz9ILnxBk2YarnMZzzlWxUcJaAvhRehpi9pdrt3LZ N3KHe0OaNgM1yT5u9hO2BBy+fpRqYYEoSc5ERCl5Iksbwdn7qNKA7fpjTj+CECVRLw+j7dUPh HLG++JvBxfYcv6/+iSebKkLpHyiwIviPC5dyt20SHWz4N6FJhL3T8tELdleU1xSFn2jixtHe7 +rd5LVwnmV3j2d8Eu2NbeVg5mkfnRsAX1PYkLNpP3AY0DGCZc1KFs7O6ptU4onaoM3pbeBbz6 BPGspW1yhPDo8QDu6x7WpjvqvOjzvASSCM+kV51hMUx1AU/bKBqwgjOm4h Honour the user given buffer size for the strn_len() calls (otherwise strn_len() will access memory outside of the user given buffer). Signed-off-by: Peter Seiderer Reviewed-by: Simon Horman --- Changes v4 -> v5 - split up patchset into part i/ii (suggested by Simon Horman) Changes v3 -> v4 - add rev-by Simon Horman Changes v2 -> v3: - no changes Changes v1 -> v2: - no changes --- net/core/pktgen.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/net/core/pktgen.c b/net/core/pktgen.c index f6e35ba035c7..55064713223e 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c @@ -1900,8 +1900,8 @@ static ssize_t pktgen_thread_write(struct file *file, i = len; /* Read variable name */ - - len = strn_len(&user_buffer[i], sizeof(name) - 1); + max = min(sizeof(name) - 1, count - i); + len = strn_len(&user_buffer[i], max); if (len < 0) return len; @@ -1931,7 +1931,8 @@ static ssize_t pktgen_thread_write(struct file *file, if (!strcmp(name, "add_device")) { char f[32]; memset(f, 0, 32); - len = strn_len(&user_buffer[i], sizeof(f) - 1); + max = min(sizeof(f) - 1, count - i); + len = strn_len(&user_buffer[i], max); if (len < 0) { ret = len; goto out; From patchwork Thu Feb 13 11:00:25 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Seiderer X-Patchwork-Id: 13973094 Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8484A214238; Thu, 13 Feb 2025 11:00:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.17.22 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739444440; cv=none; b=ehvYxtoZvoTrJIfx4dORUdrEwH9lfZN0kOPU7bx0KNUQBwqUqcDX1MHo+c01eLiP/AYLwBGNX5e6gyU3ho36fIeMcq4Nx+j06IqJsw+yM5XY0v6Wn60LuBba00IuYqfbc6oKNe5MTU0udmzYbzq2bX2GpWYAONDLPzwAbOU8M6E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739444440; c=relaxed/simple; bh=NFumM+nkeTzxl6RxAwljlRDkX4GxZMjLy9i+2b9B9Sk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=l12Q72sW/SXwf/R+uEOPiO0cT34U4Lstjy9XHpeZZ4aFOnEPczi6zC+sdkqT2UkVD+fSdnJiuVLfWzSnTIUa+TbYx8etZS/Bi62OlIyHqXloJn707DXuyd8sD4dbTP6feUUc9p57Aq0NoNOqpgDXFMB3NnUQ9HjH9LYs4d3rcyY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net; spf=pass smtp.mailfrom=gmx.net; dkim=pass (2048-bit key) header.d=gmx.net header.i=ps.report@gmx.net header.b=hlq93+a9; arc=none smtp.client-ip=212.227.17.22 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmx.net header.i=ps.report@gmx.net header.b="hlq93+a9" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1739444433; x=1740049233; i=ps.report@gmx.net; bh=NFumM+nkeTzxl6RxAwljlRDkX4GxZMjLy9i+2b9B9Sk=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-ID:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=hlq93+a9n6fJmDplz9E5dVtuQvaYBPWKBAwJeMxV1ExrNY7h4VGQHbW4nbfWoSCK fnT52i6Pa06M9DkceFdn4YXZl6t1YREAIqOsEkfehGG/5rK6RUpMVfXwIldgjpbXZ fSIcmKLsWB4vIlVnP5IjheZqP71MB4YHTdiTjk0GgKUiLSAJsOutbmPDy5/9Kkzor EGsXf7dhVmPotxvHzDKRenGkV2LUfaQbFi6LVBpQmYecHAM8H0gweGVimrptiLN6O Yt0PDcWwC5Q/DJA4F5XmKevwZsc/eNr4OpSBrd12Lxt5w7kMY2/zms6cegMwvxnzm 3K8Z9a/J5pVhWWFC2Q== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from localhost.fritz.box ([82.135.81.197]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MPGRp-1u0skn45Ub-00UDM7; Thu, 13 Feb 2025 12:00:33 +0100 From: Peter Seiderer To: netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Shuah Khan , Peter Seiderer , Artem Chernyshev , Nam Cao , Frederic Weisbecker Subject: [PATCH net-next v5 8/8] net: pktgen: use defines for the various dec/hex number parsing digits lengths Date: Thu, 13 Feb 2025 12:00:25 +0100 Message-ID: <20250213110025.1436160-9-ps.report@gmx.net> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250213110025.1436160-1-ps.report@gmx.net> References: <20250213110025.1436160-1-ps.report@gmx.net> Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Provags-ID: V03:K1:MLSCPxcGlxDC8r66ZPsUvMBGVJaGVcaRifQf7cmWQo0kmBLjHd0 hzMfwyUefiyTrwELha4GZvjtTaomuANdU9SjRS/jQfLbFfVOYFS8CLdlI0qeGzYlbFPn+Sn qf0vOJ2NLWPyan6C1XAkpQQSUD9jtuJEcejjxODjz7hOUWR8TEaDG0tskXuoYCnLlJEuRkd 0Lmw4u8xQf45xesu0EsaQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:hmKdCqa57Sw=;vrQrjbOCdXg5JESNjGiQgEgLqyW 8ctcbjydkb89BTbS05H/OdhngHg7CHXZ6x1PLRyxVsLQxkFTcSuf3/23aLSq6cdTetZYmdbBg DS7S0ALZwjGQ5f95h9f7SoG0xGVmXQpTkMQAgneSSLCA0/E8XfzGtb4jWp9gZstpw6tP7HIOo RYDPVNDal8YBH/kApyfRX/YaoJ8u5mQya7eShWO45ymC0FLm4Qu2m5sUf2qQZoQLLHTCKr5h/ 6gWXSdWSl7yKxlgqrcIoXeP7wln6c/bIThoZgreZChoX254ahcnQVJ4d58kfTE9lOpJ+YauCc smZ1L9xA6BTeoE1dqsCuSU7wEJUHxTSDivA8Z/IQWmdTukLahOnoQTkUdR7sGNmKpkKAAeNQK 0AGZqaWH23JNCHHgs50vi7wnSid9zB+A/hHDPp2CCn+RS8j4/uZyb3lMjXel0E5PzMuGkNxSI HbUa4Dl4j/A09fSbQSmf3/x3BP5FIfuswCB43CMbngGe73pa3YHBXg3jdHonKMEqtopKYPPQB u6/7mLBaaWscwew/nHc/UjdLARFV51jEekXD+tvRFxc/SdGLcZa6pEHtl/CWbk1Towxpcs2vs NQ2jXWDbVdObOu0vf/HRmipV9ZDk5GMoKqm5xZ/nKVzWb41ZaultS4fNCEWKwlvF67yaqh/Kw LX8YHDIYowPzK3SJmYwsZaE03DIvxhFWVBPqjPAz7GLrCvRR/CAfC4GJnbIRNcLBbW4XnuIig utr7DOhggCYJFKZL1FH6Tu44qv2rSHcLJk8e+jAa0VagNK1Sfo9RpIxxliH/N26/MM0fopDTx JpoO0ihI5amSJGYneCYi7mVvP7FWvYQsS5TY/IvIvQ5iS3NUg+2YFgYqR9G0ooyfLxNyRkU/M dwkrh1Qp++flMxNVEaVpJLAeCl4Vt8GFQ37itqiY6z3WIvBq931MH987wT5lgAGB8oJ2HnxFJ oID/sbFMN8AFjpboBgarpzTnuW5DHV/7jItjjLZn0IcKbSjFayg0ZSo2r3eWly+Rrn7WHkBoL OecfK2T3ruroHzRzCRgpIdbjALgwbglk+vexbiqgJBY69DClJ+R2nu1GmMcvhw2O0w5uJHY0u 59VXYQ9NF6lzIhh2u2p73zA1rut85DpfmAIldbDAzWKAW7xxhfIBqRm2Bc7QjD+/OSn7j3wfr J/6EP765xBPzpKvEwuBA8kHSCASiosJwQ4pqV2oj4QS59MlKFJrW7uTWJcbAqE9xnIzgJMq5Q E2RyHSKCvhzDvU6y1a9yTL75n7btArVnMsO2AX0O/d0NvOgYCIiTOYZr245ZLJ00nDlEkUli4 zhFLJeCD9lDK0Jn0LEhNKyuQ5qt9bvjIHSX+1u6Hqw7jx07+8DFhQP68AR8la+F6C/LSh9O/O WkCqhXgjBG4ETCFVM/Jlphqzkjk63YV8CZXo3bkQmEGhtnzF0PrnKZTe38 Use defines for the various dec/hex number parsing digits lengths (hex32_arg/num_arg calls). Signed-off-by: Peter Seiderer Reviewed-by: Simon Horman --- Changes v4 -> v5 - split up patchset into part i/ii (suggested by Simon Horman) - add rev-by Simon Horman Changes v3 -> v4 - new patch (suggested by Simon Horman) --- net/core/pktgen.c | 80 ++++++++++++++++++++++++++--------------------- 1 file changed, 44 insertions(+), 36 deletions(-) diff --git a/net/core/pktgen.c b/net/core/pktgen.c index 55064713223e..4f201a2db2dc 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c @@ -179,6 +179,15 @@ #define MAX_IMIX_ENTRIES 20 #define IMIX_PRECISION 100 /* Precision of IMIX distribution */ +#define DEC_1_DIGITS 1 +#define DEC_4_DIGITS 4 +#define DEC_5_DIGITS 5 +#define DEC_9_DIGITS 9 +#define DEC_10_DIGITS 10 + +#define HEX_2_DIGITS 2 +#define HEX_8_DIGITS 8 + #define func_enter() pr_debug("entering %s\n", __func__); #define PKT_FLAGS \ @@ -844,7 +853,6 @@ static int strn_len(const char __user * user_buffer, unsigned int maxlen) static ssize_t get_imix_entries(const char __user *buffer, struct pktgen_dev *pkt_dev) { - const int max_digits = 10; int i = 0; long len; char c; @@ -858,7 +866,7 @@ static ssize_t get_imix_entries(const char __user *buffer, if (pkt_dev->n_imix_entries >= MAX_IMIX_ENTRIES) return -E2BIG; - len = num_arg(&buffer[i], max_digits, &size); + len = num_arg(&buffer[i], DEC_10_DIGITS, &size); if (len < 0) return len; i += len; @@ -872,7 +880,7 @@ static ssize_t get_imix_entries(const char __user *buffer, if (size < 14 + 20 + 8) size = 14 + 20 + 8; - len = num_arg(&buffer[i], max_digits, &weight); + len = num_arg(&buffer[i], DEC_10_DIGITS, &weight); if (len < 0) return len; if (weight <= 0) @@ -902,7 +910,7 @@ static ssize_t get_labels(const char __user *buffer, struct pktgen_dev *pkt_dev) pkt_dev->nr_labels = 0; do { __u32 tmp; - len = hex32_arg(&buffer[i], 8, &tmp); + len = hex32_arg(&buffer[i], HEX_8_DIGITS, &tmp); if (len <= 0) return len; pkt_dev->labels[n] = htonl(tmp); @@ -1008,7 +1016,7 @@ static ssize_t pktgen_if_write(struct file *file, } if (!strcmp(name, "min_pkt_size")) { - len = num_arg(&user_buffer[i], 10, &value); + len = num_arg(&user_buffer[i], DEC_10_DIGITS, &value); if (len < 0) return len; @@ -1025,7 +1033,7 @@ static ssize_t pktgen_if_write(struct file *file, } if (!strcmp(name, "max_pkt_size")) { - len = num_arg(&user_buffer[i], 10, &value); + len = num_arg(&user_buffer[i], DEC_10_DIGITS, &value); if (len < 0) return len; @@ -1044,7 +1052,7 @@ static ssize_t pktgen_if_write(struct file *file, /* Shortcut for min = max */ if (!strcmp(name, "pkt_size")) { - len = num_arg(&user_buffer[i], 10, &value); + len = num_arg(&user_buffer[i], DEC_10_DIGITS, &value); if (len < 0) return len; @@ -1075,7 +1083,7 @@ static ssize_t pktgen_if_write(struct file *file, } if (!strcmp(name, "debug")) { - len = num_arg(&user_buffer[i], 10, &value); + len = num_arg(&user_buffer[i], DEC_10_DIGITS, &value); if (len < 0) return len; @@ -1086,7 +1094,7 @@ static ssize_t pktgen_if_write(struct file *file, } if (!strcmp(name, "frags")) { - len = num_arg(&user_buffer[i], 10, &value); + len = num_arg(&user_buffer[i], DEC_10_DIGITS, &value); if (len < 0) return len; @@ -1096,7 +1104,7 @@ static ssize_t pktgen_if_write(struct file *file, return count; } if (!strcmp(name, "delay")) { - len = num_arg(&user_buffer[i], 10, &value); + len = num_arg(&user_buffer[i], DEC_10_DIGITS, &value); if (len < 0) return len; @@ -1111,7 +1119,7 @@ static ssize_t pktgen_if_write(struct file *file, return count; } if (!strcmp(name, "rate")) { - len = num_arg(&user_buffer[i], 10, &value); + len = num_arg(&user_buffer[i], DEC_10_DIGITS, &value); if (len < 0) return len; @@ -1126,7 +1134,7 @@ static ssize_t pktgen_if_write(struct file *file, return count; } if (!strcmp(name, "ratep")) { - len = num_arg(&user_buffer[i], 10, &value); + len = num_arg(&user_buffer[i], DEC_10_DIGITS, &value); if (len < 0) return len; @@ -1141,7 +1149,7 @@ static ssize_t pktgen_if_write(struct file *file, return count; } if (!strcmp(name, "udp_src_min")) { - len = num_arg(&user_buffer[i], 10, &value); + len = num_arg(&user_buffer[i], DEC_10_DIGITS, &value); if (len < 0) return len; @@ -1154,7 +1162,7 @@ static ssize_t pktgen_if_write(struct file *file, return count; } if (!strcmp(name, "udp_dst_min")) { - len = num_arg(&user_buffer[i], 10, &value); + len = num_arg(&user_buffer[i], DEC_10_DIGITS, &value); if (len < 0) return len; @@ -1167,7 +1175,7 @@ static ssize_t pktgen_if_write(struct file *file, return count; } if (!strcmp(name, "udp_src_max")) { - len = num_arg(&user_buffer[i], 10, &value); + len = num_arg(&user_buffer[i], DEC_10_DIGITS, &value); if (len < 0) return len; @@ -1180,7 +1188,7 @@ static ssize_t pktgen_if_write(struct file *file, return count; } if (!strcmp(name, "udp_dst_max")) { - len = num_arg(&user_buffer[i], 10, &value); + len = num_arg(&user_buffer[i], DEC_10_DIGITS, &value); if (len < 0) return len; @@ -1193,7 +1201,7 @@ static ssize_t pktgen_if_write(struct file *file, return count; } if (!strcmp(name, "clone_skb")) { - len = num_arg(&user_buffer[i], 10, &value); + len = num_arg(&user_buffer[i], DEC_10_DIGITS, &value); if (len < 0) return len; /* clone_skb is not supported for netif_receive xmit_mode and @@ -1214,7 +1222,7 @@ static ssize_t pktgen_if_write(struct file *file, return count; } if (!strcmp(name, "count")) { - len = num_arg(&user_buffer[i], 10, &value); + len = num_arg(&user_buffer[i], DEC_10_DIGITS, &value); if (len < 0) return len; @@ -1225,7 +1233,7 @@ static ssize_t pktgen_if_write(struct file *file, return count; } if (!strcmp(name, "src_mac_count")) { - len = num_arg(&user_buffer[i], 10, &value); + len = num_arg(&user_buffer[i], DEC_10_DIGITS, &value); if (len < 0) return len; @@ -1239,7 +1247,7 @@ static ssize_t pktgen_if_write(struct file *file, return count; } if (!strcmp(name, "dst_mac_count")) { - len = num_arg(&user_buffer[i], 10, &value); + len = num_arg(&user_buffer[i], DEC_10_DIGITS, &value); if (len < 0) return len; @@ -1253,7 +1261,7 @@ static ssize_t pktgen_if_write(struct file *file, return count; } if (!strcmp(name, "burst")) { - len = num_arg(&user_buffer[i], 10, &value); + len = num_arg(&user_buffer[i], DEC_10_DIGITS, &value); if (len < 0) return len; @@ -1272,7 +1280,7 @@ static ssize_t pktgen_if_write(struct file *file, return count; } if (!strcmp(name, "node")) { - len = num_arg(&user_buffer[i], 10, &value); + len = num_arg(&user_buffer[i], DEC_10_DIGITS, &value); if (len < 0) return len; @@ -1592,7 +1600,7 @@ static ssize_t pktgen_if_write(struct file *file, } if (!strcmp(name, "flows")) { - len = num_arg(&user_buffer[i], 10, &value); + len = num_arg(&user_buffer[i], DEC_10_DIGITS, &value); if (len < 0) return len; @@ -1606,7 +1614,7 @@ static ssize_t pktgen_if_write(struct file *file, } #ifdef CONFIG_XFRM if (!strcmp(name, "spi")) { - len = num_arg(&user_buffer[i], 10, &value); + len = num_arg(&user_buffer[i], DEC_10_DIGITS, &value); if (len < 0) return len; @@ -1617,7 +1625,7 @@ static ssize_t pktgen_if_write(struct file *file, } #endif if (!strcmp(name, "flowlen")) { - len = num_arg(&user_buffer[i], 10, &value); + len = num_arg(&user_buffer[i], DEC_10_DIGITS, &value); if (len < 0) return len; @@ -1628,7 +1636,7 @@ static ssize_t pktgen_if_write(struct file *file, } if (!strcmp(name, "queue_map_min")) { - len = num_arg(&user_buffer[i], 5, &value); + len = num_arg(&user_buffer[i], DEC_5_DIGITS, &value); if (len < 0) return len; @@ -1639,7 +1647,7 @@ static ssize_t pktgen_if_write(struct file *file, } if (!strcmp(name, "queue_map_max")) { - len = num_arg(&user_buffer[i], 5, &value); + len = num_arg(&user_buffer[i], DEC_5_DIGITS, &value); if (len < 0) return len; @@ -1673,7 +1681,7 @@ static ssize_t pktgen_if_write(struct file *file, } if (!strcmp(name, "vlan_id")) { - len = num_arg(&user_buffer[i], 4, &value); + len = num_arg(&user_buffer[i], DEC_4_DIGITS, &value); if (len < 0) return len; @@ -1700,7 +1708,7 @@ static ssize_t pktgen_if_write(struct file *file, } if (!strcmp(name, "vlan_p")) { - len = num_arg(&user_buffer[i], 1, &value); + len = num_arg(&user_buffer[i], DEC_1_DIGITS, &value); if (len < 0) return len; @@ -1715,7 +1723,7 @@ static ssize_t pktgen_if_write(struct file *file, } if (!strcmp(name, "vlan_cfi")) { - len = num_arg(&user_buffer[i], 1, &value); + len = num_arg(&user_buffer[i], DEC_1_DIGITS, &value); if (len < 0) return len; @@ -1730,7 +1738,7 @@ static ssize_t pktgen_if_write(struct file *file, } if (!strcmp(name, "svlan_id")) { - len = num_arg(&user_buffer[i], 4, &value); + len = num_arg(&user_buffer[i], DEC_4_DIGITS, &value); if (len < 0) return len; @@ -1757,7 +1765,7 @@ static ssize_t pktgen_if_write(struct file *file, } if (!strcmp(name, "svlan_p")) { - len = num_arg(&user_buffer[i], 1, &value); + len = num_arg(&user_buffer[i], DEC_1_DIGITS, &value); if (len < 0) return len; @@ -1772,7 +1780,7 @@ static ssize_t pktgen_if_write(struct file *file, } if (!strcmp(name, "svlan_cfi")) { - len = num_arg(&user_buffer[i], 1, &value); + len = num_arg(&user_buffer[i], DEC_1_DIGITS, &value); if (len < 0) return len; @@ -1788,7 +1796,7 @@ static ssize_t pktgen_if_write(struct file *file, if (!strcmp(name, "tos")) { __u32 tmp_value = 0; - len = hex32_arg(&user_buffer[i], 2, &tmp_value); + len = hex32_arg(&user_buffer[i], HEX_2_DIGITS, &tmp_value); if (len < 0) return len; @@ -1804,7 +1812,7 @@ static ssize_t pktgen_if_write(struct file *file, if (!strcmp(name, "traffic_class")) { __u32 tmp_value = 0; - len = hex32_arg(&user_buffer[i], 2, &tmp_value); + len = hex32_arg(&user_buffer[i], HEX_2_DIGITS, &tmp_value); if (len < 0) return len; @@ -1819,7 +1827,7 @@ static ssize_t pktgen_if_write(struct file *file, } if (!strcmp(name, "skb_priority")) { - len = num_arg(&user_buffer[i], 9, &value); + len = num_arg(&user_buffer[i], DEC_9_DIGITS, &value); if (len < 0) return len;