From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7462A2D3750 for ; Tue, 17 Feb 2026 08:04:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771315448; cv=none; b=rX6FsKZ0Z/PMaKo1oZ0eV1TDovv/RwrlPjYyhbPO66Fnw961fSBIiMjAMrvU67L0dYdeqXuN7vedMr/SI6l+odVKeFuLF+IVPhaIeZVGEv/uL+blUGGQFia1g41+2Al0n36CKd/t/Z7SPZA1XIGSfRAr0Ho6UhkWQkuIcdfKtos= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771315448; c=relaxed/simple; bh=Yweqh5Ie4qKFEMSdJJSbslC8AC9nlGFb9nntTg3vI9E=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=o/st8nvVbXyRhrn2iblhakKXkuKyki8xg8uRlIEFQh+LSDYAktDtEtpHL+vSm2Ngo6FsD/V7ZLe64lQ4/8LUQzN2CdEUOdEqwFRpE6JQFqLBWkIRv+0/2ERKJ3WUeN+b3J5JplH3xtMeKAu9PUTBrB3uLXonjfWFNHvJPTWGSJo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=h5IJXhWe; arc=none smtp.client-ip=209.85.128.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="h5IJXhWe" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-4837584120eso25332865e9.1 for ; Tue, 17 Feb 2026 00:04:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1771315445; x=1771920245; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=rwu0RtjJnSjfYWXl8NymM6GUAIv3FYMND1I3ZXXKY24=; b=h5IJXhWeXPgNXBaJqsmQEZad1xmCvDSjgV/fe7sHT8JajF7LsbPVsZld2vFsIe9GkH elKXbnygIo+o8PPR0myZIaJx9w0ybb5J9KhJ8EN/FDOp1+sjp3mDjf6R0RzxgIrooRTf iBcnfJxv09kWEr9w0vgNsSLbpDmtO6Bay59o7CX3gA7gpbCqyfYJGnLXPzZ4SKtCGaJU KF86HmTULY288/ZSJz7blkXGQ168Q2wEzATv9EdDqKDyA/B46ILMRNCEyOZj0TK6QcQA W7Vn9UcS+SIWJDtnVFKjSfmpdUWNFTXEldr9FhpgaIcUZ6EjQyzVjEQyIlymN24PA85D 3V7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771315445; x=1771920245; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=rwu0RtjJnSjfYWXl8NymM6GUAIv3FYMND1I3ZXXKY24=; b=T6YGIJuKgb1p2OHmnmkVPCH6rdAttjzkHEKEP+iZ+PlJs8CHwsdE5oPp/BowCK893d mutrHYYFW1oSemcGUXct2JLVhY/F+BVkizAi5ftdnk7ScdZOQAQSt4z8CDsYpdwlAjS2 +2HObRjOXpwVrmcdXpV3/53CWPQOTZvVyhMeVQYc2PWFbOOgDDcXbETE/W+Sona+kYGd KQ47wqmek/3ZlA8WJ8oynYgNM7pQmDK558+kfzxS0sXjStwAVDz+TiOxztdsledQD+Ti MU/yJ71t+CTqX10cMykLIVp5AsUPRcxfWQLpGlk4Hr/obnBDbIoC1nlKyI+lKFh44w+C HHEw== X-Gm-Message-State: AOJu0YyOeTuMDnDsoOhaHUWfTr1/t3OVB6g2UDjr3NZWoOFq2MpPkjIW MPytKlr13pSGsuDLZ903tqKZH4fViBY3dOuLxw+VI4aqvrc29VwjQCiApxrXeFl7 X-Gm-Gg: AZuq6aKgHoDfNTfz1jQiuzDdI4m1yseKBwc9Eb3Fv2BTSAeXZnfT5Qz576IXlJ8vQ6Q ImJCcqAonwkWeHn1kRoZ7dkUu9Lh6FOuQshEqzVOvCb6CGLApsgNd52JEX5IzzfgQhEgX6MvWXx uC2liQOwXh8/2+Gw1yUD03Gb7dH36g9wtzx0C1DEJxyrRHPMFTAwzbiDG3JcZInmvTX6I0BZvXE cIdi1l2D6Gkpd5nZt0LPv3LWw9WhbJbDZOO1IjAZTOV4VGttsml3LYg5mutQIhbNFgFtI15Mf6M lpf2oz020ZIbDCM4y44q9pCND5OEUPhPxVugUlLMajE3bTxQF0Zee3IdV0a10QqTrSWP6RKZRrj yNjvDbR5XSizGU0HzD+B6sJuYxKE1GmySQnXKTQuGEhgScbnXa0Y1JvlX1wEOkM5KedmhixL/vW 7WEe35WUo+jo3qTVM5VSSE5Zyn+JOgz8QbZ4U5aaOfHUSwezZUN0VUKvvP0gFk X-Received: by 2002:a05:600c:3496:b0:47e:e779:36d with SMTP id 5b1f17b1804b1-48379bd72a9mr155342395e9.23.1771315444665; Tue, 17 Feb 2026 00:04:04 -0800 (PST) Received: from wdesk. (static.169.76.13.49.clients.your-server.de. [49.13.76.169]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48370a3f077sm102996985e9.2.2026.02.17.00.04.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Feb 2026 00:04:04 -0800 (PST) From: Mahdi Faramarzpour X-Google-Original-From: Mahdi Faramarzpour To: bpf@vger.kernel.org Cc: Magnus Karlsson , Maciej Fijalkowski , Stanislav Fomichev , Andrii Nakryiko , Eduard Zingerman , Alexei Starovoitov , Daniel Borkmann , Martin KaFai Lau , Song Liu , Yonghong Song , John Fastabend , KP Singh , Hao Luo , Jiri Olsa , Shuah Khan , netdev@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, Mahdi Faramarzpour Subject: [PATCH bpf] bpf: fix selftest/xsk single test selection Date: Tue, 17 Feb 2026 11:33:26 +0330 Message-Id: <20260217080326.50564-1-mahdifrmz@gmail.com> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Mahdi Faramarzpour This commit fixes the integer parsing of -t option. The cli parser only relies on errno to detect parsing errors. The manpage for strtol (https://man7.org/linux/man-pages/man3/strtol.3.html) states that the said function "MAY" set errno to EINVAL in case the conversion fails. Currently on some systems, this leads to a silent failure with return value not being exactly documented in the manpages (probably zero). The reliable way to validate the input is to check whether the endptr has been bumped all the way to the end of the string or not. Signd-off-by: Mahdi Faramarzpour Fixes: 146e30554a53 ("selftests/xsk: add option to run single test") --- tools/testing/selftests/bpf/xskxceiver.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/bpf/xskxceiver.c b/tools/testing/selftests/bpf/xskxceiver.c index 05b3cebc5..f2d5c4dd2 100644 --- a/tools/testing/selftests/bpf/xskxceiver.c +++ b/tools/testing/selftests/bpf/xskxceiver.c @@ -247,9 +247,10 @@ static void parse_command_line(struct ifobject *ifobj_tx, struct ifobject *ifobj opt_print_tests = true; break; case 't': + char *eptr; errno = 0; - opt_run_test = strtol(optarg, NULL, 0); - if (errno) + opt_run_test = strtol(optarg, &eptr, 0); + if (errno || *eptr) print_usage(argv); break; case 'h': -- 2.34.1