Re: [PATCH v2 4/5] selftests/mm: va_high_addr_switch return fail when either test failed
From: Chunyu Hu
Date: Mon Dec 22 2025 - 22:04:53 EST
On Mon, Dec 22, 2025 at 06:56:18PM -0800, Andrew Morton wrote:
> On Tue, 23 Dec 2025 10:46:18 +0800 Chunyu Hu <chuhu@xxxxxxxxxx> wrote:
>
> > > > int main(int argc, char **argv)
> > > > {
> > > > - int ret;
> > > > + int ret, hugetlb_ret = KSFT_PASS;
> > > > if (!supported_arch())
> > > > return KSFT_SKIP;
> > > > @@ -331,6 +331,10 @@ int main(int argc, char **argv)
> > > > ret = run_test(testcases, sz_testcases);
> > > > if (argc == 2 && !strcmp(argv[1], "--run-hugetlb"))
> > > > - ret = run_test(hugetlb_testcases, sz_hugetlb_testcases);
> > >
> > > Maybe you could just have used:
> > >
> > > ret |= run_test(hugetlb_testcases, sz_hugetlb_testcases);
> >
> > Good point. I thought the result code is not encoded by bit, but for
> > KSFT_PASS and KSFT_FAIL, and KSFT_SKIP, they are per bit.
> >
> > 85 #define KSFT_PASS 0
> > 86 #define KSFT_FAIL 1
> > 87 #define KSFT_XFAIL 2
> > 88 #define KSFT_XPASS 3
> > 89 #define KSFT_SKIP 4
> >
> > @Andrew, do you think I need to send a v3 for using the simpified way?
> > if so, send the whole series or the single patch?
>
> Leave it as it is? This thing isn't a bitfield, so using |= happens to
> work thanks to good luck.
It works for me. Thanks.
>