All of lore.kernel.org
 help / color / mirror / Atom feed
From: Linus Walleij <linus.walleij@linaro.org>
To: Russell King - ARM Linux admin <linux@armlinux.org.uk>,
	kasan-dev <kasan-dev@googlegroups.com>,
	Andrey Ryabinin <aryabinin@virtuozzo.com>,
	Dmitry Vyukov <dvyukov@google.com>
Cc: Ard Biesheuvel <ardb@kernel.org>,
	Abbott Liu <liuwenliang@huawei.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	kernel test robot <lkp@intel.com>,
	kbuild-all@lists.01.org,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: arch/arm/boot/compressed/decompress.c:50: warning: "memmove" redefined
Date: Sun, 9 May 2021 17:17:49 +0200	[thread overview]
Message-ID: <CACRpkdaNVg9zgaDN0JG+Z8dMMk+0fdpYHwGMHS-FKUG9MZAb4w@mail.gmail.com> (raw)
In-Reply-To: <20210509122227.GH1336@shell.armlinux.org.uk>

OK, paging in the KSan mailing list and key people.

Certainly this problem must be the same on all platforms
using an XZ-compressed kernel and not just Arm?

What I wonder is why the other platforms that use
XZ compression don't redefine memmove and
memcpy in their decompress.c clause for XZ?

Can we just delete these two lines?
#define memmove memmove
#define memcpy memcpy

Imre?

I can test some platforms without these defines later
tonight and see what happens.

Yours,
Linus Walleij

On Sun, May 9, 2021 at 2:22 PM Russell King - ARM Linux admin
<linux@armlinux.org.uk> wrote:
>
> Maybe the KASan folk can look into this, it isn't obvious how to fix
> this, since XZ needs memcpy/memmove #defined to avoid using its own
> version. Having KASan override these with a #define is all very well,
> but it makes the behaviour of lib/decompress_unxz.c indeterminant if
> we get rid of the definitions the XZ support added.
>
> On Sun, May 09, 2021 at 11:32:17AM +0800, kernel test robot wrote:
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > head:   b741596468b010af2846b75f5e75a842ce344a6e
> > commit: 421015713b306e47af95d4d61cdfbd96d462e4cb ARM: 9017/2: Enable KASan for ARM
> > date:   6 months ago
> > config: arm-randconfig-r015-20210509 (attached as .config)
> > compiler: arm-linux-gnueabi-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/torvalds/linux.git/commit/?id=421015713b306e47af95d4d61cdfbd96d462e4cb
> >         git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> >         git fetch --no-tags linus master
> >         git checkout 421015713b306e47af95d4d61cdfbd96d462e4cb
> >         # save the attached .config to linux build tree
> >         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=arm
> >
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kernel test robot <lkp@intel.com>
> >
> > All warnings (new ones prefixed by >>):
> >
> > >> arch/arm/boot/compressed/decompress.c:50: warning: "memmove" redefined
> >       50 | #define memmove memmove
> >          |
> >    In file included from arch/arm/boot/compressed/decompress.c:8:
> >    arch/arm/include/asm/string.h:59: note: this is the location of the previous definition
> >       59 | #define memmove(dst, src, len) __memmove(dst, src, len)
> >          |
> >    arch/arm/boot/compressed/decompress.c:51: warning: "memcpy" redefined
> >       51 | #define memcpy memcpy
> >          |
> >    In file included from arch/arm/boot/compressed/decompress.c:8:
> >    arch/arm/include/asm/string.h:58: note: this is the location of the previous definition
> >       58 | #define memcpy(dst, src, len) __memcpy(dst, src, len)
> >          |
> >    arch/arm/boot/compressed/decompress.c:59:5: warning: no previous prototype for 'do_decompress' [-Wmissing-prototypes]
> >       59 | int do_decompress(u8 *input, int len, u8 *output, void (*error)(char *x))
> >          |     ^~~~~~~~~~~~~
> >
> >
> > vim +/memmove +50 arch/arm/boot/compressed/decompress.c
> >
> > 6e8699f7d68589 Albin Tonnerre 2010-04-03  48
> > a7f464f3db93ae Imre Kaloz     2012-01-26  49  #ifdef CONFIG_KERNEL_XZ
> > a7f464f3db93ae Imre Kaloz     2012-01-26 @50  #define memmove memmove
> > a7f464f3db93ae Imre Kaloz     2012-01-26  51  #define memcpy memcpy
> > a7f464f3db93ae Imre Kaloz     2012-01-26  52  #include "../../../../lib/decompress_unxz.c"
> > a7f464f3db93ae Imre Kaloz     2012-01-26  53  #endif
> > a7f464f3db93ae Imre Kaloz     2012-01-26  54
> >
> > :::::: The code at line 50 was first introduced by commit
> > :::::: a7f464f3db93ae5492bee6f6e48939fd8a45fa99 ARM: 7001/2: Wire up support for the XZ decompressor
> >
> > :::::: TO: Imre Kaloz <kaloz@openwrt.org>
> > :::::: CC: Russell King <rmk+kernel@arm.linux.org.uk>
> >
> > ---
> > 0-DAY CI Kernel Test Service, Intel Corporation
> > https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
>
>
>
> --
> RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
> FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

WARNING: multiple messages have this Message-ID (diff)
From: Linus Walleij <linus.walleij@linaro.org>
To: kbuild-all@lists.01.org
Subject: Re: arch/arm/boot/compressed/decompress.c:50: warning: "memmove" redefined
Date: Sun, 09 May 2021 17:17:49 +0200	[thread overview]
Message-ID: <CACRpkdaNVg9zgaDN0JG+Z8dMMk+0fdpYHwGMHS-FKUG9MZAb4w@mail.gmail.com> (raw)
In-Reply-To: <20210509122227.GH1336@shell.armlinux.org.uk>

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

OK, paging in the KSan mailing list and key people.

Certainly this problem must be the same on all platforms
using an XZ-compressed kernel and not just Arm?

What I wonder is why the other platforms that use
XZ compression don't redefine memmove and
memcpy in their decompress.c clause for XZ?

Can we just delete these two lines?
#define memmove memmove
#define memcpy memcpy

Imre?

I can test some platforms without these defines later
tonight and see what happens.

Yours,
Linus Walleij

On Sun, May 9, 2021 at 2:22 PM Russell King - ARM Linux admin
<linux@armlinux.org.uk> wrote:
>
> Maybe the KASan folk can look into this, it isn't obvious how to fix
> this, since XZ needs memcpy/memmove #defined to avoid using its own
> version. Having KASan override these with a #define is all very well,
> but it makes the behaviour of lib/decompress_unxz.c indeterminant if
> we get rid of the definitions the XZ support added.
>
> On Sun, May 09, 2021 at 11:32:17AM +0800, kernel test robot wrote:
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > head:   b741596468b010af2846b75f5e75a842ce344a6e
> > commit: 421015713b306e47af95d4d61cdfbd96d462e4cb ARM: 9017/2: Enable KASan for ARM
> > date:   6 months ago
> > config: arm-randconfig-r015-20210509 (attached as .config)
> > compiler: arm-linux-gnueabi-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/torvalds/linux.git/commit/?id=421015713b306e47af95d4d61cdfbd96d462e4cb
> >         git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> >         git fetch --no-tags linus master
> >         git checkout 421015713b306e47af95d4d61cdfbd96d462e4cb
> >         # save the attached .config to linux build tree
> >         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=arm
> >
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kernel test robot <lkp@intel.com>
> >
> > All warnings (new ones prefixed by >>):
> >
> > >> arch/arm/boot/compressed/decompress.c:50: warning: "memmove" redefined
> >       50 | #define memmove memmove
> >          |
> >    In file included from arch/arm/boot/compressed/decompress.c:8:
> >    arch/arm/include/asm/string.h:59: note: this is the location of the previous definition
> >       59 | #define memmove(dst, src, len) __memmove(dst, src, len)
> >          |
> >    arch/arm/boot/compressed/decompress.c:51: warning: "memcpy" redefined
> >       51 | #define memcpy memcpy
> >          |
> >    In file included from arch/arm/boot/compressed/decompress.c:8:
> >    arch/arm/include/asm/string.h:58: note: this is the location of the previous definition
> >       58 | #define memcpy(dst, src, len) __memcpy(dst, src, len)
> >          |
> >    arch/arm/boot/compressed/decompress.c:59:5: warning: no previous prototype for 'do_decompress' [-Wmissing-prototypes]
> >       59 | int do_decompress(u8 *input, int len, u8 *output, void (*error)(char *x))
> >          |     ^~~~~~~~~~~~~
> >
> >
> > vim +/memmove +50 arch/arm/boot/compressed/decompress.c
> >
> > 6e8699f7d68589 Albin Tonnerre 2010-04-03  48
> > a7f464f3db93ae Imre Kaloz     2012-01-26  49  #ifdef CONFIG_KERNEL_XZ
> > a7f464f3db93ae Imre Kaloz     2012-01-26 @50  #define memmove memmove
> > a7f464f3db93ae Imre Kaloz     2012-01-26  51  #define memcpy memcpy
> > a7f464f3db93ae Imre Kaloz     2012-01-26  52  #include "../../../../lib/decompress_unxz.c"
> > a7f464f3db93ae Imre Kaloz     2012-01-26  53  #endif
> > a7f464f3db93ae Imre Kaloz     2012-01-26  54
> >
> > :::::: The code at line 50 was first introduced by commit
> > :::::: a7f464f3db93ae5492bee6f6e48939fd8a45fa99 ARM: 7001/2: Wire up support for the XZ decompressor
> >
> > :::::: TO: Imre Kaloz <kaloz@openwrt.org>
> > :::::: CC: Russell King <rmk+kernel@arm.linux.org.uk>
> >
> > ---
> > 0-DAY CI Kernel Test Service, Intel Corporation
> > https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
>
>
>
> --
> RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
> FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

  reply	other threads:[~2021-05-09 15:18 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-09  3:32 arch/arm/boot/compressed/decompress.c:50: warning: "memmove" redefined kernel test robot
2021-05-09  3:32 ` kernel test robot
2021-05-09 12:22 ` Russell King - ARM Linux admin
2021-05-09 12:22   ` Russell King - ARM Linux admin
2021-05-09 15:17   ` Linus Walleij [this message]
2021-05-09 15:17     ` Linus Walleij
2021-05-09 16:25     ` Russell King - ARM Linux admin
2021-05-09 16:25       ` Russell King - ARM Linux admin

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=CACRpkdaNVg9zgaDN0JG+Z8dMMk+0fdpYHwGMHS-FKUG9MZAb4w@mail.gmail.com \
    --to=linus.walleij@linaro.org \
    --cc=ardb@kernel.org \
    --cc=aryabinin@virtuozzo.com \
    --cc=dvyukov@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=kasan-dev@googlegroups.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=liuwenliang@huawei.com \
    --cc=lkp@intel.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.