From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-oa1-f52.google.com (mail-oa1-f52.google.com [209.85.160.52]) (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 9AFD435E93A for ; Tue, 10 Mar 2026 10:22:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.52 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773138130; cv=none; b=BO5djsHScoBC3uaiX3bJDiy5qfZF9hTURMa7q8DEKzd2UxUp7qCMeZQqQ9gUcH+2LnmkZENfe1zdMlRY5DyxHgJ5yC+se0s4+neUWREemvPnqWzEkNP7yHoszb3mJeKf+QSA9Zxm+OyINC7ZFRv0K6J66XCPjW1hcWIT4u1YnWM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773138130; c=relaxed/simple; bh=lsJxPgERSHCsqMaCBHoOm4tyTpcumC7QEA2MNaPrJZQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=enIJBHGoDvtqDm0Yfii9PEDipqRykvJzvLIFa/FnsWaBFNXZlyzfHGCSoXmvyM7G+CM0b+eULyUpqIqI2L+0iTZ9XDzbFRQvI3gHEckZFtyN+EzlVuiVxETd/8EI61GyFgsI5+OypixYt87TuJOlnepeasxX/w2vq2hCUGJUbH4= 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=GZ3AsnvL; arc=none smtp.client-ip=209.85.160.52 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="GZ3AsnvL" Received: by mail-oa1-f52.google.com with SMTP id 586e51a60fabf-40429b1d8baso3067891fac.0 for ; Tue, 10 Mar 2026 03:22:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773138127; x=1773742927; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=60EfY+sfS+PwmLhh8wH27SBzK8XMzpeMTJAeMRMgVvc=; b=GZ3AsnvLcNGDbJ2ZVxfMS4SQDF2pTWGdw1BYcbvheyeFNMhRnDO2jewExR7CLNKwsO ekn0MaRuTAAhTh3JSxxJy89UbO3Z+DY3QCHFhcSfewl2nU3uIweEs7ImJngUzm2gQjt3 n32AcpS6onoDmoo+0KmxjrANuy2uwtFIfaXotE8SAcOiCmyj53vwFAUgYJTP4GZvvXVl una8Wpgb5txrF5LQR7CD5K3Qsiewp+mYE/AN4khSCmls8NiOerW6jnLdw61VIsAtg2Y/ 9LGKQnfOIXC4+SXwl4WGjyt+3j3ornXd7+e+SQeBNPkaVuJS203+z7Hj85Ae/I68j1gC NjEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773138127; x=1773742927; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=60EfY+sfS+PwmLhh8wH27SBzK8XMzpeMTJAeMRMgVvc=; b=Ky0GOBVvMk9X7fKrO7SPP4OqsmwbXL7XL0KY4a6qzO7KF+a4BP+vXX6m3RCn4N0Ey0 QiWn5q9tjyn9varGNmexpSUESwUxRfGhsF28/L+IWD/DJh5qaQ6nZ+QhEEkPfLqEJ4Nl 8wJ/ef6d7RKGm9BSDuSsZKYd77FphQ8+GerYrMgTBmMJ+Jb/JMV93KiNCZtQK9TYXSdD 64uBkTcEIGVOuFYUXGYzDBiBqTynIW6wcNz+V2R3BVpEJogfRbugA5hHYAf1j81P2mZY 7yd4FAeP12d7FDJmruScRipRl0NK3s5q+c3DoA9nvXhUAI9+VBFGcP9jVoS4zfYsIvd7 c68g== X-Forwarded-Encrypted: i=1; AJvYcCXa6UnRTjmAFBOz6d/W3cEDOqWJfHfSMhLPrytskOsOCeLxR/LQ0tGZWJzIBqvWqYv/EZsb87sF3QTnCvE=@vger.kernel.org X-Gm-Message-State: AOJu0YwBvZimm8nRoAS9kOGsSKfBiSFZC+Qsn4z+9zTQ0ct7o81asDM8 +AS/a1uc2O8z9JxJy+2THQjlvMuKic70YeljNtz/TkMJR36XUd5H8bFo X-Gm-Gg: ATEYQzyZcZoluXp9k5ASWp4yr0Ye+bjriD0iu4siVUD4wogKZkYqt06lUxqcEfyngE4 mqqoA9q7Uzgp7BBZgsbN1itDkTq3qav0xHQ0d5Kjatsyd87u7lrH83UCaiF9QM6lItyv9kh5dnw dxrA1mOqe4J7Cndv7R+3RtOobbi0Y0Am5NSGnVit3uCZJqMIOhqbl7sGwNvw6Umn+RZIFvSW/8f WlWPMC1dE9pgwoMn7oLta5GlkBiH9Po1HYrcp6usohmRIFT1rgz7jdWwkECA205bp4bxoOBQfip fJ4+FN8s0P/9PXMEie6Wq+pBoWooTxtQXSSo/TfaqJlSn3+V9n3DM3SrnEN8TFeHFyB+SXDGoCs JYLrydSP1bbSTlexwaaYzldQVzfhWzv9waEUOfHemLVOuNJpXApJ/TLDn1hoPfniMHQlICCGJsn jtZC4ce/kAbVFs7rJODvTw2K9yV2/4GAliBOfoy86ZbR5akVo2U/cn9I8wE6KqmdO+Jmm0WKRZm tKu1go8+Gkmo8Rzg+yxJrFr6BM= X-Received: by 2002:a05:6820:1b0e:b0:67a:1dad:9d63 with SMTP id 006d021491bc7-67b9bc65edamr9090191eaf.6.1773138127574; Tue, 10 Mar 2026 03:22:07 -0700 (PDT) Received: from localhost.localdomain (108-214-96-168.lightspeed.sntcca.sbcglobal.net. [108.214.96.168]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-67bb331eee0sm3877789eaf.8.2026.03.10.03.22.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 03:22:07 -0700 (PDT) From: Sun Jian To: Andrii Nakryiko , Eduard Zingerman , Shuah Khan Cc: bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, Alexei Starovoitov , Daniel Borkmann , Sun Jian Subject: [PATCH 2/2] selftests/bpf: Skip bpffs debug iter checks when unavailable in test_bpffs Date: Tue, 10 Mar 2026 18:21:45 +0800 Message-ID: <20260310102145.857810-2-sun.jian.kdev@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260310102145.857810-1-sun.jian.kdev@gmail.com> References: <20260310102145.857810-1-sun.jian.kdev@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit maps.debug/progs.debug may be inaccessible or absent (EPERM/EACCES/ENOENT) in some environments, which used to abort test_bpffs before it exercised the pin and rename checks. Treat these errors as "iter unavailable", log an INFO message, and continue with the core bpffs tests. Signed-off-by: Sun Jian --- .../selftests/bpf/prog_tests/test_bpffs.c | 43 ++++++++++++++++--- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/test_bpffs.c b/tools/testing/selftests/bpf/prog_tests/test_bpffs.c index e8021ff0581c..95a7d2582ba7 100644 --- a/tools/testing/selftests/bpf/prog_tests/test_bpffs.c +++ b/tools/testing/selftests/bpf/prog_tests/test_bpffs.c @@ -11,15 +11,18 @@ /* TDIR must be in a location we can create a directory in. */ #define TDIR "/tmp/test_bpffs_testdir" -static int read_iter(char *file) +static int read_iter(const char *file, int *save_errno) { /* 1024 should be enough to get contiguous 4 "iter" letters at some point */ char buf[1024]; int fd, len; fd = open(file, O_RDONLY); - if (fd < 0) + if (fd < 0) { + if (save_errno) + *save_errno = errno; return -1; + } while ((len = read(fd, buf, sizeof(buf) - 1)) > 0) { buf[len] = '\0'; if (strstr(buf, "iter")) { @@ -27,10 +30,33 @@ static int read_iter(char *file) return 0; } } + if (save_errno) + *save_errno = (len < 0) ? errno : 0; close(fd); return -1; } +static bool is_iter_skip_err(int err, int serrno) +{ + return err && (serrno == EPERM || serrno == EACCES || serrno == ENOENT); +} + +static int read_iter_or_skip(const char *file) +{ + int serrno = 0; + int err = read_iter(file, &serrno); + + if (is_iter_skip_err(err, serrno)) { + fprintf(stderr, + "INFO: %s unavailable (%d), skipping iter check\n", + file, + serrno); + return 0; + } + + return err; +} + static int fn(void) { struct stat a, b, c; @@ -69,13 +95,16 @@ static int fn(void) if (!ASSERT_OK(err, "mount bpffs " TDIR "/fs2")) goto out; - err = read_iter(TDIR "/fs1/maps.debug"); - if (!ASSERT_OK(err, "reading " TDIR "/fs1/maps.debug")) + err = read_iter_or_skip(TDIR "/fs1/maps.debug"); + if (err) { + ASSERT_OK(err, "reading " TDIR "/fs1/maps.debug"); goto out; - err = read_iter(TDIR "/fs2/progs.debug"); - if (!ASSERT_OK(err, "reading " TDIR "/fs2/progs.debug")) + } + err = read_iter_or_skip(TDIR "/fs2/progs.debug"); + if (err) { + ASSERT_OK(err, "reading " TDIR "/fs2/progs.debug"); goto out; - + } err = mkdir(TDIR "/fs1/a", 0777); if (!ASSERT_OK(err, "creating " TDIR "/fs1/a")) goto out; -- 2.43.0