All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gao Xiang <hsiangkao@linux.alibaba.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: stable <stable@vger.kernel.org>,
	kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
	Nick Terrell <terrelln@fb.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	kernel test robot <lkp@intel.com>
Subject: Re: [linux-stable-rc:linux-5.4.y 7045/7049] mipsel-linux-ld: decompress.c:undefined reference to `memmove'
Date: Fri, 9 Jul 2021 21:49:35 +0800	[thread overview]
Message-ID: <YOhT78jt3rkCmudH@B-P7TQMD6M-0146.local> (raw)
In-Reply-To: <YOglcE85xuwfD7It@kroah.com>

On Fri, Jul 09, 2021 at 12:31:12PM +0200, Greg Kroah-Hartman wrote:
> On Fri, Jul 09, 2021 at 03:20:41PM +0800, Gao Xiang wrote:
> > Hi Greg, stable all,
> > 
> > On Fri, Jul 09, 2021 at 01:50:16PM +0800, Gao Xiang wrote:
> > > On Wed, Jul 07, 2021 at 01:15:28AM +0800, kernel test robot wrote:
> > > > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.4.y
> > > > head:   3909e2374335335c9504467caabc906d3f7487e4
> > > > commit: defcc2b5e54a4724fb5733f802edf5dd596018b6 [7045/7049] lib/lz4: explicitly support in-place decompression
> > > > config: mips-randconfig-r036-20210706 (attached as .config)
> > > > compiler: mipsel-linux-gcc (GCC) 9.3.0
> > > > reproduce (this is a W=1 build):
> > > >         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> > > >         chmod +x ~/bin/make.cross
> > > >         # https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/commit/?id=defcc2b5e54a4724fb5733f802edf5dd596018b6
> > > >         git remote add linux-stable-rc https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
> > > >         git fetch --no-tags linux-stable-rc linux-5.4.y
> > > >         git checkout defcc2b5e54a4724fb5733f802edf5dd596018b6
> > > >         # save the attached .config to linux build tree
> > > >         mkdir build_dir
> > > >         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross O=build_dir ARCH=mips SHELL=/bin/bash
> > > > 
> > > > If you fix the issue, kindly add following tag as appropriate
> > > > Reported-by: kernel test robot <lkp@intel.com>
> > > 
> > > Which is weird, does the preboot environment miss memmove() on mipsel?
> > > Just a guess, I may look into that myself later...
> > > 
> > 
> > After manually checking, I found memmove() for the mips preboot environment
> > was incidentally introduced by commit a510b616131f ("MIPS: Add support for
> > ZSTD-compressed kernels") which wasn't included in v5.4, but included in
> > v5.10 as below (so v5.10.y is fine):
> > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/mips/boot/compressed?h=v5.10&id=a510b616131f85215ba156ed67e5ed1c0701f80f
> > 
> > And when I applied the following patch partially from the original
> > commit, the compile error with the command lines mentioned above was gone:
> > 
> > diff --git a/arch/mips/boot/compressed/string.c b/arch/mips/boot/compressed/string.c
> > index 43beecc3587c..e9ab7ea592ba 100644
> > --- a/arch/mips/boot/compressed/string.c
> > +++ b/arch/mips/boot/compressed/string.c
> > @@ -27,3 +27,19 @@ void *memset(void *s, int c, size_t n)
> >  		ss[i] = c;
> >  	return s;
> >  }
> > +
> > +void * __weak memmove(void *dest, const void *src, size_t n)
> > +{
> > +	unsigned int i;
> > +	const char *s = src;
> > +	char *d = dest;
> > +
> > +	if ((uintptr_t)dest < (uintptr_t)src) {
> > +		for (i = 0; i < n; i++)
> > +			d[i] = s[i];
> > +	} else {
> > +		for (i = n; i > 0; i--)
> > +			d[i - 1] = s[i - 1];
> > +	}
> > +	return dest;
> > +}
> > 
> > How to backport such commit partially to the v5.4.y stable kernel?
> 
> Please submit it in a format which we can apply it.

I've sent out a patch (although not sure if the exact format like this):
https://lore.kernel.org/r/20210709132408.174206-1-hsiangkao@linux.alibaba.com/

> 
> > ... Also, it would be better to check other mips compile combinations
> > automatically since it's hard for me to check all such combinations
> > one-by-one...
> 
> That's what kernelci is for, can you use that?

I'm not sure how to use kernelci myself, maybe I missed something...

Thanks,
Gao Xiang

> 
> thanks,
> 
> greg k-h

WARNING: multiple messages have this Message-ID (diff)
From: Gao Xiang <hsiangkao@linux.alibaba.com>
To: kbuild-all@lists.01.org
Subject: Re: [linux-stable-rc:linux-5.4.y 7045/7049] mipsel-linux-ld: decompress.c:undefined reference to `memmove'
Date: Fri, 09 Jul 2021 21:49:35 +0800	[thread overview]
Message-ID: <YOhT78jt3rkCmudH@B-P7TQMD6M-0146.local> (raw)
In-Reply-To: <YOglcE85xuwfD7It@kroah.com>

[-- Attachment #1: Type: text/plain, Size: 3779 bytes --]

On Fri, Jul 09, 2021 at 12:31:12PM +0200, Greg Kroah-Hartman wrote:
> On Fri, Jul 09, 2021 at 03:20:41PM +0800, Gao Xiang wrote:
> > Hi Greg, stable all,
> > 
> > On Fri, Jul 09, 2021 at 01:50:16PM +0800, Gao Xiang wrote:
> > > On Wed, Jul 07, 2021 at 01:15:28AM +0800, kernel test robot wrote:
> > > > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.4.y
> > > > head:   3909e2374335335c9504467caabc906d3f7487e4
> > > > commit: defcc2b5e54a4724fb5733f802edf5dd596018b6 [7045/7049] lib/lz4: explicitly support in-place decompression
> > > > config: mips-randconfig-r036-20210706 (attached as .config)
> > > > compiler: mipsel-linux-gcc (GCC) 9.3.0
> > > > reproduce (this is a W=1 build):
> > > >         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> > > >         chmod +x ~/bin/make.cross
> > > >         # https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/commit/?id=defcc2b5e54a4724fb5733f802edf5dd596018b6
> > > >         git remote add linux-stable-rc https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
> > > >         git fetch --no-tags linux-stable-rc linux-5.4.y
> > > >         git checkout defcc2b5e54a4724fb5733f802edf5dd596018b6
> > > >         # save the attached .config to linux build tree
> > > >         mkdir build_dir
> > > >         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross O=build_dir ARCH=mips SHELL=/bin/bash
> > > > 
> > > > If you fix the issue, kindly add following tag as appropriate
> > > > Reported-by: kernel test robot <lkp@intel.com>
> > > 
> > > Which is weird, does the preboot environment miss memmove() on mipsel?
> > > Just a guess, I may look into that myself later...
> > > 
> > 
> > After manually checking, I found memmove() for the mips preboot environment
> > was incidentally introduced by commit a510b616131f ("MIPS: Add support for
> > ZSTD-compressed kernels") which wasn't included in v5.4, but included in
> > v5.10 as below (so v5.10.y is fine):
> > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/mips/boot/compressed?h=v5.10&id=a510b616131f85215ba156ed67e5ed1c0701f80f
> > 
> > And when I applied the following patch partially from the original
> > commit, the compile error with the command lines mentioned above was gone:
> > 
> > diff --git a/arch/mips/boot/compressed/string.c b/arch/mips/boot/compressed/string.c
> > index 43beecc3587c..e9ab7ea592ba 100644
> > --- a/arch/mips/boot/compressed/string.c
> > +++ b/arch/mips/boot/compressed/string.c
> > @@ -27,3 +27,19 @@ void *memset(void *s, int c, size_t n)
> >  		ss[i] = c;
> >  	return s;
> >  }
> > +
> > +void * __weak memmove(void *dest, const void *src, size_t n)
> > +{
> > +	unsigned int i;
> > +	const char *s = src;
> > +	char *d = dest;
> > +
> > +	if ((uintptr_t)dest < (uintptr_t)src) {
> > +		for (i = 0; i < n; i++)
> > +			d[i] = s[i];
> > +	} else {
> > +		for (i = n; i > 0; i--)
> > +			d[i - 1] = s[i - 1];
> > +	}
> > +	return dest;
> > +}
> > 
> > How to backport such commit partially to the v5.4.y stable kernel?
> 
> Please submit it in a format which we can apply it.

I've sent out a patch (although not sure if the exact format like this):
https://lore.kernel.org/r/20210709132408.174206-1-hsiangkao(a)linux.alibaba.com/

> 
> > ... Also, it would be better to check other mips compile combinations
> > automatically since it's hard for me to check all such combinations
> > one-by-one...
> 
> That's what kernelci is for, can you use that?

I'm not sure how to use kernelci myself, maybe I missed something...

Thanks,
Gao Xiang

> 
> thanks,
> 
> greg k-h

  parent reply	other threads:[~2021-07-09 13:49 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-06 17:15 [linux-stable-rc:linux-5.4.y 7045/7049] mipsel-linux-ld: decompress.c:undefined reference to `memmove' kernel test robot
2021-07-06 17:15 ` kernel test robot
2021-07-09  5:50 ` Gao Xiang
2021-07-09  5:50   ` Gao Xiang
2021-07-09  7:20   ` Gao Xiang
2021-07-09  7:20     ` Gao Xiang
2021-07-09 10:31     ` Greg Kroah-Hartman
2021-07-09 10:31       ` Greg Kroah-Hartman
2021-07-09 13:24       ` [PATCH 5.4.y stable only] MIPS: fix "mipsel-linux-ld: decompress.c:undefined reference to `memmove'" Gao Xiang
2021-07-14 16:15         ` Gao Xiang
2021-07-15 10:52         ` Greg Kroah-Hartman
2021-07-15 11:22           ` Gao Xiang
2021-07-15 11:35             ` Greg Kroah-Hartman
2021-07-15 12:26               ` Gao Xiang
2021-07-09 13:49       ` Gao Xiang [this message]
2021-07-09 13:49         ` [linux-stable-rc:linux-5.4.y 7045/7049] mipsel-linux-ld: decompress.c:undefined reference to `memmove' Gao Xiang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YOhT78jt3rkCmudH@B-P7TQMD6M-0146.local \
    --to=hsiangkao@linux.alibaba.com \
    --cc=akpm@linux-foundation.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=stable@vger.kernel.org \
    --cc=terrelln@fb.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.