Messages in this thread | | | Date | Fri, 28 Jul 2023 16:25:55 -0600 | Subject | Re: [PATCH next 3/3] selftests:connector: Add root check and fix arg error paths to skip | From | Shuah Khan <> |
| |
On 7/28/23 15:59, Anjali Kulkarni wrote: > > >> On Jul 28, 2023, at 2:41 PM, Shuah Khan <skhan@linuxfoundation.org> wrote: >> >> On 7/28/23 15:21, Anjali Kulkarni wrote: >>>> On Jul 28, 2023, at 12:44 PM, Shuah Khan <skhan@linuxfoundation.org> 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@linuxfoundation.org> 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@linuxfoundation.org> >>>>>>> --- >>>>>>> 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?
thanks, -- Shuah
| |