On Mon, Feb 07, 2022 at 12:47:41PM +0000, Jiaxun Yang wrote: > > > 在 2022/2/7 12:01, Greg KH 写道: > > On Mon, Feb 07, 2022 at 11:52:12AM +0000, Jiaxun Yang wrote: > > > Since the SUBLEVEL overflowed LINUX_VERSION, we have no reliable > > > way to tell the current SUBLEVEL in source code. > > What in-kernel code needs to know the SUBLEVEL? > Hi, > > Ah sorry, to clarification, backport here means "Backport Project" > (https://backports.wiki.kernel.org). > > Though it is not in-tree, it is a vital part of kernel ecosystem to > deliver some new drivers to stable kernels. > > It relies on KERNEL_VERSION macros to enable compat code. > > > > > > This brings significant difficulties for backport works to deal > > > with changes in stable releases. > > What backport issues? > Context: https://lore.kernel.org/backports/bb0ae37aa770e016463706d557fec1c5205bc6a9.camel@xxxxxxxxxxxxxxxx/T/#t > > We are nolonger able to detect linux version > 4.9.255 in source. Why do you need to do so? > > > > > Define those macros so we can continue to get proper SUBLEVEL > > > in source without breaking stable ABI by refining KERNEL_VERSION > > > bit fields. > > > > > > Signed-off-by: Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx> > > > --- > > > For some context: https://lore.kernel.org/backports/bb0ae37aa770e016463706d557fec1c5205bc6a9.camel@xxxxxxxxxxxxxxxx/T/#t > > > --- > > > Makefile | 5 ++++- > > > 1 file changed, 4 insertions(+), 1 deletion(-) > > > > > > diff --git a/Makefile b/Makefile > > > index 99d37c23495e..8132f81d94d8 100644 > > > --- a/Makefile > > > +++ b/Makefile > > > @@ -1142,7 +1142,10 @@ endef > > > define filechk_version.h > > > (echo \#define LINUX_VERSION_CODE $(shell \ > > > expr $(VERSION) \* 65536 + 0$(PATCHLEVEL) \* 256 + 255); \ > > > - echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))';) > > > + echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))'; \ > > > + echo \#define LINUX_VERSION_MAJOR $(VERSION); \ > > > + echo \#define LINUX_VERSION_PATCHLEVEL $(PATCHLEVEL); \ > > > + echo \#define LINUX_VERSION_SUBLEVEL $(SUBLEVEL);) > > This is already in Makefile, are you sure you just do not need to > > backport > I wish this can be a part of existing stable kernels so backport project > can maintain flawless build againt stable kernels. My point being that you should not try to duplicate changes that are already in Linus's tree. What I think you want is commit 88a686728b37 ("kbuild: simplify access to the kernel's version") to be backported, right? If so, please provide a working backport for all affected kernels and we will be glad to consider it. thanks, greg k-h