[bpf] selftests/bpf: fix unpriv_disabled check in test_verifier

Message ID 20230912120631.213139-1-asavkov@redhat.com
State New
Headers
Series [bpf] selftests/bpf: fix unpriv_disabled check in test_verifier |

Commit Message

Artem Savkov Sept. 12, 2023, 12:06 p.m. UTC
  Commit 1d56ade032a49 changed the function get_unpriv_disabled() to
return its results as a bool instead of updating a global variable, but
test_verifier was not updated to keep in line with these changes. Thus
unpriv_disabled is always false in test_verifier and unprivileged tests
are not properly skipped on systems with unprivileged bpf disabled.

Fixes: 1d56ade032a49 ("selftests/bpf: Unprivileged tests for test_loader.c")
Signed-off-by: Artem Savkov <asavkov@redhat.com>
---
 tools/testing/selftests/bpf/test_verifier.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Eduard Zingerman Sept. 12, 2023, 12:31 p.m. UTC | #1
On Tue, 2023-09-12 at 14:06 +0200, Artem Savkov wrote:
> Commit 1d56ade032a49 changed the function get_unpriv_disabled() to
> return its results as a bool instead of updating a global variable, but
> test_verifier was not updated to keep in line with these changes. Thus
> unpriv_disabled is always false in test_verifier and unprivileged tests
> are not properly skipped on systems with unprivileged bpf disabled.
> 
> Fixes: 1d56ade032a49 ("selftests/bpf: Unprivileged tests for test_loader.c")
> Signed-off-by: Artem Savkov <asavkov@redhat.com>

Yep, my bad, without this patch test_verifier fails when
/proc/sys/kernel/unprivileged_bpf_disabled is set to 1.
Thank you for fixing it.
Acked-by: Eduard Zingerman <eddyz87@gmail.com>

> ---
>  tools/testing/selftests/bpf/test_verifier.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/testing/selftests/bpf/test_verifier.c b/tools/testing/selftests/bpf/test_verifier.c
> index 31f1c935cd07d..98107e0452d33 100644
> --- a/tools/testing/selftests/bpf/test_verifier.c
> +++ b/tools/testing/selftests/bpf/test_verifier.c
> @@ -1880,7 +1880,7 @@ int main(int argc, char **argv)
>  		}
>  	}
>  
> -	get_unpriv_disabled();
> +	unpriv_disabled = get_unpriv_disabled();
>  	if (unpriv && unpriv_disabled) {
>  		printf("Cannot run as unprivileged user with sysctl %s.\n",
>  		       UNPRIV_SYSCTL);
  
patchwork-bot+netdevbpf@kernel.org Sept. 12, 2023, 8:20 p.m. UTC | #2
Hello:

This patch was applied to bpf/bpf.git (master)
by Alexei Starovoitov <ast@kernel.org>:

On Tue, 12 Sep 2023 14:06:31 +0200 you wrote:
> Commit 1d56ade032a49 changed the function get_unpriv_disabled() to
> return its results as a bool instead of updating a global variable, but
> test_verifier was not updated to keep in line with these changes. Thus
> unpriv_disabled is always false in test_verifier and unprivileged tests
> are not properly skipped on systems with unprivileged bpf disabled.
> 
> Fixes: 1d56ade032a49 ("selftests/bpf: Unprivileged tests for test_loader.c")
> Signed-off-by: Artem Savkov <asavkov@redhat.com>
> 
> [...]

Here is the summary with links:
  - [bpf] selftests/bpf: fix unpriv_disabled check in test_verifier
    https://git.kernel.org/bpf/bpf/c/d128860dbb29

You are awesome, thank you!
  

Patch

diff --git a/tools/testing/selftests/bpf/test_verifier.c b/tools/testing/selftests/bpf/test_verifier.c
index 31f1c935cd07d..98107e0452d33 100644
--- a/tools/testing/selftests/bpf/test_verifier.c
+++ b/tools/testing/selftests/bpf/test_verifier.c
@@ -1880,7 +1880,7 @@  int main(int argc, char **argv)
 		}
 	}
 
-	get_unpriv_disabled();
+	unpriv_disabled = get_unpriv_disabled();
 	if (unpriv && unpriv_disabled) {
 		printf("Cannot run as unprivileged user with sysctl %s.\n",
 		       UNPRIV_SYSCTL);