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: 13981757 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: 13981753 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: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: 13981756 Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) (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 975AA1EFF94; Wed, 19 Feb 2025 08:45:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.15.15 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739954748; cv=none; b=iq0xTGh8N32mWbiaSSH7Cs5xPo9/YnvKU3CBIl42wjTelh2fZTdQmUf//m+paZ/wl4A/5uSTbSbLKwZgBg9AelpwIIzvP3jLalE3U14ANKpA64ag3T39qdV0Hp+LjqSW5vgy9YY3RzN5xHt+Hvn28pgn9vy/8x6t0AiyYofaf7g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739954748; c=relaxed/simple; bh=jQSyn7wtfwTSn8STW3p9jeiyw5W5pOvWUq+BYK5KgUg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=sC9iPrRMdgJC4TYhoXW9jEar7nS5gOotHHPtqK4gHnaY4QFeMvYMAgnFMvKsHCb3xiNPwig2aYsNw0yDcggW9ziGiewXxph4pMCJFXILfxidlArSedU1Qu89jdo5dw8pX2JZ7cu3tU4EhSHzk99b+IRZgUHtHT6tq1kym3jhFyo= 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=aIJ2iyGu; arc=none smtp.client-ip=212.227.15.15 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="aIJ2iyGu" 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=jQSyn7wtfwTSn8STW3p9jeiyw5W5pOvWUq+BYK5KgUg=; 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=aIJ2iyGuaiMbE93A8dGpRLJ+KLxRMmNzm4Ckzx95d2mdRud6MSRyo4HS2pbuK7ys Fa8LtsGCLdcMUrgG6BDGCih8jT2wucwyuVER13gEV0/a960+dMyV2XUr8NY1vHNEX 2VndcWJU2GTzPNvAxRgw0yAvpiozQH3mT514wJdTx1785MONbjASELWJLGAmbvTaQ Q1NQZ/iHeVglPzjGmv61YyHMA0+0CAz4BoP+F9QpndI7GSswNXzxOVUJW67I2LcIX 3v4BoHX1ZbxWhOFp8lRD4OTzQAYeYSnuDZELi4oOdns6Qn7vTRUNC2zG4RkhUowJA o2rtvlyhy11fZwuqCg== 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 1M72oH-1thcm12Q7L-001O5Z; 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 3/7] net: pktgen: fix hex32_arg parsing for short reads Date: Wed, 19 Feb 2025 09:45:23 +0100 Message-ID: <20250219084527.20488-4-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:9pn5Xrv/PCkdI1VP/j57XJtVIK9FZHbIOPMwNdHfkmam32zOdAm V3b7cvWY9P+wHyNgfwx7nbq44iVrmXbrbUNtCgVLJf1z8OyZAQh36qya793zF+d0PoB9uqf Bouu9Sw1vfW9btRlDKLCpjDeA05aUQYEdIg31el2U5IypYm3nbIG+Q+m16js8ugMb/tieI+ 75ncs1bnoYBZN5UAlMQ9w== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:RaQ9u2grzD4=;0in4g0i/E6fnVkVP6XR0MTGuMyl ahQVdQqLxK7T2Ri78B57hAyJP1fxTHLZKQBfHb7BCKDkBP4oyRHkx3UFmqMiLSoxHUEuZ/569 qhuMyX2+3Ot1Wo3AzawAPBIRCXLtKi7LAmDgBXEyCP7LjE1Dqav12YTlvhR6CYlylHcbpytYC tvo0u3FWqtNNJYATSXdvJgUhJkdzt+CLyMbYUXZPFUu/JG/9KzPJYQGbsEzod02D7sFbAqINC wzY0LJFQ950tmicGMtgaPHcHsFUH3lNY8qJuBmykpMmq5koUSZSceQIC+PERW7bLMjMl4aC4Q 2BbBkJoTuulBLnUjoA9snroAipAR0zoF+DRLdaRV5I8aFM/7SiWZKKY3e6LxqdqNJi+7qaMdI bhHp/b00E0XudeK3qRGHUPRv/CKTP/dd8g5dPOb3FDC1+pzsAP8IyIenRj6SDRJfyrwUP82Gf Q3xfJWnP2ukk/p/P2CHIJwtm9+D1a5qDHl/3+4h73lYZCm428t8J+vt8pckR8dtL3YtFo/MNw EcswZagW/vATFCrAZf4V98aqhxNR5H06C4YX9NyzDZ7NY2PTBkGQtpMLkMTXzSrtyCjaWlpcS egNc0W/zm7SrOboiKVrPdz+viLzz9H3AA0uvL3V2/p6ufXvgAQfp3652AGAkIUEOF75Jvgtzz AO4aZhcjyMPa+wNs50KIGwRC8Y6tj9KKgtdiKak1L9/4p2N6e4is5DGftoCO0i6oWq0ODJOaU OLWbDEYquVAK3cqljFor0jxrLJYX8W8lINwjnT5GZTulTZM22Z26FdoVeKfiucZl54Z1Ce0h8 C1S6mCz64Fm/z8Jhkk+AejmfatQEhtevj/SP+ntPVPEct5aTbJ2S4CBYewrhe5zW8A4+jpWEF eSdpbgCZnjNYlGNIqfVAsn/phHcWUVWsphUizEOXSjXBJHqFGOXkOGhrUcea0AI2DIF0dYLUG 37kcLjL98gcarm/G7mu3FxvdCn3T4XO5Wfc8QwaZ1GgM0DUMPRTdjvdZUP0U+jrqNHzxNDVcn LPT5gGQM8xkT5YgMpGNBCIjALEZY0cHbL5U1pVC3vLdRUmMQrSu3IlWEjkCrSQKHRcEg635Jp HCxw3ILK0yJCT3I9iea7bkTvkZOPVXXGco3sxfBpbBYxknjlE4AKrNaTJTAzMt1/kKWQgly/1 Mnz8o2MvVmUbUsGAMvMRcDODWOuI0Jt+zCjm5USI/StOSVf/zb1hmVNGMM53osUoxiqvfos3N AeNGrCS5uV4ov1j4c+EcKZImadhURSO/IromrvryaHiRz8NMuiPRJ5fCirlUnXC7OM2AaXdLO vIe5e9e0w5pZcj+Yiw8S/wcZa7vGnduCOn9KFm+55DGXkFOPqyxE8Rs0QFerML+BVE1lA7ozC D9pVZWlOtNHmMI4RaPAt80qqg4Quz3hp9qNfGJNmQ9Lc4VwFWfHn5Rs9uL 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 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 | 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 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: 13981759 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: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: 13981758 Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) (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 353C11F17E5; Wed, 19 Feb 2025 08:45:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.15.15 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739954754; cv=none; b=LcV+Lwps0Wgl9pPaC/VW8RHs50BMo9SpVQA1G22Vu6bGfFgse7I0KZ3cdvvr6so8EtMAjA8JXj+Q3HS1bwKxpUb1zo2MQQljdjFB0i97pIJzWYhrmXBLYGZX6/Jgxn6tUhhohFIfdpqb8dsjGvJzNIkgSGpKtPnFlJEoz5wHrA8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739954754; c=relaxed/simple; bh=Ofg9u8W99aAgJgfVz6DTmnj36OdvUe2HVm+hqKXSobI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=S6I1nPeBknsrg02DiE+7gr0faTAQuMDoFbv03RWkjn7gir7qpeP/ymFIGkqNUo9xUDBZRLJNlOCNxnAVLH7L0V1GfKOY2ch/WzC1f8uYQ8GuzF8QnkiclC9Bdhq6HE/TqOc7nEFnQsgbmMpnQvuzNVv+JFl2PriWC0tYHwJZS8s= 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=KsB3XDRZ; arc=none smtp.client-ip=212.227.15.15 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="KsB3XDRZ" 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=Ofg9u8W99aAgJgfVz6DTmnj36OdvUe2HVm+hqKXSobI=; 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=KsB3XDRZ10pC1lwNfkvoTqP9VG9B4xEDQ4OvomGM29MSy1bUaDacX/QTaUfspawY 4A3gUjBa6CbiTFt/P7ditBkgNy5TYyLX+RfghTX7Wsu+dZGkDI9NsWxRjLba+bXDL WAAHTKgxWMMuWTLP0DTb7QoM45nA0QuvfiWgE2am10XGMY7fnj5hHlThDay8SNS6X y2GX3WBrc+59Po2pJBCUkMM59JJbp+FGfV++tUWmMG4n//WhINfCKgrRhQcxnozL+ kQcTl0MbALIlV13GqXv7Md9Ej/F16lwc5UPJFRG7oUQ2NEjEdyvET2sTQmipBK5u/ Lvuwyv8OXqZd1rM/jA== 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 1Msq6M-1tVCDv0xei-00vysg; 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 5/7] net: pktgen: fix 'ratep 0' error handling (return -EINVAL) Date: Wed, 19 Feb 2025 09:45:25 +0100 Message-ID: <20250219084527.20488-6-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:9a4L28b3mjP5fc1EyEcgCGJ+ElBhJTM4xLfveLJuZzoVlthLQu0 isqCKRHQyv6ovpF/47qxi4225rSmJbWmoebTURQzKMZFKJZvbTiksF3o+BQrBQKXlk1lRa1 Jny3l37R9jw3yfkUuG7bVpWMoEiU7n/bEwdCH3zk4wpEykCHd8Q9s8A6QmHS70cBI6DP1Mg 8JteVmVqwCLRLVavclOLQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:lCFPuVx8E7U=;JFvAe9ZfCf9ZJcdsFW2w7t2G9lS vHn2Dy3stxzKRkejm6MKUqvSFqmx07W3H+/GhfkB2dxvhsbA0e+SVpJxVfdGHOzaU0op7QfkK ZGISXjZGPjXTj8intHCENIncDH54uVOlTN9btr995J39bXyJ0nrfzxPw2T0nAZaTxLahPzM6H zR62aLHGRKV7WPspOa4hucvPO7CyxhoHCLPnAF+ateiRoPCQn+n7A3xG3FCW4lWDogm23M9ll ByUJ4SmnHgcqI9eTcO/17L7ruimdWcJRMkeVfPJrf6PGaY0NRAN70Z3xWPKnTC5L4Ku0Nc7tl tho9hV942j4/P21SQI4/eagwdNb5nPzzaKZX+jHcEsHcHu/VR4UeuyRZGuO+IHkfl0j+WPj40 PyXXcLk4Se70Lsnz5hRZiQT476f8blR3PDpzEAVzYhwFP0s9cfa6jfRcdIrAAWZMCMnKtdrZ3 2bLMooRa83gjXRSk4djMv9s5+odL/1D5ZNrQg4PCV0aFOZiPW+I1JvOF1FihFlppOvfNEUqR1 ZyHblAj4EUa18BJtnYuK/7D4s2H4Dk3zYWtdNUnCrTS8DmeKIHdMr0DNWOOAlfvoDNio3F1Bp db976ltwkiXufuksgHR4xyegYXFE9Qim1ZDm5ARowKTnyhWHwtEmOznwlvGtDjVyCYKEvUf67 +GxjliTjPqBtRlpuYDDh13q5cL2L1HED1UBReqFzeK7BDzEhm0b2OIvREDsAaMeOEeyATFSG2 AmGgbGuLTOsJonu+v7BFsZ8IYQfIF8ugwJqeUdsiDIcxmRxLpob+des/IaZCI9f9STgcZicwg vF0Tg1sBB1QdRwF3w4qM53iMj7S7Otf7wy5djt1SLwDi8NJhyEpUqjJf+Dbz7yJFBtkOcXQuO HcH2NGAM4Lijx43BWMjYZeMAha60cH03jZPGpJyzzIBMXo219PiL2D/uLUDSljqo0zwxCR569 emqBcHa72HCq7z6i5wNWbTVbKEbqrAscuaib9qor6fc3TyuPU7h/nhBHZQZ2AN8bc3J5KGZ9/ orucnh20hDBH3GvOPWE6zV55M3ACX43v2wZUURaFN3Ee7BJYpzrSE2sHDQEMpRuzFae2RoW+t EDWxRES9t2nkOpP3YIbNrrC4RJB6bcrONMVYQ8xJarHnJGgHVBUuH8axOeMBlcArs8CPlq9TX 1dZK0AMqK0ll2b6hyVbKD1LnmPxhFi38IsQLiiCmKwoe25bZNceb+BMlv7QFzUU2sV/Ppi5+O lGr3N5CdYpFMZf+cNaJarhkCKEjR7AU7HKsqnu/dJVigW2alJbdJq+0YhCZUlMkbDVMrOxYz1 kYTWjuThzrJ3KqxFEN2/Y+zkrDBH3yDxbdqPmM4kF5veKJx4DKgKVVQgvR2urCXEGnLeqM9o9 gxtyO4v+icOQ8Sh9MINBXL322PGrlPpj5aSXYtygNr32H59gOgHSIB59hB 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 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 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 Wed Feb 19 08:45:26 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Seiderer X-Patchwork-Id: 13981754 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 EDB4F1E8855; Wed, 19 Feb 2025 08:45:40 +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=1739954743; cv=none; b=chpwIlCx6p8jT9sf5m+iuQ1CTG3vG8tbFg5mgTHEs+FdO6HP4a+VMSg62bjU+3EwrNK5hrteAQjtR7Rrpo4WeZzoAi9CoN6PtNTSACQQ8Tt0l5PSZ3gwQnfTLo0m+/a8k+rYGHAtRr7mMbMlspJ9KSiSDMKMF+rwA1hl1Jav8Ho= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739954743; c=relaxed/simple; bh=bPlIset1Cccp4N8EsQdjsT+NX9VOlH00sH1KXjbVGQM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=BOLp5+uqwe6przebnlh3B2XUK4+cYeAQWo8elO3AX+gjoG7447yYwrgH2CocvBCYxa2u3m42fluYcLQHt4qL7wBpOD1PU3rLsk3pkYflJ6/2ymm/BoX/VOk9hkdy7Zx0FkOxGWnAS0SOd7Ki7LQkUvMzdX37CCQO6W9CpSEqnns= 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=TyK2bPsi; 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="TyK2bPsi" 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=bPlIset1Cccp4N8EsQdjsT+NX9VOlH00sH1KXjbVGQM=; 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=TyK2bPsiqU/UOouoeR4gO2clG2P0ZHx9wvvffQxwQDQIQwO4wRP1muj5DABxahtF N0IJ0ERcgJpAR48ObmrPQ1D3w//mpS02FvawpRNp60lbX4P047604NXA5Rul3Av+x KTBNDjpkm9xiiEkF7gih4YcYkb0NvK1+p16oNYPhzqlB7piv51Ou5herJE8XASSSV 0N5JgsRtSec2qI7ECvRUaczJPhf8OR7U9hDS2gQ6sR0fzwMIIUoA7318PEGV4jEgD g1FvdeYoQ4DzRecHaNpG3EWvokspjT3+v85Ll2nWczJuZheqjgRMALdz27f80R23p PFqI8m18qrZO6okzWg== 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 1N2V0H-1tLbpg2Bih-015dmT; 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 6/7] net: pktgen: fix ctrl interface command parsing Date: Wed, 19 Feb 2025 09:45:26 +0100 Message-ID: <20250219084527.20488-7-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:XfcRQxFIU8PrIH2M93skfLbMwg3ByFhQR1jcgQ6hXkYZymy13pS B2QBjOyrGPg/zHArp/6qMDpE/00VmTK08kjPh/PYOK/+N0QKZ0gHuKtOp6h/ApiVK6K1rO3 pEqmrZhqECVfpnKKzxVlYkQxsRoqm3iF/a7+HzLXEWyFe0c0o4Y8hIzddJ3Rg1hbttk1WYK fBi3ebD1Zsf8wL+raIYZA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:0FJhXZQ86c4=;iP9rLL39lkNgodBJpuCv65y8e2u ug6BtwrK+NcR3xGxZR2IWQa3I2GCTcupZtDr4Ha8pqP7PGGFH1ACzGIrUMov9dP5+LPpFS/HB Rk2N8uhs5erv8RyEDgsCyfWJYga9gGDG4jyN8EPRJ9RbQpE5T6rDTTI7Vs3ZN0p2QOdXyrTey LmWXdZfOnM/mx9AKf7T/NffJTRLd5og7G1cGs0aQOGhtxOUc4PsRTfHocUUS5ysLUh5i7kvpx m+s8JBxb8Bry+hryHSbrORDfQjZawL/eP7EzTb4S4g+cxbnMghenLXGCh1VS/O9Uz8DN81pJp BJXgIwRGwnTOd/N0JPMITO/B53kKDThbtG9TGtVJet3bUZfPvHHz1taridaCLOi/rq8T5jAhy AG6sQsR3M/aYEVjc846o6edTH3ggKn+ThUl98CjyjNk2OR8fZvEzo1ewucWlkrtIa9W75BKnM YZhdckr2tBcUgtXE9eE670o6UGdj9gJLY+3IbZ+RNC+rQdIACHtXIRhy693NRqJ36BznpYcoS P9UoQueXxDaX9imUFh2c+Os9/gWzpMRfkqe+2o5I6xvxl2BsHpgWNiL4naRA15hVbYlTbDbkB urb5xXrtuGuuoXFa7sGM18oO/K47YXjUxK/9q4LSYoJUpeDVH4SgudjcuyKR5blpxmSugIH87 g9qn58R7i8gFEOXKOAUl2Ax2hdpSmr5Sjgf/zOSxabvH5l4i+Gp/n7YqYT2+LGl8pVX02SNAp sqVTWy1XC+7PFNxbskB644iXMCfoT23XJZxVyXIutXcqNYKytRnboGeOwrcm0QnE+av11M2o2 mieFoP8qLrGSEDaGAgk/pk63tzv7BrrHxV1aa//ii6sXsIS8vgw+flQgrDt4TpnrFKh36chuF cSrFiK/PwLOSFfuEUfpMLnBtoYoZlxubvRYpd1nD6ELFKZm2lk5TYs5NSHCi6Ui6j83OYltXL YKx6JgCK3wwBS+AM6H7mWv2eJlcLNJ2AO7GGP9wGmTiOGBVYODklgvq0TgbR3wa86F7akrIMc sz2iMj733/5va6a8LnFhWR3rruox70M7nQbKEwq+rztQx58SGSzoy+W+GY4wz1qFQKiyf6nI2 XMQBQx0+24IXkCTuWLzkclHzK6xOCtKEPU2A54n3ZhYl/9HZIDY4NgFGNC/zK0TfXqAXWhKFg jQ6EakOBUGfeOuX5mS37lCceQeQq87aWO/XbT3R4ZBTVSLMjF/reQyzyfYDXgvbLLfIjAv5ea XsvSQn9BKaUNXEA9sXbyYVaLNyj0Qvt+g3FgiKBDM07dDc60DLuj2nQlVUjQhCT+7H6VZvqJD gF01PwpKOxMQtPJbsefkaX/ZJCObv53Adsu/Wp0O/6/pDtzhZnBB1EO8vw4/PC3gZ799/USVl HHJ93JrUCptJ1jRVCFww7p9fbUyB/jHYka4TqV1RdDbu/9gTlZAUnJmSdK 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 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: - 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 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: 13981755 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;