Re: [PATCH 6.1 00/42] 6.1.15-rc1 review

From: Greg Kroah-Hartman
Date: Fri Mar 03 2023 - 06:44:57 EST


On Fri, Mar 03, 2023 at 12:39:07PM +0100, Paolo Abeni wrote:
> On Fri, 2023-03-03 at 10:23 +0100, Greg Kroah-Hartman wrote:
> > On Fri, Mar 03, 2023 at 02:34:05PM +0530, Naresh Kamboju wrote:
> > > On Fri, 3 Mar 2023 at 13:34, Paolo Abeni <pabeni@xxxxxxxxxx> wrote:
> > > > I read the above as you are running self-tests from 6.2.1 on top of an
> > > > older (6.1) kernel. Is that correct?
> > >
> > > correct.
> > >
> > > > If so failures are expected;
> >
> > Shouldn't the test be able to know that "new features" are not present
> > and properly skip the test for when that happens?  
>
> I was not aware that running self-tests on older kernels is a common
> practice. I'm surprised that hits mptcp specifically. I think most
> networking tests have the same problem.
>
> Additionally, some self-tests check for known bugs/regressions. Running
> them on older kernel will cause real trouble, and checking for bug
> presence in the running kernel would be problematic at best, I think.

No, not at all, why wouldn't you want to test for know bugs and
regressions and fail? That's a great thing to do, and so you will know
to backport those bugfixes to those older kernels if you have to use
them.

> > Otherwise this feels
> > like a problem going forward as no one will know if this feature can be
> > used or not (assuming it is a new feature and not just a functional
> > change.)
>
> I don't understand this later part, could you please re-phrase?
>
> Users should look at release notes and/or official documentation to
> know the supported features, not to self-tests output ?!?

How can a program "read a release note"?

Features in the kernel should be able to be detected if they are present
or not, in some way, right? Syscalls work this way, as does sysfs
entries and other ways of interacting with the kernel.

If there is no way for a program to "know" if a feature is present or
not, how can it detect the difference between "this failed because of
something I did wrong", vs. "this failed because it is not present in
this kernel at all".

thanks,

greg k-h