> On Jul 28, 2023, at 3:25 PM, Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx> wrote: > > On 7/28/23 15:59, Anjali Kulkarni wrote: >>> 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. > > Okay. So what should happen if a root user runs this test on a kernel > that doesn't have the kernel patches submitted with this selftest > installed on it? > It will default to the behavior previous to my changes - that is it will report all events as opposed to a subset of events (which is the new feature added by my change) Anjali > thanks, > -- Shuah