@@ -828,8 +828,12 @@ static int userns_obj_priv_btf_success(int mnt_fd, struct token_lsm *lsm_skel)
828
828
return validate_struct_ops_load (mnt_fd , true /* should succeed */ );
829
829
}
830
830
831
+ static const char * token_bpffs_custom_dir ()
832
+ {
833
+ return getenv ("BPF_SELFTESTS_BPF_TOKEN_DIR" ) ?: "/tmp/bpf-token-fs" ;
834
+ }
835
+
831
836
#define TOKEN_ENVVAR "LIBBPF_BPF_TOKEN_PATH"
832
- #define TOKEN_BPFFS_CUSTOM "/bpf-token-fs"
833
837
834
838
static int userns_obj_priv_implicit_token (int mnt_fd , struct token_lsm * lsm_skel )
835
839
{
@@ -892,6 +896,7 @@ static int userns_obj_priv_implicit_token(int mnt_fd, struct token_lsm *lsm_skel
892
896
893
897
static int userns_obj_priv_implicit_token_envvar (int mnt_fd , struct token_lsm * lsm_skel )
894
898
{
899
+ const char * custom_dir = token_bpffs_custom_dir ();
895
900
LIBBPF_OPTS (bpf_object_open_opts , opts );
896
901
struct dummy_st_ops_success * skel ;
897
902
int err ;
@@ -909,10 +914,10 @@ static int userns_obj_priv_implicit_token_envvar(int mnt_fd, struct token_lsm *l
909
914
* BPF token implicitly, unless pointed to it through
910
915
* LIBBPF_BPF_TOKEN_PATH envvar
911
916
*/
912
- rmdir (TOKEN_BPFFS_CUSTOM );
913
- if (!ASSERT_OK (mkdir (TOKEN_BPFFS_CUSTOM , 0777 ), "mkdir_bpffs_custom" ))
917
+ rmdir (custom_dir );
918
+ if (!ASSERT_OK (mkdir (custom_dir , 0777 ), "mkdir_bpffs_custom" ))
914
919
goto err_out ;
915
- err = sys_move_mount (mnt_fd , "" , AT_FDCWD , TOKEN_BPFFS_CUSTOM , MOVE_MOUNT_F_EMPTY_PATH );
920
+ err = sys_move_mount (mnt_fd , "" , AT_FDCWD , custom_dir , MOVE_MOUNT_F_EMPTY_PATH );
916
921
if (!ASSERT_OK (err , "move_mount_bpffs" ))
917
922
goto err_out ;
918
923
@@ -925,7 +930,7 @@ static int userns_obj_priv_implicit_token_envvar(int mnt_fd, struct token_lsm *l
925
930
goto err_out ;
926
931
}
927
932
928
- err = setenv (TOKEN_ENVVAR , TOKEN_BPFFS_CUSTOM , 1 /*overwrite*/ );
933
+ err = setenv (TOKEN_ENVVAR , custom_dir , 1 /*overwrite*/ );
929
934
if (!ASSERT_OK (err , "setenv_token_path" ))
930
935
goto err_out ;
931
936
@@ -951,11 +956,11 @@ static int userns_obj_priv_implicit_token_envvar(int mnt_fd, struct token_lsm *l
951
956
if (!ASSERT_ERR (err , "obj_empty_token_path_load" ))
952
957
goto err_out ;
953
958
954
- rmdir (TOKEN_BPFFS_CUSTOM );
959
+ rmdir (custom_dir );
955
960
unsetenv (TOKEN_ENVVAR );
956
961
return 0 ;
957
962
err_out :
958
- rmdir (TOKEN_BPFFS_CUSTOM );
963
+ rmdir (custom_dir );
959
964
unsetenv (TOKEN_ENVVAR );
960
965
return - EINVAL ;
961
966
}
0 commit comments