From patchwork Mon Feb 3 17:01:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Seiderer X-Patchwork-Id: 861691 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 A6ABA35956; Mon, 3 Feb 2025 17:02:30 +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=1738602152; cv=none; b=rWxsBpv0N4G58aeLGNjJdvEGOIcVuMDF3pJTLR42o60fZ7nG2tnhPGCB8lLVkUoEFPRhNZ/l8dMcBjdtOlR75msoiCFDZxIUPnwYzV6yydNOfsZa0LipNvRMva39h6H/mSpn/kdrcvuZDrBAPOVKWUvlF0wV/HyL+OPibyjGJ64= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738602152; c=relaxed/simple; bh=n9mHnyQBpGX2PaXbfmTEexmi6lJrevaHr9yjIEWDFnQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nRa6oCinwnYXmFlHdr2732syc+G9C+o+zvHH2F9pX2sJeNOgpuphDUeCFSb4raIphRSI54JcydK3R4iEbK1cl9neT8mj6EVatyLkOEPE5T75BYonLbJzfaB8qv2P8jJdWcdFT58YeD3egxJEGjusOSzAnJMF9j7UZo/2bXns2Ik= 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=pgDvH1Tu; 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="pgDvH1Tu" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1738602148; x=1739206948; i=ps.report@gmx.net; bh=n9mHnyQBpGX2PaXbfmTEexmi6lJrevaHr9yjIEWDFnQ=; 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=pgDvH1TuUxllvsKVdkXZTdaKPqZRFRa9XC5iiGld+0vJSN727IsNUX3bA9wzBm35 i+1Wj0bUJFOuv5KplpBxPPlanV/C46f//JbPtDtopmaDw97BexFB26H2+BaLI6o/j vWS8vGc6OuPQxfj4a30mlLLrtf3HzZCggzSE7H6SxuM5BUfQriWJeZLpCkX7ffYoz DgBzJgIu1OOb6sWf1Jkn/ijxSXTkCZoV67N+jx9ntYgp/378KmyZZ7fWOpT82dMCE 8DuZc7Kngen2n4tOjv3kzL9g69/6uOGKiredlUaJpG6ML9SZXMdGaVM3LbKAMmBwY 2LDkuogDs+PeKNVIJw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from localhost.fritz.box ([82.135.81.54]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MUosN-1tny8T2yZ7-00N4O9; Mon, 03 Feb 2025 18:02:28 +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 , Nam Cao , Thomas Gleixner , Frederic Weisbecker , Artem Chernyshev , Peter Seiderer Subject: [PATCH net-next v3 02/10] net: pktgen: enable 'param=value' parsing Date: Mon, 3 Feb 2025 18:01:53 +0100 Message-ID: <20250203170201.1661703-3-ps.report@gmx.net> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250203170201.1661703-1-ps.report@gmx.net> References: <20250203170201.1661703-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:hnOIbvEvZwfC4iEQwmqOb+GBzBpX1aSLGc3bBjMTaPMVmqEC5EF Amr0j3WMkFWM4KcYo7b4aJ6FqDLW4kbL+oWrkYYP/wb0yncOhpzZHO/Kxft9bTsKi1qf3/f gK0PDaNe7k5+/ZWp/Q82iC4/FY+G9Ry33LsAmm1oZ2U+CYq8MPRkL+WGEsrceLIS60dfFW5 i1t3qzocxo1YiGODaFgFg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:ZDaTkaW5IDE=;mmWaM3WnQ+io3fxvUf9tt1Pb35e RosCDt9wDZ/RX36lrhYte9ZX7+Y1pPN/E1BM86BoQpo4AEEYG93bZPBV31E6gJ+kTzLnE9AYn symL5S6K2EtDLHuTKfQ5efVkS0fB7mI/kCDQjam+qOYef5PexTnBSyJg1OoAipYGUzqE+GsPa tLf5KBwNkfubwMCTT+yXDU2YXLEXC80f6RQtsT8zFkvQy3EfNfJdFKxj93InctVoVj9US1ZZc iAHpDsLH05kvKaETcgvpOUf2NH/n8VbU7f7S/zcy8kBYD454y4vMAcLphiVn6uz1kTNua+G3C HGwU6oqrzCVCTmDaYaAXDa+H623hqWgXi+GbOf60n9NAHwcxihbx9Nbeg6pWXDkYWEDYkOxJ1 qUIzvdrN9WlqB8VSYZNOYPJ2Wp+VpW1Krw9FnLwd+ht7CT6qx9Mtm0u28XYI4OU3/Q+Ur10ZF L7AqcM97KDUTuT5whK+lVwGKaxgr8r8evK2s4eFs7TOecOO4HOaqF1SRp6aUSCEnQOA8XPZlk SJeUg9x5EAqDwkK2weL3U2c+e+x7VJKRnh53Hd93BjJYdJ9bWYFHTkHoDouMie0iVan7sxheK YX+/FrMlUf48fGqXL9bPs1Q6FH4J7T+UD42warPl965pog3RrW7zotgsotQQvK79ulTUD1ORK cDOnQiy+mldub76ZTDBmbeUFUBhubWC1Ryg1ChvraO+AFUyJzlssvLdPjthUIfdvYvVDsrbvn 7uf2SsqFbs6C2Hr2v2DCNc0PyJe59dlmVOCuGfM98i/fi72e0lrhIk2mpVQT7QclWaj9wRhHR 9R+N1ddfW5Nfm+HHUUuFGeCzzJ3ntbGaUKOzgVPTnZ3TASeI+4tTszHcpqI5ZItULVFlbHHao hZAF25kvt4YQi4fI++F1Uo+p2AKWKsgQWopTfA8F3/HVr25NVlOz6r4r0LD19am5Fg0PATwdG G+ByfrQa+eiBXaurO4vePwX+KSXjRgJh1OCeXBhe65JHgeRlkWeqJcWAwgOUcE1+/kP20iEjP arFWXBh+bxWFBgtIPQFzfNOYZIH4LQ3LNZCoEWr58m3u6YH8lH+VdMtkZVSDFNsOG3+hSpcH9 k4tb/InStxWIFkH0m1bYsx33ojPHPX8Ik59EJEmFI+P0DowsIb9We1Axls/7OuC7vZjkZI8Kb bWlUzQ93NFFhGgVRP2t7icwKH4ypChcvTLSR6TGljeVNyQaOleRDm/ZmMmpS/e3mWTxOqyeey ++b7i/c0wQ9XJU4auotwsZHcVci1xLAtzZotuSBhu+9hp4G3AT7cMW4QtEY+jhibTtrNASxi6 Wy4Qzt7GwbQGiyy9rp5UJ2aN0oGpd8OeWmQkmcEzmVpC0Y= Enable additional to 'parm value' the 'param=value' parsing (otherwise skipping '=' in count_trail_chars() is useless). 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 --- 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 Mon Feb 3 17:01:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Seiderer X-Patchwork-Id: 861689 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 90F4A20E02E; Mon, 3 Feb 2025 17:02:37 +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=1738602159; cv=none; b=cN6ExfmHJYqbfXYY98TXab4SZnv8Xqf+Gv0a0JoNobT0cy1KhscW/r9cVGGjqUq30wJSYrrDoD2xQlVLi4h9nePKe7MJvk8cq/iDhwGXBdTSVLcw73sCHJmMrdILT492mCxmuETLOEXQmb6t/w6uoqJaHtDi4zToTuQQwyXMSqY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738602159; c=relaxed/simple; bh=UXbz6Ai0gDMSuOu08BJN+KssFkU7tBuUUXs9SFeOx/g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ueo5e6ho9yKjL2EjN78Z0DWs4yc23JRbYWIstu9uOV2tGqJYHETuydfMvjmKVXPGEpYPwJNqkAEkFmfrYnFWPUtDP+sA5IErwJim1bYXYJmH9TK2dYQV0nr083cvdlIgyqNu0zp0F901cecDKoR2czp0j5TmqDFqPkKBIj+iD54= 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=K5GPxUqi; 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="K5GPxUqi" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1738602149; x=1739206949; i=ps.report@gmx.net; bh=UXbz6Ai0gDMSuOu08BJN+KssFkU7tBuUUXs9SFeOx/g=; 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=K5GPxUqi1MZHV5WV8F+xjf3/ydeWnu4sCwfqV1Y9R2Bu4kxKRffQMqzHdZEshFmd U11USaAf6J4z/55WImEzYL7IPHwCZRacVFTeIx5f1K9Fs3RKeS0Ok92MyBu/NpXkj zOl98NRs+sW1RNGkfr0HkSVjYzX5oR7rad9m6kGATMjlyPIiT9BMxU3MhAjysEbfZ bDLy4KvGhtrmd3ZtTXkK6UafJ/ziNbI5IHu0bJvcGyrJg1EkKRto9erT7h2hxw18q KHL5P9yJlkbe1RbqGdbc/JiQTWOmB1BbjnA2J1GeYg70BUz1Jio3WVhZZcFjcTKTx dztPk9RRQDiG3Ljcig== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from localhost.fritz.box ([82.135.81.54]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MRmjw-1tqRuZ0A5C-00OS6M; Mon, 03 Feb 2025 18:02:29 +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 , Nam Cao , Thomas Gleixner , Frederic Weisbecker , Artem Chernyshev , Peter Seiderer Subject: [PATCH net-next v3 03/10] net: pktgen: fix hex32_arg parsing for short reads Date: Mon, 3 Feb 2025 18:01:54 +0100 Message-ID: <20250203170201.1661703-4-ps.report@gmx.net> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250203170201.1661703-1-ps.report@gmx.net> References: <20250203170201.1661703-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:z3DwsX+U4a6YF7HWvEX391xetb8Q+nhUm6/DpO2Hi/CJKm5OWsA DXGuoc/tcEidJuDzwnrQf4mechqqAf/epR01tXgA6KfE/Ntp78UbqILf3TAG8JDPno5wqdW JTiCJcibPkUxiTpp+7kIU3U8NEXV2Sxn8zx8BBvcAgZCUa6fUsedTaRWnY4h1i/52Ry59ph qCWbd848XVr+a1GM6id9A== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:LSyhEPmOPY0=;mG6w55RJYHbkeE+FIaijcsK0mS6 6ED2g52keLTfxi8k6PF6vnu+pLxYv7X57mgKYT/kAw5dazIm8k9w2280E58fvubYV5R5bnZr/ 63oaBXRdQjlixUReEN2uYzMm+Hx51p31oZRX+n3XcHK0G4skGrNMiQRiOWGkejfHK1L5bmZvv 4yaYj829jxThraWJIiXgiYoEshJMdnY6+gm8i2lzjNZy2hX5kGNAFvA4K0yrKi9zkK4T954Rl 1ik2Vn1JqrnP3Ca3yXfWcwJI4airZPuctLyJSVqnzuIZZRVdaX67TDpYVXPiWF/amBvmow81b Ij+Lg1+Jz5se0vWmgcqvFw0XrU2opN8K30MBeT3KSQRjbfEReP35YQGjoWrGXwMKY7TckI46G PNqgWZqtnBB5EIPQRqWCitVWnw1m7q6xvPI2sGNifSzNcj3xiy+UqaJL8lCbnNb5QRPT5FlVy 5Ffc5ZmejaWsDS8Vma5Y+o0rvVo7m66l6BqG/kB3hUI+qfTZaLRKr3Pxe11xqpyhb1nvvhdOX spv0mRGlzqtfjeF+QIQTZNibtX0406YADPD4JrKNzVvp8JskHYdNPE0aeZ8f1We321ha/emLX 5jW/yaZQ4MgBu1hUUySdFSS8pscAhAklV+x4cfh4RgU+XH/eQM6ysPJeGq2g92fzwyipKyXas RcVFhHNobDYvSVjKAQSF4R+PAiARJufjyyyK3Eza1e/1FdJ/nsz+Smife+0xVa+EqUfp8bhbt HHaf1PFM6yiohXr4mNXXDQ/4OZDYUDia2qopvnOFYfS/O+h+f/G4PEE60mC/W1ceG4bLv6Uki +q4qpzZSwWs8BgB1F2wxFEtn71imYU48+4CBqkt49giq5RDYDzRMmFoGjPkK6+x/fzpLlQZFg C+ZkUt7nWK4EOg+IfJZItK7mH9oXiIlv1OEaKL1SZ6jD8CYxSacI3QNrdvdNU9V77l+bxz0V+ AUxAODylY51bylEM9vH2EAoq5iWz7RSkPJlyETSpuaM/FUygqxMOMaHs6a1obTBmEUEdq1yte F8CNjiWnCan53BiuzrRlHg4DBQe/ypH7n+f0nwjDztVeu21pHpWDhWS1W47yeNMOh+c7UdUr2 5MXr44Een+WtFTWiCz6DBNco8JPG6FlC63QV2VLL+/BlwgLUFLQbS6Oh762+CHRX7ASj2HPGw FY48hRYNZ275u9j0hD/OxHckbMGlCpXFHyWViUn1pzH9WPA7BS189/rqny8AZqo0iJ5QXd5ym RUBlGtOiGf+JHydP7D1sLFFgZJjnoNBTplyyAj12hhZwdgYjL0BtzWxozETHobOWaBbc1C/66 909dfpTN5Rt+NYBAY/mY3su4jcQ9r7XOI8uXkG/pC/RclU= 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 --- Changes v1 -> v2: - 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 Mon Feb 3 17:01:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Seiderer X-Patchwork-Id: 861690 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 0A29620B7EF; Mon, 3 Feb 2025 17:02:33 +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=1738602156; cv=none; b=Gpu2gc8Wjq68fkNWYIa5G+XkGlI4fkeKDpz8Sq8ljPT/ybQ1PaOi1+CBP+oQLrGzryXH4BxC0tSfd1LQjjJH9AAzFlDyNYjiRT0bLg/8Q17IO6XLRKB1B9lAmLxe1iP4Qk/EKFH/qI9I8FFkAO0cM8LdEuf2k0WxbYDdXoOrAFs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738602156; c=relaxed/simple; bh=+5jShTae/ZxTL8acCh1/3qYlsuDGOSQxtQIi9vyhqgA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Jfvg1nlxS+PPuUEJpqD0xZ+Ep+7NFy7vuNajPxMXq0eZid15X5GOvo7aEU2fTfao7BBUXMEPxP1JZ30Uw/ghyBuiJPnZ7KBM7hZ9lynbg7LThC8QAbyYlKSP8gsjz3Wr8Qkd3T54lcPDOpPx8Nvj5KeHJx228loGD/rh7y/B0L8= 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=GAfAJdAj; 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="GAfAJdAj" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1738602150; x=1739206950; i=ps.report@gmx.net; bh=+5jShTae/ZxTL8acCh1/3qYlsuDGOSQxtQIi9vyhqgA=; 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=GAfAJdAjgMAZnA4JDJp9jl1mMd/rLGEf77qtb2+rVq7CNSgPTaSA6pY7679PHXDP rZfQaCrOTE/5HpofOcSbU9SQMoReOvaOunpXwRqY1oYG0yMBbmkPKZ4lLdA1f/kHD 67OAXxJltpLVZez4iZczbTHTbZ1QKpRs7jyIKcXa1XGXXBFakLxGDAYrfj7YhmebQ 8a6zOPxDWvjfEhCWijADS7d2MqZBZAQmGEZDvt8jlzVAIGaZqcSCtJIlHXkLwTrRE Qwl2ovtu6OqfRy6gE0UdMx1ERnl8KNQ857MIg7IulqyaaLjF8C+7wsgrVs/xHS7Dm 95/IoAHOf65WhBGzMg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from localhost.fritz.box ([82.135.81.54]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1Mnps0-1t3xvj3Dhq-00bSm2; Mon, 03 Feb 2025 18:02:29 +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 , Nam Cao , Thomas Gleixner , Frederic Weisbecker , Artem Chernyshev , Peter Seiderer Subject: [PATCH net-next v3 05/10] net: pktgen: fix 'ratep 0' error handling (return -EINVAL) Date: Mon, 3 Feb 2025 18:01:56 +0100 Message-ID: <20250203170201.1661703-6-ps.report@gmx.net> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250203170201.1661703-1-ps.report@gmx.net> References: <20250203170201.1661703-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:r+HtfDgkwVIrcyySDucUmq22DfL5nhLmejTokGW04e+Ja5dvMGr 9M7rpYOWCxBMawfZCC/S6xuA9MkIEaKCyhtUU+g/OALNwQvL2RXFl9k/eDBMM3YFvyukSPb hd25nyIJt8pSx3a8nuMLZykpUjbuKOn5EwUb+IDu/290u+DijNdmsHOyGKgd4QwXAcPaFY/ izbrxfIlDfBR5hePwHmAg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:bgEDliBuouU=;xWM7m9lmKJ5GwTkghKegH3n7nRU XALvkfMXQ7cWFLQoUPWvZnUbSvV1J/UYuyjaD+MFZbvt3/buzb+2HySnT42nsBA9Oer6WmfZu VQ94WBei2aeNqj2vod9K/QUOd84O0F7t2deT1F2JzrO2qZpF0Y1yuhI2aY99Bq7yY8BT69EuB ph1Lm4Ih1fa8nKhJ3C6q+mHV2szppptyaoi5XS91OwPJ7CoQPQZ5xq/eo0PenSqyTxl+e0EBz f+UXaSZz+2xw1ineENOoPk+XJpwtI37SKYaqT33HP2Hn5wG1HQIBw7EwS9Ljql8CTaxVnaoYN VHJNyO4T5PNZ7ceNQ4+TfkxsiWXViPgxjElWnIbLJhu3rMsrkTudLeyQCs0w9r74NQSTHfn8M Uc3L7s7347rbXzqISJNgQWEibf8F7jD900m1bCRS2HOTRur4nF/A3rOuCWzsviv9buxJDdoo3 HiFpL0mMgNCEABDOelbrsXWCVIMR+P0Thz886D7a0VJWqV7b2XCurJm1f4jK7YmU8zoVFD61r 8JnZkApHwmVTrk0OE7USGcs8j5OYLAMmnvEVNUc4wPZBxAovz6DcCLvaoADqeSi5mIdzD5ozl 0ArlbwfcJc+erxVXWbAy2NbKEAd+VgECY5YKkT580Ei9li4oeUq4gWzl7RN1w9xzpNI6OmVRW G90BBfwAxzZTHXOYbT3Tb22sxPGvqmO+nQr2nNjcxKcX0PLjy/+XSPVDz9ug+egEDki7TH7IS T6iyH24uyFu8m8TasLZzxiUQFpVKtUYA+KybIM4RFZqw7m9L33ueb7EqxVonKAHdjLvVPyfZW 2T9ZcrzPSOpBu8/fPDxmw29Liq20NFMn/Ao8SpOSbT8wkd2uVnAe2oaLf5i0YptFAkGs9mCq0 TM7fCmfYEUQSfvljXLQN5OzTfOGv9SY9MDwvb1hgGBAYcCOn6rt6P27aglztY3fGnrapQZLCH hGBeMwDtcONhgabThNpHf+Jw/RWXezlgHcrhM5WnY5sm7TLGS/SmkeY9D4rbZwJtaVVFcvERb XLRuqnECv5uTv+MQH5C4ps5M49iY+8HMP6+sNMPPDdkS8GXwtE+iBozS8hChGSHZR5qaWF7Ec oqg1lZNg+Gw4pjTm/0hClHM+j/vumUq92mTj/WRIq/b5dAiHYKM+SLjT2bWOgPlWvpWsZsrVW BcLn2VzhrV4k1QLtuYM9aKmSI2hQHKbPsP5F/kS4toXMi1NFsxPnNzVmCTZHc+eU/cDS0c3Tt Gmpiy7r+Y5193GWNRW7oJQ8ThcWkxPUqLF6e+4QDCA2QdOmY3GM2yYd6j1LADlizSke1qKU5K 7es8VoX90Ziohy5V2qpzyfLsK91rGE7xf7+J5Yjq2FLlIE= 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 --- 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 Mon Feb 3 17:01:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Seiderer X-Patchwork-Id: 861687 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 9E9D420F06C; Mon, 3 Feb 2025 17:02:44 +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=1738602166; cv=none; b=ococLst5eWZSR8k4nwryu1f1RhUdfTfsvS1oBOyWc0ZZMfjTO9IrvS+VnvUWyUHQzZli0EWbWVC1gHjPyDaVJprp0LcJ66svQZgxjGHAiJxJDk6He29wF10ikLV4ptE2MTI5QjWCkGNBeePqFS2UR71kSjms6MI2mPWY0J3PIZI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738602166; c=relaxed/simple; bh=XQcXY8W5zssQPj2vDW6XqskIpgYXaRZL4eRGC+4TkVU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KjvRPamQHEwB5/uYkiWIkiUeZkQWBdpHh4CRAb9vwe8KJ2qlPRtUVp4hafIl3lXxJqApu02IPkboQxaxr/prqy3nR0qSpAkWlX44OQutMFHwffa49nGWMnuAlAN+u2UQvr3u31ZCzHRyHlfVyNbbIzAsqldFfE3Pw5OjqB4vdRM= 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=PsWZuBTq; 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="PsWZuBTq" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1738602150; x=1739206950; i=ps.report@gmx.net; bh=XQcXY8W5zssQPj2vDW6XqskIpgYXaRZL4eRGC+4TkVU=; 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=PsWZuBTqSOm4c4wiwI9XfNfp7M1TqbjYw0uGdTiBvFIDo2+YdYeccVbYhbkKW0QS fFlDVreNAxdRyDqgVtHDN4LkHdi2a1jfuG1dYx4yzrKShoN+7bFwV8fDO+A9DqtqE xzNjGGSJLmwe1PyOzzyoqA6ZEsZtgih+QEk45r+JfitvzUcF78XbBs1Ksi2TarY48 Jo9b+wlozNRouKlAqy7KQ7L2aRSCZYgE+PgIv5svuknRRF8kYOGvcI2z/t2Ed7v4y wXhtFnK5Vfbn2/MUdKIWQrbQsUFxc4SvM8maz+OnMc3ycs5L3E+uMUa+dEh/iRjV5 rEILd3XnQLRH/D6+Yw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from localhost.fritz.box ([82.135.81.54]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N5VHM-1tLUoW0Rpq-00t89K; Mon, 03 Feb 2025 18:02: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 , Nam Cao , Thomas Gleixner , Frederic Weisbecker , Artem Chernyshev , Peter Seiderer Subject: [PATCH net-next v3 06/10] net: pktgen: fix ctrl interface command parsing Date: Mon, 3 Feb 2025 18:01:57 +0100 Message-ID: <20250203170201.1661703-7-ps.report@gmx.net> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250203170201.1661703-1-ps.report@gmx.net> References: <20250203170201.1661703-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:wtL+52vE8hHckBdnXpaZb6Eriegov/kJm2yLUR6acMUq7GQ8Dil IBtMlrMWXi2nqMnM7thqErv8MEQMt2lhdHRbNmIMxROSaomLlz+azyHRfqkhh2Li3oz05WG znr+DdqZVav604WevHEPJS+W8hxJBnhcXUinaD9/q8NAjTzoUx8KyWClmwOwiOioNmvs3uD 3IhWGG/qS9Wpntc0HjP2A== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:IED8DqB2qqk=;bsP+S726eAr85DsxAcmpbhuYdMg CXG24Ah6QCs2/cqm89PSI2NuHKUV7Wf9DADkEZVe3QlJ8sSJsGsR8aT/R8SiT3Lbg7Hx6Y93J 2WxcMTErVBuhh+5btjNcUS7rjDkmQHBiugJn2ePjyOnZML2NlhqTavpOJwVBeNDOlrxlS1EN7 Iwtex4FaskhBXcOcm2tt/E5MWwFiCh9qNzLlowwa8IIs+sBItJEi40wvWP9Wji0Cm/C2OYfWs 9pM2+SgyhTVSfrGXgImo/bLWugjyAZomD7UU1K9G8yRWOeZvFM2f8+KmjP0kz/Xo4PTfzcVC9 tXTltYgoyeOnM2P5d8wrmwHUIC9t2CM2s2tvFeeDGEF4em0ylgxUIMFfcrdkc84Z1NSUEI355 VFDmvwrHR0prLZHT6M8WDzkhwPCDaZ4krrldRBjyZDuy4ttdCpHH45nJU1TOjhcmK+gCDAmLO pF97dzvjbkdJKsx8FnbWWJQCVfutE2MXETlOSJNDThTXhUmTxrC4mB9XhBKMBYvbNBHl55fla Cv7cGeJGly9Mqfo7EavcNzAYHV9YjQTVxfaY3k8JxcrbErPcEuCpMdzrdLuDZFzAMSd1e+FWt s8F2UEBC9CMoGz/2AY9Zs7GOD+ha3yKuLdLMsbfW5/mXneePLm/J1BuPObNk08d9vfz0zPAGU /Cd77Zy13g2F97pkPANQxKVg2+SNjdTGpth3jYmMlmYTIFcABlFwmfeLCnnXZqD6fGcJrfZno Z1RuH+tHxxWIJRN6lWRCU2aGTyaW9+vnEXzQH48ISPSCSdNpy0+obuW75lNQRbDAmKGhl357H +9bpJ3IvPTBIPW3OVlX3gWp5tjpdyPMigQAy5fsSwnS0Rk4UTUXAX5q2wxeyYnPqyEBJ2nz4k 0YIpF3ZiJJfY2ejussFA5PKAvuj0xeB+QckOrvhhj5C5spA3pIUmr/lJg1wvGrHKrcr/rMt5r WuyWZ+98u3MzFhipIkHaIEfOi6YFMiwQA+oa6i6OKTLKDCIg5iyithfWETj2AeoYznNqvhFv3 lO0jaVsa+alCNdH6G99ECAmky2ifJIspVpYF+khPsXpiJOP2mZKq6zi0P+e8NC/ox1AZUvSot G3RDid49afaNcJjUKCLRiuCyqZlqD/pMtojffq1zB6P7Kfz03Ze6bbxZsHVJHzcJhQbpRHUcB fKZoN1wvp+/vUa2mImUkB29H61MUAMpIhIf9rnJt+qs+4AZ1YBvnKO1SYiR/DlVH5MlemEwWJ eE7oapPUEBYNSKq/dU2ln2TOT1yXZmWBqHczRBF7yTl3XIjvYcvhYCuLaykM/NBVKrSuJ7HB4 GXenAwagGo9xhv8edp2o9qzybPGqlLmjAvImlNxW8TX0JA= 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 --- 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 Mon Feb 3 17:01:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Seiderer X-Patchwork-Id: 861686 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 3A2EC20CCC5; Mon, 3 Feb 2025 17:02:49 +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=1738602172; cv=none; b=R0KCojyib1mZW1cNp1KukjwiYxI3dw8Gd2yYDOnb7Y8E27Ri8IdJ6ETF/ZTLrUGVKOFRXGL8US+Ame6JAQnFN7kO8pDgvtEHxJNwBNFLsQ9bLlc5dXGU8QXay7O5G/VOhKCYFdwXDwqXK8kIS85EYwl7g7mQvdwlD3+arMnGOlE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738602172; c=relaxed/simple; bh=fH7kVesQm/RvIe2gp8YNloYPh2xmhW4qa1XSxX0eyWU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=swsvDwmV8oObY9CintamN4AFOynEqlQYDLs89un0anfN/x5mO8RnmM/gkSGypo2SX4YCq2l0OH4OKdGlv5Ad60AsjnAtO+UEysmyOnGEmoS6nwYWBRLkylXALyV5apSvCY5KUnMOMKs+gRXORTBJQTKKea9dxZTRhfaqgqLuY0s= 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=KNGxwasK; 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="KNGxwasK" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1738602150; x=1739206950; i=ps.report@gmx.net; bh=fH7kVesQm/RvIe2gp8YNloYPh2xmhW4qa1XSxX0eyWU=; 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=KNGxwasKsGNXAs1srbJhJW3jBw+8LzMQKE+fd+q/nk5C0dyVCVWBweMm0Y+w0DNH aPgg/WzIuPZ/C+ZtV6FncWh5bM8uOtv4kYZm6f3g9NiiIKCTqn03q6QMsLOKDhMBP /7cwsYOAkLB0h+lp4V4rd+U7ataCtsmJ2FPr3DWzaXIDcmwzny4yFZqBtkXpD3Umj 85H+EXVyYYH0ShLjWmcKJFLf13OhkfaNkBO4W4lS1nnqh+p40eIB13XjhUvIy7eSk /5uJH0MOx7UNAIDEml5wnWkqKuiBZwDfLuFu9WMIxHqUgrm6X+juc/8WKCEIyp/dr 0iGyIsvlaBsV7A3Eqg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from localhost.fritz.box ([82.135.81.54]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M7sHo-1tjvWe22s6-008xVK; Mon, 03 Feb 2025 18:02: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 , Nam Cao , Thomas Gleixner , Frederic Weisbecker , Artem Chernyshev , Peter Seiderer Subject: [PATCH net-next v3 07/10] net: pktgen: fix access outside of user given buffer in pktgen_thread_write() Date: Mon, 3 Feb 2025 18:01:58 +0100 Message-ID: <20250203170201.1661703-8-ps.report@gmx.net> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250203170201.1661703-1-ps.report@gmx.net> References: <20250203170201.1661703-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:38/oIZRTsFNbpJ/9sF5RfMdMc/V6FZRzbpAwRPEU6smRIMUWnRq jHZ0TckZH0eNGHPRM1mZE/U7oxSe/44owZSVqJacF44ZAXxa7N9aQR4yDvmce5MLF9/QZZe STsHumpoIO4rrqMivfQ+xtCEwxD6lG2UDCPyhKtVtTD66GesIx/Wr4lmidRbqVUdILpN5NX qrZRXjzUqEKoLVnZOgFIg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:chBZIKyyCj0=;G1yDz/PWnuEy4blsr6bziIwRqZG yrWOX3hkpY/qGbrB0JSREOnuLMMNJn2MeVimSoVg5I9jIS2WLZ/cOvU8z1+lT35U39UfKkqWZ Iba6pDKjlxX5vHnLyMb8yk3C2sBBnab0dyS+qbXj5/px0Cq29lIFfsnOVDA6F+SDrFt+vGNCG hn4d0/aN7IzzleS7zZyyHIW7jBVAmt23dvbAP7ZTFdRn0lvS3CV3yH3zcBFqht2Q2UVL9wiZ8 8v3M4UFg2fRuiGXinWeIFl3wmXR37uTlXAD58qdGggzq3O0etW1LW91CVPEFR6IOK2bDefu6c 9NqRS5vCm8x7Mulf2UIfqdn89+hXy8ASu8Up5pUCN4hkDcAJV0Cki45LlYT8DYvKnw2uDKcYJ 8i92VdJw8P17O1zaVf3OuRxTrj+7+oP7L3ig+IuHWE2CjX7ze/nfjNRSNZIczpRg3JmBPR5Mm KQVeLOH02Y84FkFJaiYN6ATCoCH295xhxlkndDQx8FsiYQYbArpjJ28S3gJHxQRp4yiHvhmXS g6E+41A/JED5J9JDfVWeqfuhH5su8mnsT89Ok6pu5p4QGbC38Ze3GG2TRVvYDW5hqT2xAOgAw MKBVrUIyVhK0F5aTCGKm4FyzRmOOiCb8r1lXm6zBBsxYrMzJ8LV9RVcl2bDCMxzvqz0qlSckt Aayez4ERivIRIArDerZxggc767CD1bLFwXrAsY1CzATf03dMLHlh/r+hdARaDWAavpshYFxSO +qAyf12dQy3NWEAnu1+AycuKTIaJQIgKURZLr2/iG2KE6MGitzVkhuZeeDYWC9ShKj2sWq3KZ Q++LONEYVZ4OGh8CILqoDvY2yldjW0dnOUuPMbLeEpMU/djGQQe/cBWT85X0PJ8dMQRZ3ZgOy MAfx+uPERO4XO1MTFxvmSBPVhZnxmQ7Bk5K0Ytb/HGX+HlXcKv+jyVFHebZh3U/FeygKVNqBh 3oxB2qeKQRxg70uTuYZFMHl6J7wy4C6jX3v5b+T9dg+tirKfYfEKQ5Y67D5kUTH2MUoBvs/qC g+Re6MuD/B8K8GR+AiBqn74oXby79ObUiuSrIvxAxWuHO471rcg2nzYMFdKg0T2e8a8xhJ91t v4b6/3JtJSkKURlShGKB13Kh9KmPA38xBvGL1rtcDskU8c+D1ZA/iu+2YR2SsHWfsMCE4l/Yq GMf6yCONeipX+8xyEpWWVdPDF/e3WX5CdwifK7TXHHubqgIeJO3vJqZYYs1p/HlIAGjr+TznT jSHmC7QMjgJxHDlp52INBDeTZnn7NQZZ5oVI2FWHRBwgXvYaSa54MO8qTU4UkPZRNCi8w1itD CyNjfMnCzr/397yoYqiEWLAFuH5KHL/LPrbGOIJZ2cI1GQ= 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 --- 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 Mon Feb 3 17:02:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Seiderer X-Patchwork-Id: 861688 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 10D3820E702; Mon, 3 Feb 2025 17:02:41 +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=1738602164; cv=none; b=UcwvMEyo6coM4KYqvhLxqdxV0fm1E2EowCNMkLJ7ECo1yoN2xfsN8l7sVXeVbvOpz/BMKniEi93G8PyTH9DvHQ4vVc4vCU1iajAk9mr8vglSF8O13DeNLvIcX6No4nxP2ck9dnYjv/cs1KogWJ9LzIZiqvSeW2o2KdTYJ6CWdN8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738602164; c=relaxed/simple; bh=VKeJPykxZdE/Mr4hHDair/L6boyyhsX+C2ZqoZQ8AAA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=XY3XhMfwdZTY5M0X6mcQkKtpMNBoFrmwnqL0F6GoAXS1bB1DTmMvQ/uEKPSgLjliTjSbn4OGZc6smEt3zk9dQ5ptuYKOT0jnj+YmCxnexW8AGdtUx8u3T6lPj3pdasad2qTpa0SucU+dl7dwsv4OJlvhuvXHtQBRcwYPsh2uotY= 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=mH8PohwQ; 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="mH8PohwQ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1738602151; x=1739206951; i=ps.report@gmx.net; bh=VKeJPykxZdE/Mr4hHDair/L6boyyhsX+C2ZqoZQ8AAA=; 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=mH8PohwQjWtTFL9DXDkG6aZEwgcVV0HgV0ovZpn7+Y7a0Mw9RvEn/Y11tJDNvD+n Yxse7aFrxOxgLDKPbz1k4ZqQSCIvzaJ5POoU++MxtlPBDO/xWt4E2YUJ/3KVrd5GO FnXfGTUqh3EI4x6+yKNT0JU5wBRI7R8Np/hEOwaQK5bdaNLtFK6WLjqWIyiH2Gpwf KYnpmMLjF8d3Oaz3tprqY25RKrsTr9SyMpHECNIrsBZi9qw6tqUaqrpSJGow830pI smfVsOjBMLawLfzDo8LmYt7ltEXI6awXIsdOYks/sY5B38fVOK/yKvC81NmXhwBTM JNp2blXvRueSTPk1kA== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from localhost.fritz.box ([82.135.81.54]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1My32L-1tVhYu15WJ-013GUJ; Mon, 03 Feb 2025 18:02: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 , Nam Cao , Thomas Gleixner , Frederic Weisbecker , Artem Chernyshev , Peter Seiderer Subject: [PATCH net-next v3 09/10] net: pktgen: fix mpls reset parsing Date: Mon, 3 Feb 2025 18:02:00 +0100 Message-ID: <20250203170201.1661703-10-ps.report@gmx.net> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250203170201.1661703-1-ps.report@gmx.net> References: <20250203170201.1661703-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:Kw7ZC8sWxfBb7UyA9bra3jH02e2hgYK2QIN/3ob1J4tRSoPKuf7 poFYMbvSgIbh8Bcge1qA9yr+g78OWJ0tgDRBkEH+IFVScHQmXzL0+t/qJgBrIwVsxY1VH/J +D336VJofatifWAjXDJqSGcdic5tsH4LQqeQpNcrYvPgqICD9zCtTxks6zG6fSmtfifeSvH rpoDSURVSb+aI0bvZi1ig== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:sLPmEis8ypU=;usPIvFg+ebfXKF8GTL4S/p6iEtx X9sD7H6043680naB1blsFhbWVY7VbwJlYOGYUUBjeERgtmWy4XIrxDsY2+AQOnG2GHZFiYUvd DugAyKKlfHi0mhN33qo52hakZacuyTO7vN9mI62sSwVboCkiMYhvhW98Lcfo0ZVOIEQaIUCuh YE/1gu73Gk5xw7lKPNo4Qd1phoxdKpxRg+vBv0e/LdlieJITJ3aJiZgNN0IH6JsYKds5k+1Ut AxbyVLOqZdGb2SY8f4HMsONQ+ooePitB36WqYfDf0NfHKvWHLgr8pDt4t8sNKnc0/wp405bA2 NdqVVW5VBC4Jdz34NHziqv69x8QSm69rguLftbhw81dl1wOiXTtGXmWm84N6DjIr/q4C1s20E rKu0BlTHSy3dAt7wp86SuQsZpnoWBOPKxM5WMEzmfsBqeGRRJAKzH4qBIN5xBcg27LuVBm6SC dQj7madiiiNfJ+spZ+iSII1kYYqqJCJrvirmj0QKZ72R0yeOYTMHQWdUmPZsN94jPasZtzWPw oiQjfdrDkSTFBBqy01uSOFkLJmEmPBej75WNQvIMB04r9JO4K3OSA9B0B4jHifn65PsWVn5XD jTSOssVx6IfRL+3cSD287HSiBoOpezbLOthHx/57YqzCfXBDktuy8on6kcZvJBaiDQZGmlpSF nKYsZizLsQQRz3NdNv6BkqHTe9K+GPqoZJzBVzgWr024LSEqwpQ4D6ak7QzVsJQ11m3WQ6eU5 WdPkmpUu7VgcWtsuJ5IKsz6SYYcdGTSFN+8ToSE/DUdbwzMtkfebiyCtbNO9DYnuJQkuIWXde lFn27/OE1+Tg3l0IgcQm20mvpp90pVhUtguKi2zx5hrljdU0tdgRHsY2V/Vo4O0qi/oPZorG4 IERLSjFfL8isLQ/llNigI8fZRF6enCHcqxI5J/a6lwXUVxEeuQP0nChT+gQhH9soJJs0oZZCM VmuOVDgT7+Bd4o1l7oghY3ppbTQXRRqy1Cr8HMncAc6EznNNMKkHwpxvb3p/OcNL3dBnF8y5A XtT4sH0xZrZMSwPRDsSAe8znPxaVn7HJ8wVZ/nCs7glsECe49JahgjmvxXUZyun1Swv4Sdlt4 hEbvrpwZJM4MGix3cdiBZmcVPthqhXvv/PDbpLaThbgxqs3gqJkQpL+dh/aGjpCk1mG3lQX5t hh6KzYMfGBnmJlj2gRTrAGym6sIHvmBISW0vUgFXg04aXjPZtWs6G4PedsHn6e8OSLddPbiNb 96N7nWO23ZblGViUOXVDg6fwficjyWvUcQ6e3wtGlzCvVhZ7jviFwGCD1JosnNEjb752I11c6 Jh8BRAY+Xgy6Wl/TCJmIneX7rlk4HQ3OUb2WDXPivCPQzQ= Fix mpls list reset parsing to work as describe in Documentation/networking/pktgen.rst: pgset "mpls 0" turn off mpls (or any invalid argument works too!) - before the patch $ echo "mpls 00000001,00000002" > /proc/net/pktgen/lo\@0 $ grep mpls /proc/net/pktgen/lo\@0 mpls: 00000001, 00000002 Result: OK: mpls=00000001,00000002 $ echo "mpls 00000001,00000002" > /proc/net/pktgen/lo\@0 $ echo "mpls 0" > /proc/net/pktgen/lo\@0 $ grep mpls /proc/net/pktgen/lo\@0 mpls: 00000000 Result: OK: mpls=00000000 $ echo "mpls 00000001,00000002" > /proc/net/pktgen/lo\@0 $ echo "mpls invalid" > /proc/net/pktgen/lo\@0 $ grep mpls /proc/net/pktgen/lo\@0 Result: OK: mpls= - after the patch $ echo "mpls 00000001,00000002" > /proc/net/pktgen/lo\@0 $ grep mpls /proc/net/pktgen/lo\@0 mpls: 00000001, 00000002 Result: OK: mpls=00000001,00000002 $ echo "mpls 00000001,00000002" > /proc/net/pktgen/lo\@0 $ echo "mpls 0" > /proc/net/pktgen/lo\@0 $ grep mpls /proc/net/pktgen/lo\@0 Result: OK: mpls= $ echo "mpls 00000001,00000002" > /proc/net/pktgen/lo\@0 $ echo "mpls invalid" > /proc/net/pktgen/lo\@0 $ grep mpls /proc/net/pktgen/lo\@0 Result: OK: mpls= Signed-off-by: Peter Seiderer --- Changes v2 -> v3: - new patch --- net/core/pktgen.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/net/core/pktgen.c b/net/core/pktgen.c index 6675375c052c..7328681bafb2 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c @@ -924,8 +924,13 @@ static ssize_t get_labels(const char __user *buffer, int maxlen, struct pktgen_d max = min(8, maxlen - i); len = hex32_arg(&buffer[i], max, &tmp); - if (len <= 0) + if (len < 0) return len; + + // return empty list in case of invalid input and/or zero value + if (len == 0 || tmp == 0) + return maxlen; + pkt_dev->labels[n] = htonl(tmp); if (pkt_dev->labels[n] & MPLS_STACK_BOTTOM) pkt_dev->flags |= F_MPLS_RND;