From patchwork Wed Feb 19 08:45: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: 866585 Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) (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 723961EB1AC; Wed, 19 Feb 2025 08:45:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.15.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739954752; cv=none; b=ae0/SKG2BTJPmUZRk6BLRb/PLJa2hNGcDfIm1QBUiHnrayF/P5AH0nk50oO19VY4N6hWhUVhftyjWcoTg/uyn9PLUA9ImFLQPAFQmdyz6X8o2rAqAQeP4AMbSlXgAh/rkLmPB1zr3g70INE/xzVITeFeYfgQKKTkJ6UyqYvFQEM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739954752; c=relaxed/simple; bh=b+o8oliSx4C99JhmKgDXrGvyBY0QzVEi/AJvfb97+sI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dmp/0i9yUUQR38FPXaqq1Kz4VJ+PC+J0NzcDO3TVoLYdf3amojul5HarjQnk3ngOjeTb1McxIFhHd+FYJt8YjKtXXGuWXBSWB/qOXlADkxx3u1xbyDulkzFPOvMoGSFqFsh1FxLd2V3zNIDV/SlKMjh/6haFZtsKL2IGtgz06YU= 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=O9EV6sUu; arc=none smtp.client-ip=212.227.15.18 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="O9EV6sUu" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1739954734; x=1740559534; i=ps.report@gmx.net; bh=b+o8oliSx4C99JhmKgDXrGvyBY0QzVEi/AJvfb97+sI=; 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=O9EV6sUuFiL6Ieuzvp3XsDFn5WSarNtNnQJmlhn+D5AiZ+5+K0X3T6H+0W1spOOj yWge+PSpqiEAxVGzNnZj/mFo68+XSTPjp60HxKUvGllX9Ja01xhPqWGllwaJoJsVm JZ49fg06D29eo7lcg4TlIfR5j+IqwggyoOzEQI6dZhSf/SBzHNKa/Qsax9ZjC+Mag mg4MawjuR/k968TvH30URju00XIPLjhK1c46DU+ROiqXoArN4xVpPf7CyAgrBURXS 1YxTJdEMV2Zzangr76it9+jjcjJN2mMURQwLn4quKJeQI81TPm35Gmenf3zisl2in TizzDSxxNk0ho+BTmQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from localhost.fritz.box ([82.135.81.84]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1McpNo-1tBsvH3yqI-00fx6K; Wed, 19 Feb 2025 09:45:34 +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 , Frederic Weisbecker Subject: [PATCH net-next v6 1/7] net: pktgen: replace ENOTSUPP with EOPNOTSUPP Date: Wed, 19 Feb 2025 09:45:21 +0100 Message-ID: <20250219084527.20488-2-ps.report@gmx.net> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250219084527.20488-1-ps.report@gmx.net> References: <20250219084527.20488-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:vMN1tYqw9IoIWT+xrsvQp9a+YgRGxnN18oFFuYAwSiNYyq4RCyO s6vzZI5uI0ratJ6gtPk/yvPpJA8WVaOoLSrwgmS7Bsjgcwm0xztUGuSjWjdH2ri6Lqgl2hn 7aDkyaXfqRI2gA8ggvkus2kmVSVkINPandLL5wmv0T4h9TkVmtq+XZm+3Yp7+TN6FMyFLfi 3pQktRbNSDEKt2k8OXBWA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:M6J2T9fhYIg=;BcoOcjZTvZF2ACrD19fZ35nN0h5 asqXAhPtBo636PeqlL/2pIZys5Ze4s9TxfNIY2az3kSsO5ZNpRWKz0qYXyvjjSXRqax2T6nQH N1oqjDpkdPNbDe9y1ge9xDOkwZcdk/JHq6TV3RAX/9DNQXZkVm4uwZokPESHajD+rKvcHfvD0 NcnmwmrbARNjusuuYGbKLHlxuL38Mbr4pYFtN2LYrLv3wdgVyvsbVl6MfHqgRQMzc8nroKCZt ohw7Ytsjn9KQJEd+CZfpwctwAXgpMoZsWkVhdvbbFiOqDQYTkBKfz99hqqkqsYxQF6ESSjqU6 t409N+ALVufHDsAxSJ8w9WV2qhIyiqJ/r3wafZEPflaIkWdrRPvbqo+PmfZdRACjCHyMxqjwz G7Moy0OZeZ9+7w2juxXy4ERdZPPiJ70+mp5nC1+/pXewIraxYZ3UGjOgJJEiux+0XGF21fNRh R3Q2G5WYZXYpvWFgr2ycK5+989jjZ/n3uFzZWIDR0ud1v5x3EUsLcojzcFkw4h4iZiqJwkZvO INsUtuQrk8V8cOJg8XsUqp84WIVBHFkPYdnFVCxKvTRmD18Ad4lH+IiKXWJ7Od5v2uhujbak2 InSfPh2I7RtcGFT4JiBuMnD0zss8eEHhH6oGeFR2DffbSuj3hWfykSR5P3x8NBAUVry3QygLa y2z8MbkNThgCDr+W13qkTxt62zH5xrz3TXvZZIR+hyPqRX2Wo0o/u2kXrQ/29z9sQSPBPwca7 81diTZiMR2pL8lpm8nj2hMvwTCR3BaysUZDTqEq9TRtWzLJpeDeZTM8Bp12GD39erKyL5TSZc zS2BhvDM4rM2aGmcCd4zHHAPxZ3xo95m0MwnyJIAO0m0FxylY2/SSa5gfHAd1SiDUZb7/qoll o/jlQJHjT5UDPXdE7EBpwFbVgLKc7oLlCePHcgg9wg2Z5N76eankRj7RN9fe/q78cAj6HUeIZ bDNrVtkxgyhgTzPGSWMP856U82OCRarz02tS2H247fahDxkai3D8CEe+dZYPw89EziLKJf5uL /ELMWF+6NbJclKkfLaWi9+yiBlyh0eIdkM5zbsxNNjzfDquzXJPMY1WbgiXwHMQNdHod8vfkC bAVTDJiudByAZqlUO1fQJuxA+9PAqF7JIPygyJ3vgib4s5yAneYdRy0OcDr+ESc7d8d1lSjJd UGMqrRaUySaBPFhXPqh1CDb0ioERo2nxyDeLqnWwVGQZGRBFn6NWUgNWrurAlJlLsaOu2CALz gSaW6zjWP1WFVlmTTZIuYDtvxQNIWFn0v4dFmQKigVmv+x5zC0WV5WKTRGjnM60ZkV9H5e7/6 5Dy9wMl2vQvJVLs/dHnngzWsJNDhxZsoxEiGjUiisexdnCv2ZDDQjMJeIHSUBmz4m71hX8XJ2 xLh92g840Yp95UB3sg5PB/5vBEy49Nck8NgJiQLIQx2qfM7lpnRhkbm93lsKFUlC8qUZpcNEj pvCgFDw== 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 v5 -> v6 - no changes 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 Wed Feb 19 08:45: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: 866587 Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) (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 3FB051E7C25; Wed, 19 Feb 2025 08:45:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.15.19 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739954742; cv=none; b=e/rv25bJEABkkOVTzxzXkUdzjnZeQ4BLs8EopHsAbekdO4MEq4XjK5DcDDVHCOZYrutrMZaWZHnuRt/fdDsFbm2o1GdIErnlMIZZ9XCDLYE1kcsWhAntBfr3fO4sV7zp7ZpPskpPnQEqGfuGd+Qe9SOnvQ1r7knpkTdR68JB0Ok= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739954742; c=relaxed/simple; bh=JXTeytykjZDxlJKs0JESY6a1L3ZB81ADACooI6J7FkI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AWoIQAsBYjpkjOQVNdwIPW0FQpi7vTMk8bNjuABMqMkxPtfISNXsHqS/5oOvZS34bmsuwSpWMx68HPQO9N+2/P7eJ5sy67YN8KLNux8VH6Sq4SZMKpfgkt/VQ7LD4f+SIR0mEvK4u631pHngS81hPHIm95oR+ixFkNM9qiNFjcs= 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=qGTX6pwd; arc=none smtp.client-ip=212.227.15.19 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="qGTX6pwd" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1739954734; x=1740559534; i=ps.report@gmx.net; bh=JXTeytykjZDxlJKs0JESY6a1L3ZB81ADACooI6J7FkI=; 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=qGTX6pwdpyWB8TNz8m2xGCKVa/wkrX0htlB//YQam2m9o90G5/rJLXGtSpvD+0qg DHm173haz7HA1gx+ya7ZVwEcUKpFmAWB8NwWaWLtZ9HwOJ4OAnhjEwR+5dhe07OIs hseqix8gDumoB0VO3zYBoEoTlS6gcIwC494dOil6KSTzmT1IbuP+WJoqMO0IkyvoN zwYLxMdmGjul43uVwLPofJtu07e3P6SvRCXoidbjEd0wo5QZdaUqNh3idhqW4zUTN Wo5n9pRsjqitSzA78Mgv8dcvVtP5w0tcf9wiuSJfgwHk3rBljQsGbEHuB//ZSlC4P ZUviAVQBo0RH03qqxQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from localhost.fritz.box ([82.135.81.84]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N2E1M-1tLsoa13j4-015MnY; Wed, 19 Feb 2025 09:45:34 +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 , Frederic Weisbecker Subject: [PATCH net-next v6 2/7] net: pktgen: enable 'param=value' parsing Date: Wed, 19 Feb 2025 09:45:22 +0100 Message-ID: <20250219084527.20488-3-ps.report@gmx.net> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250219084527.20488-1-ps.report@gmx.net> References: <20250219084527.20488-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:qtFBHre5bAlwBkb9c89w7fySFqvS3OOLaPLPg3HyIWWq/hqtVi1 5Rle4P13Il24Gl3vy7+UDPCrK3CSPRQQS+wtzyQN6FFDHGaI2DtinuGjGIA9CZgM7N1yq2y htFOw/vnxvVyW88KHOR5Lui9nMgc5BIwJ5BY8r3hakIlQQTpFigTjsg2JCftF+eqfSOOewE kHuJt9PXDSdq4M3154brA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:fWKiy5NIOGg=;KUGRcY8BWENVHi/+DRhv5YjxSbS 8107Lt45t1NXZ5NEhZ7BEqZakf+uOPok5wpM962WlNi8lt7dNfO9Kx692MQuGW4shYPeTVuUB FKI6LFPTJY7yH9QIxTOAORv+eLeJuFmaoAKZZh9i7Q10T5Bg7yjhugMZoEGYw7aV6CYGSAUNc 1HDQNORxh/xc/PUM4DkbnpeVGICthdplU/W7hEVVN3cS6xt6kwqOEvS+DSXC4JVQR13N+yKkq LcE7bJLHf41tzttKf0psYsb9K8VstxmXtQxMxgFGdKCqYuZctx6BBZdPz9FPk0Kq5nz1oV5it VCxQJzIRxjk9o6NcweMwgrtAfDdIEk0gTOerCbo6dppoL1nWDhl9fHZdTB8Eq87zhN/KGZGiY tLtnahGYedfhYC9WyHZbkJfNQSb8VgoFIvnOuM9CwJYzSBk8nD6662a8nrDCf2Hdka12aaYo5 nAdGze3VTiMpnV/tUca/XLLk+q31jkSab/jl5RFa8AJ5eO8Fn28maIn0575MpUXBq3OmrLuuV 8MG6WsdhizffQu9hbGur27Sc0554VswnhCaEOvYX4w1IvdrT5V61+AmtI5uCFJ66MGsmnon5Y Co8NY7dr3WFqloj1kWLk3wH+Gb7Onq7DAEG9nasBFCoi7OYWjPMH1emZKWsE9bWd6ojP8lngO cuQMVvIYw1dt7QmgKr6z5B0WWX2DO8rbQISvfVldY6clEFN0bfRidINVX0OcgEhajAmgKPUJJ 6VGitGbg3W3eyCUvKM35cpHsS+ivaBot2D0Z0LviEcj8L8Zt2Suud6VDz08RypvgLeAuB/K4G z9dLrMgK1cwaRG2G9ikW9j8E48GB/BZM6mbEiPmpty+hafJNh0wLeLNz65DgBhJZNmQ6drO8e ou12b94ELn9oT4bPhdpuD6hBqM+uCVslf6tJcRRv+Lk417dOCArYjxbhx7G5rXewzSQWvYOff kRftIBDtumZ8b4NHtRDJfg5RNKh5uR5sawCGXCbb76s02ftOUK5qxw/CDOJgt6LWAz0AdHR3l 1yz0v6P7rKuNuNOtSFKRZbZZZPoSvtNRPMhja/IBvaoR0US8TOy6UzR2zd4nKjwAtmbKznhHc 46ot2ALWFCl/CrC6phAisie6FR5exB7joI1uIDa9Dpx/9dOIhuO2AuhBDhNiBnVREF/nbb3xA aLXg57JE1V2ck1VakI6YerdkeZCQIj5l5wme/w1bZnXOzJoMD1iEk0WikENrBdVUrcb2rZNyK oOa9cJp8Pdt5aatj/+jdzWDxXFHDHr3aUEfD+Hfk5m8ibvkqcUvhZGI47RKivSeIh9PuetJ8R +ZC7Ab/a+I+cX/PPAB/YZHJbAt//y9suWewEJ7AvD1BL6IEBcU04XdCiT/4pOWvnJEdbFxpUv 5bbclxbtzz2DJpUZqv6CxOhL14Ja4GOFvkROifyGuCPhnFKVCXpoX67WBn 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 v5 -> v6 - add rev-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 Wed Feb 19 08:45: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: 866584 Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) (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 0085F1F2BA1; Wed, 19 Feb 2025 08:45:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.15.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739954755; cv=none; b=CEW0Da51PR3kTwqjH7KvQebThf3j8E9DqJMaJcXIr2YNYMxbePdi2P8uWN/MRqvyXqadUBGsGA7/ULteaeh9LT0UFeYG35taR48zTnKpsZLe6ATJM4kWgog49/OAvxunzwy/baH0k30jG57Ri9kFo04bVkwQB17uphiKJXU0c44= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739954755; c=relaxed/simple; bh=xuS0Zl50G3GWKfmYQSecd5rupPs7J62QHeZ7Mh9w86Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qBCFK5aQHvMgXAUwDoJBodgjH5VL06GWYVqF2CUBgAKNTnOclWfM1B/rsL7NNNRCHACJJXNxYnHUe3K9KVG4qThQapFVoBPGq1kbbiIr828DcsZ8QBp308lUHncV3ugl2H0r/j0AZUL6bVtdJuSgrerBOJa36kuf50XGpAsp3jA= 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=Nr+fv+cV; arc=none smtp.client-ip=212.227.15.18 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="Nr+fv+cV" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1739954735; x=1740559535; i=ps.report@gmx.net; bh=xuS0Zl50G3GWKfmYQSecd5rupPs7J62QHeZ7Mh9w86Y=; 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=Nr+fv+cVJRqTAVvBYYkx0z7sUNEn4E5AlFuetPP2a3o8VMg62iUnGpuYL4lXKnlN LtuP3hfx4+MY2S/FgXjqYV7ucK2awfyw/dS4wmF7lsZH1wJnSAW6dfFLHcndBctbT auWFn17yXQPAKQ6B396omdpHeso2j44VikWTHfRxNnuggxouC0abuM36C0qOwEWkw ekI6EYT3tolUn1Yc2PgPvIQo9MinJMxOzkdsssFfRVFPMLIAi1O8xm5GPOk97TTsH eLuMbNk1IzFTX7uC0XEXHiM4jmuLBbKycec8PRs5gWEK38ayQ4OWeeUoZY+L44GNk 5fBzUIwjSgwG7q6PWg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from localhost.fritz.box ([82.135.81.84]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M7b2d-1th4oF3iIf-001wJv; Wed, 19 Feb 2025 09:45:34 +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 , Frederic Weisbecker Subject: [PATCH net-next v6 4/7] net: pktgen: fix 'rate 0' error handling (return -EINVAL) Date: Wed, 19 Feb 2025 09:45:24 +0100 Message-ID: <20250219084527.20488-5-ps.report@gmx.net> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250219084527.20488-1-ps.report@gmx.net> References: <20250219084527.20488-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:bn8wg/13MmuwrARvlbX19TYS1CNjJudsRGJKdX45YNWG/DD155B /JhaqeZ5bHUe6oolf2JBm3KixiBT9oxKOawOvLn9YEmnV9QN3kE0AYsF1cdHg6i03Jv9c9H cSlVSz134xBi4vYjaxtEZEBFkRocIRdLZ1YkbUA4k/ZXjbUmj3UKKeSERdPNCFg9MH04BUq yI3Mi9PPtja7Xlo7hPt7A== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:4Sj/uWxKfzw=;Np5UVHXeDK38oWshFAt31bAvLIP /9aBT4vBbg0BuRyJveVB/5W0of8JZGXU+AnWUkg2ypKmD7szzNNHZcR9FvuVGlhoOt1WpBr+m MT1yiySA+/0PYDIvYwT2HhfMsU7Ew0NSlnV/85S3CcTl5wVclhAW61nbSaLaxy9zlYghPb1h3 Mo8rkr7jtRFSfb+U0A37yQ7Cx04ipnkBq2YN1nbzZj8rK4oGo+R/zF0KFAd7X4poSvRg8yc6Y pDZR52nhHzoQ8wlrhf9GzBfwkDiRLpRE2JBrE03UcUSvcblBtosvmPduP4GEPsCD71DIjPuer sD5fSO6lpIvSz+Bx9RcvYAvVRJo/0pNXhbkARM4FMc3uJ8vxR2RceQzQ2HM+qTSxWwQtijldA Ic46wV80zk3mWvjmp/hLUx+YxoWp1WidE03oSLVjPbOuffkgLO36RZ3q+nJnzvnbwPkbf24jd AKWSNA544OzgyW5CLvYw+0LPEP/5uohR94wefnLv4o85ncMTo1PevuSuLgQ2IC+70SulspAvR 64iZ2Ax7l3UUfQ6zlY7u3lCdFv+Kx5pvQjaJRU/W8svWsDyM4vK1nEEpbHeCrxHTkr7FRHdCy S6K3/2bBlsSaiXybH8h44x442sofPIAhArcbQf/lglgPXJqjhCH0qxuKwMAt98vhRVmII/SLo OH5IU8KMZTQyXn8Om5NYt1dhzzJYR8wiFNAyxSCGS+mpv2wl2YLBkIThU9pFeSwK/kSlChYKh pHA3bASSxshcHgivR7x1Qqv5XTqN1zaBSE84lqxBpA+j5VFshVWuR51g4kI0uRkj8TThQV4f6 W7IBVXQSjvhW6JEcSu8HgjVRK5YsS4MhkqECiF0Js5C4FhUHKlS51tFYDQ6nrtpEIY1ctNv8q vMhWVKcdInMtvvaZ7F802HOIh5abgW3TEXznVeXkBIYIzK/2zysxf2bINERWhguCXvJtIU243 OfomEzRCJHqiVeUUiz8dHH+/5N2CbnYNllyJZfWZFLVjyreRxqA1E3AwVmS+dMiQasAk4sSD5 gwzqpgbbfIqsJdaHneT8jLUR9YEjLhaEGnRczxNyaIsrUEz9CKFfUtYXPYakNnn4rxLWcIfvp 53K1X+/0tk2SEhsRv2nLLfo5RW/j/zycBLuZONMroPERcgkawLOYx0QyLuNQxV0lyLwO2A2tK CiYRdJ3b5StLroDK3yAuCJkFpExZctwG2+0ztY7UsAuTc4EOIplc9E0EvyXtRj2U/bApY0RRu R21D2qo4PNsjzCcUeXMKKo7qvhB6s8IlISSKWlC3if3VjqpKXfpuIL7xU/ufnqd55oauwrrNv oA3vfkFYtvy2uVPVspdYPu7DQ0e/3GILNaNs6c+Kmwy2UvC5NxpNsDl0tduOtIL7DJMHLirqr dLW2nwNhyk3gCHQkVepeVpdlVx5SsG9a+NFqc2tGicCoeUovFiiXP0vCPdZz2ClOemTyykUBQ 51xtpvA== 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 v5 -> v6 - no changes 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 Wed Feb 19 08:45:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Seiderer X-Patchwork-Id: 866586 Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) (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 372BD1EDA1A; Wed, 19 Feb 2025 08:45:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.15.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739954747; cv=none; b=t9oxP3zx6vHRMbxQf/FjJXsph++L0HKSGsMzl0EO33bsqH9zuTB45vlozh3loFt/oiow2tUkou39UHrEbAConmq56OjZkGygwcPDW2fj34ZGJ+BkJWpmLzzLYND6k5zF+YBQ1NyJ6zKFsEfdSOXY/ApbRMzk900a21TjlSUoI0o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739954747; c=relaxed/simple; bh=bjidigATEzuWQD1HyEEpyCpxx5S1BE16Jsk3LXcB5iI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZNRpOYwui99A+98/YJX773A08dFnajgDsTCQauz59DgZGfHtvX1BXJAEKBLZij1tCqsE/YgWMx6sO7LCY6CtMI/djAlfJthHYEDtiNHpmD/hnlP5o1xq15xjMtWfgoOPkxTB8YIP01qbHGPSAL1CNB5v+hG62/NJrFaue/2JvPc= 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=I0nBBLc0; arc=none smtp.client-ip=212.227.15.18 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="I0nBBLc0" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1739954736; x=1740559536; i=ps.report@gmx.net; bh=bjidigATEzuWQD1HyEEpyCpxx5S1BE16Jsk3LXcB5iI=; 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=I0nBBLc03G2888UGX8ADBzLphpiuW8O/CPXSOt9d+hRJCOUK9CAyOjckCdLPS3Yv sFQc76pO+DKVJyOScx4CYG2o0qKCpXlOdWHqhQNgM9Elx3X1toPuzFMFg4EoR5/r5 0OMonbjQweF5cKpQQwfh3SAV9zS5GklVtnL9/zeBNujbr+30xJLgrpjRnzhjsqsq4 x/jMCFqXE27waRDtZlY6NaWbSxiyDU5FlP8KCl3DwNYAXQ2IWlXeZXh96UTjFbqcJ 0XzDzwWmunCaThp28ppwACwglttJQmBmt4ZTE8yLjd1lDCABP3LScWThyF9uJWN9Y HFZUsrT+dAR2cerr+Q== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from localhost.fritz.box ([82.135.81.84]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M3DJv-1tlUeY3Tyf-006MAF; Wed, 19 Feb 2025 09:45:35 +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 , Frederic Weisbecker Subject: [PATCH net-next v6 7/7] net: pktgen: fix access outside of user given buffer in pktgen_thread_write() Date: Wed, 19 Feb 2025 09:45:27 +0100 Message-ID: <20250219084527.20488-8-ps.report@gmx.net> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250219084527.20488-1-ps.report@gmx.net> References: <20250219084527.20488-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:QYZWc2fuov1jErqZjC89tMwDODSdFswkp9QSi9mbCHwZSy/Dzip JFy07ob2QbugkRt9mXY84MvYVHA4fnyBmyOXJXOMRGM9yMtA6tiOGrCdiul/MYACJJOncqy jHHs46frM1FXsbzHsbQ6j5jWlIhBjnytLwMGGzi8h29gyKEP8LXNmEzydgTciGDDX8gq/Mo Sna7Zb+/fOlzU6OOe44lw== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:lOjTUpc05cY=;1MCESKz6EgFsA83KEwR68m2Brqd R59PVwvK/+7BQWz+6qZ+WE85NVRYTtJTni0KY3m+Du6uQybqNQNc7z+J+SxjJ8kSprseg8DLe WdR6867gdhPifVb5xaHbr1ZtuqfUKM+SjpKAJ2V+q7X+0V8AOaX8OM1/t7rGzdwE66VWE6D/S U6AMn9DT5uyvBxZC+/Oy2kVgZFs0aog23hVKWtHZhp3oiK0FsibVahtTdYWSI0COIK/xHCIW9 AriyzApnt4b7S8Bv2F9MffMXqXTNdJdGOEYAQvRTy6feAqxp1W0w/7CqP+JpbDtr1xeXp6Ilv AnArmbR8rdgvGbKA/YgFuss1aI9prlw5XRKTkZonnrOM8BGWWJeIwHzqD9dIMLFRw9akNolB0 gUhgI3GPnFyZnfVsVMSFNmXsgo6IDSPyMScaYCkKGbsWLOYe9VQfZnSKjEujq3QBOYY2jNdyM /m9pKUXElGsRDhbCZ7dfknRX9ySvZQs5rVC0SmlR93aOVBNyMz6BMNc5J+K4gLiizihabycqv mX0rVEdOUbNfnvDIIJHMHb3AMUIJx4Dnv87EeGfoT5keo8Fq6vB86t1yjkCZIkC+keLrHyR9T bO3Cvt27PwTQtrrC4h+xtgibSub3C+6CLeO3jCw+19L1n2XD2XYMKkEYpIappVQNC/jaqvhJl NC1oEjIUuKUYIQWTh+GkLGfJz/VS6UybGxXngRg3xu3wYSSsog+P74/unsJHG2xDGwRufPwZi 2bkgklJaTFxAoDIXOhPiV0NwW4Mn1kxVifj2b4o6mpN91RDtq3Yj1hp/dPq/5oudKnSV2dvMl +bqvaAvGeIYpD4RBVRHTHZwG5MZfJg1ABGbkIQQFHz5Al8tDCjYYBs9FC6AQe3yvT2lZg3rPe 9jumudFYPDLMREUl54WVrKMVJ9qBQaLbyx5Ogy7fTh80D2IPTpT8e+bBi3F+ZDH7N4DZANWnM zQJuLUlNg02vn3MrpEOwxYzH8bgT4jk03jc4by05vDO1qQwXmnbXXcN8QKWIvFN4NJUTkV9f2 gj2c75/gEkdGo51Jvs14E9/k+r9gfseKkWO9a/AT43Q8NRshzV40Pd3aYkF8anCPESwEsyXc/ arT6fjuILUpXARg+cuodN47uU868ncV0ohNvQFVwhy7OF6r288Q34JiT+PpnQBJIPRfIgfhzn O0t/iSYJUJs4t6Y/CUa7j81NFqpAP7bUwuMUj5fgI+XJVWe7fQpp6obnG5nBQ1LFXy4tiiaEB PcoRB1+cnwP4wKGcx4jbe3oyMOwiuSbhD9KCC56rNdurjWpTmivHmH0s+J7//e17YVGjjDxsK TwOsSWlS+ybbrYeiUJbKAULDn7B8XQU+W0BKW+tHhHFg83pE9shgEhTR7vcc7+o4iR6xQXAZR J+iFsbsFPvB4ykhjuAXp9H9WiEmZflMePPPksHzeaQsOT2vUPBFP7Kq1/0 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 v5 -> v6 - no changes 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;