> On Jul 28, 2023, at 2:41 PM, Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx> wrote: > > On 7/28/23 15:21, Anjali Kulkarni wrote: >>> On Jul 28, 2023, at 12:44 PM, Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx> wrote: >>> >>> On 7/28/23 13:06, Shuah Khan wrote: >>>> On 7/28/23 12:10, Anjali Kulkarni wrote: >>>>> >>>>> >>>>>> On Jul 28, 2023, at 10:29 AM, Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx> wrote: >>>>>> >>>>>> proc_filter test requires root privileges. Add root privilege check >>>>>> and skip the test. Also fix argument parsing paths to skip in their >>>>>> error legs. >>>>>> >>>>>> Signed-off-by: Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx> >>>>>> --- >>>>>> tools/testing/selftests/connector/proc_filter.c | 9 +++++++-- >>>>>> 1 file changed, 7 insertions(+), 2 deletions(-) >>>>>> >>>>>> diff --git a/tools/testing/selftests/connector/proc_filter.c b/tools/testing/selftests/connector/proc_filter.c >>>>>> index 4fe8c6763fd8..7b2081b98e5c 100644 >>>>>> --- a/tools/testing/selftests/connector/proc_filter.c >>>>>> +++ b/tools/testing/selftests/connector/proc_filter.c >>>>>> @@ -248,7 +248,7 @@ int main(int argc, char *argv[]) >>>>>> >>>>>> if (argc > 2) { >>>>>> printf("Expected 0(assume no-filter) or 1 argument(-f)\n"); >>>>>> - exit(1); >>>>>> + exit(KSFT_SKIP); >>>>>> } >>>>>> >>>>>> if (argc == 2) { >>>>>> @@ -256,10 +256,15 @@ int main(int argc, char *argv[]) >>>>>> filter = 1; >>>>>> } else { >>>>>> printf("Valid option : -f (for filter feature)\n"); >>>>>> - exit(1); >>>>>> + exit(KSFT_SKIP); >>>>>> } >>>>>> } >>>>>> >>>>>> + if (geteuid()) { >>>>>> + printf("Connector test requires root privileges.\n"); >>>>>> + exit(KSFT_SKIP); >>>>>> + } >>>>>> + >>>>> >>>>> I am not sure why you have added this check? proc_filter does not need root privilege to run. >>>>> >>>> It failed for me when I ran it saying it requires root privileges. >>>> I had to run it as root. >>> >>> The following is what I see when I run the test as non-root >>> user: >>> >>> bind failed: Operation not permitted >>> >> Yes, that’s expected on a kernel which does not have the kernel patches submitted with this selftest installed on it. >> So this check for root needs to be removed. > > I will send v2 for this patch without root check. I should have > split the argument error paths and root check anyway. > > However, what is strange is if the test run by root, bind() doesn't fail. > This doesn't make sense to me based on what you said about bind() fails > if kernel doesn't support the new feature. > I didn’t say that - part of the changes introduced by the patches is to remove the root check and add some features on top of existing code. > That sounds like a problem if the test can be run by non-root user and > it should fail if kernel doesn't have the feature included. I would > think the bind() should fail for root and non-root users. > > The bind() failure should be skip if it is an indication of feature > not being supported on the kernel. > > thanks, > -- Shuah