All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tiezhu Yang <yangtiezhu@loongson.cn>
To: kernel test robot <lkp@intel.com>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Jean Delvare <jdelvare@suse.com>
Subject: Re: drivers/firmware/dmi_scan.c:151:9: sparse: sparse: incorrect type in argument 1 (different address spaces)
Date: Mon, 26 Jul 2021 20:53:42 +0800	[thread overview]
Message-ID: <81c31d99-82dc-feb6-1213-2b2fbae7c867@loongson.cn> (raw)
In-Reply-To: <202107242204.IbnaQfeL-lkp@intel.com>

On 07/24/2021 10:31 PM, kernel test robot wrote:
> Hi Stephen,
>
> First bad commit (maybe != root cause):
>
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   f0fddcec6b6254b4b3611388786bbafb703ad257
> commit: 1062fc45d1e93faefb93961f3be0a687f3f0e2e1 MIPS: Loongson64: Select SMP in Kconfig to avoid build error
> date:   10 months ago
> config: mips-randconfig-s031-20210724 (attached as .config)
> compiler: mips64-linux-gcc (GCC) 10.3.0
> reproduce:
>          wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>          chmod +x ~/bin/make.cross
>          # apt-get install sparse
>          # sparse version: v0.6.3-341-g8af24329-dirty
>          # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1062fc45d1e93faefb93961f3be0a687f3f0e2e1
>          git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>          git fetch --no-tags linus master
>          git checkout 1062fc45d1e93faefb93961f3be0a687f3f0e2e1
>          # save the attached .config to linux build tree
>          COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=mips
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
>
> sparse warnings: (new ones prefixed by >>)
>     command-line: note: in included file:
>     builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQUIRE redefined
>     builtin:0:0: sparse: this was the original definition
>     builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_SEQ_CST redefined
>     builtin:0:0: sparse: this was the original definition
>     builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQ_REL redefined
>     builtin:0:0: sparse: this was the original definition
>     builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_RELEASE redefined
>     builtin:0:0: sparse: this was the original definition
>     drivers/firmware/dmi_scan.c:143:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned char [usertype] *buf @@     got void [noderef] __iomem * @@
>     drivers/firmware/dmi_scan.c:143:13: sparse:     expected unsigned char [usertype] *buf
>     drivers/firmware/dmi_scan.c:143:13: sparse:     got void [noderef] __iomem *
>>> drivers/firmware/dmi_scan.c:151:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got unsigned char [usertype] *buf @@
>     drivers/firmware/dmi_scan.c:151:9: sparse:     expected void const volatile [noderef] __iomem *addr
>     drivers/firmware/dmi_scan.c:151:9: sparse:     got unsigned char [usertype] *buf
>     drivers/firmware/dmi_scan.c:775:19: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned char [usertype] *dmi_table @@     got void [noderef] __iomem * @@
>     drivers/firmware/dmi_scan.c:775:19: sparse:     expected unsigned char [usertype] *dmi_table
>     drivers/firmware/dmi_scan.c:775:19: sparse:     got void [noderef] __iomem *
>>> drivers/firmware/dmi_scan.c:794:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got unsigned char [usertype] *dmi_table @@
>     drivers/firmware/dmi_scan.c:794:9: sparse:     expected void const volatile [noderef] __iomem *addr
>     drivers/firmware/dmi_scan.c:794:9: sparse:     got unsigned char [usertype] *dmi_table
>     drivers/firmware/dmi_scan.c:1108:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned char [usertype] *buf @@     got void [noderef] __iomem * @@
>     drivers/firmware/dmi_scan.c:1108:13: sparse:     expected unsigned char [usertype] *buf
>     drivers/firmware/dmi_scan.c:1108:13: sparse:     got void [noderef] __iomem *
>     drivers/firmware/dmi_scan.c:1114:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got unsigned char [usertype] *buf @@
>     drivers/firmware/dmi_scan.c:1114:9: sparse:     expected void const volatile [noderef] __iomem *addr
>     drivers/firmware/dmi_scan.c:1114:9: sparse:     got unsigned char [usertype] *buf
> --
>     command-line: note: in included file:
>     builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQUIRE redefined
>     builtin:0:0: sparse: this was the original definition
>     builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_SEQ_CST redefined
>     builtin:0:0: sparse: this was the original definition
>     builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQ_REL redefined
>     builtin:0:0: sparse: this was the original definition
>     builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_RELEASE redefined
>     builtin:0:0: sparse: this was the original definition
>>> drivers/irqchip/irq-loongson-htpic.c:80:20: sparse: sparse: symbol 'htpic_syscore_ops' was not declared. Should it be static?
>     drivers/irqchip/irq-loongson-htpic.c:84:12: sparse: sparse: symbol 'htpic_of_init' was not declared. Should it be static?
> --
>     command-line: note: in included file:
>     builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQUIRE redefined
>     builtin:0:0: sparse: this was the original definition
>     builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_SEQ_CST redefined
>     builtin:0:0: sparse: this was the original definition
>     builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQ_REL redefined
>     builtin:0:0: sparse: this was the original definition
>     builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_RELEASE redefined
>     builtin:0:0: sparse: this was the original definition
>     drivers/pci/controller/pci-ftpci100.c:37:9: sparse: sparse: preprocessor token PCI_IOSIZE redefined
>     drivers/pci/controller/pci-ftpci100.c: note: in included file (through arch/mips/include/asm/addrspace.h, arch/mips/include/asm/barrier.h, arch/mips/include/asm/bitops.h, ...):
>>> arch/mips/include/asm/mach-loongson64/spaces.h:11:9: sparse: this was the original definition
> vim +151 drivers/firmware/dmi_scan.c
>
> 7fce084a0b3e2b drivers/firmware/dmi_scan.c Jean Delvare    2007-11-03  136
> e7a19c5624c66a drivers/firmware/dmi_scan.c Jean Delvare    2009-03-30  137  static int __init dmi_walk_early(void (*decode)(const struct dmi_header *,
> e7a19c5624c66a drivers/firmware/dmi_scan.c Jean Delvare    2009-03-30  138  		void *))
> 7fce084a0b3e2b drivers/firmware/dmi_scan.c Jean Delvare    2007-11-03  139  {
> 7fce084a0b3e2b drivers/firmware/dmi_scan.c Jean Delvare    2007-11-03  140  	u8 *buf;
> 6e0ad59e3d838a drivers/firmware/dmi_scan.c Jean Delvare    2015-06-25  141  	u32 orig_dmi_len = dmi_len;
> 7fce084a0b3e2b drivers/firmware/dmi_scan.c Jean Delvare    2007-11-03  142
> 6e0ad59e3d838a drivers/firmware/dmi_scan.c Jean Delvare    2015-06-25  143  	buf = dmi_early_remap(dmi_base, orig_dmi_len);
> 7fce084a0b3e2b drivers/firmware/dmi_scan.c Jean Delvare    2007-11-03  144  	if (buf == NULL)
> c926820085437a drivers/firmware/dmi_scan.c Andy Lutomirski 2017-06-15  145  		return -ENOMEM;
> 7fce084a0b3e2b drivers/firmware/dmi_scan.c Jean Delvare    2007-11-03  146
> eb4c5ea50e60aa drivers/firmware/dmi_scan.c Ivan Khoronzhuk 2015-06-25  147  	dmi_decode_table(buf, decode, NULL);
> 7fce084a0b3e2b drivers/firmware/dmi_scan.c Jean Delvare    2007-11-03  148
> d114a333874725 drivers/firmware/dmi_scan.c Tony Luck       2012-07-20  149  	add_device_randomness(buf, dmi_len);
> d114a333874725 drivers/firmware/dmi_scan.c Tony Luck       2012-07-20  150
> 6e0ad59e3d838a drivers/firmware/dmi_scan.c Jean Delvare    2015-06-25 @151  	dmi_early_unmap(buf, orig_dmi_len);
> ^1da177e4c3f41 arch/i386/kernel/dmi_scan.c Linus Torvalds  2005-04-16  152  	return 0;
> ^1da177e4c3f41 arch/i386/kernel/dmi_scan.c Linus Torvalds  2005-04-16  153  }
> ^1da177e4c3f41 arch/i386/kernel/dmi_scan.c Linus Torvalds  2005-04-16  154
>
> :::::: The code at line 151 was first introduced by commit
> :::::: 6e0ad59e3d838a2887e7aa657baee5896030d009 firmware: dmi_scan: Trim DMI table length before exporting it
>
> :::::: TO: Jean Delvare <jdelvare@suse.de>
> :::::: CC: Jean Delvare <jdelvare@suse.de>
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Hi,

It seems that there is no relation between my commit and the sparse warning
"drivers/firmware/dmi_scan.c:151:9: sparse: sparse: incorrect type in 
argument".

I think the following change can make the above warning silent:

diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c
index f191a1f..9e254d9 100644
--- a/drivers/firmware/dmi_scan.c
+++ b/drivers/firmware/dmi_scan.c
@@ -148,7 +148,7 @@ static int __init dmi_walk_early(void 
(*decode)(const struct dmi_header *,

         add_device_randomness(buf, dmi_len);

-       dmi_early_unmap(buf, orig_dmi_len);
+       dmi_early_unmap((u8 __iomem *)buf, orig_dmi_len);
         return 0;
  }

If it is OK, I can send a patch later.

Thanks,
Tiezhu


WARNING: multiple messages have this Message-ID (diff)
From: Tiezhu Yang <yangtiezhu@loongson.cn>
To: kbuild-all@lists.01.org
Subject: Re: drivers/firmware/dmi_scan.c:151:9: sparse: sparse: incorrect type in argument 1 (different address spaces)
Date: Mon, 26 Jul 2021 20:53:42 +0800	[thread overview]
Message-ID: <81c31d99-82dc-feb6-1213-2b2fbae7c867@loongson.cn> (raw)
In-Reply-To: <202107242204.IbnaQfeL-lkp@intel.com>

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

On 07/24/2021 10:31 PM, kernel test robot wrote:
> Hi Stephen,
>
> First bad commit (maybe != root cause):
>
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   f0fddcec6b6254b4b3611388786bbafb703ad257
> commit: 1062fc45d1e93faefb93961f3be0a687f3f0e2e1 MIPS: Loongson64: Select SMP in Kconfig to avoid build error
> date:   10 months ago
> config: mips-randconfig-s031-20210724 (attached as .config)
> compiler: mips64-linux-gcc (GCC) 10.3.0
> reproduce:
>          wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>          chmod +x ~/bin/make.cross
>          # apt-get install sparse
>          # sparse version: v0.6.3-341-g8af24329-dirty
>          # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1062fc45d1e93faefb93961f3be0a687f3f0e2e1
>          git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>          git fetch --no-tags linus master
>          git checkout 1062fc45d1e93faefb93961f3be0a687f3f0e2e1
>          # save the attached .config to linux build tree
>          COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=mips
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
>
> sparse warnings: (new ones prefixed by >>)
>     command-line: note: in included file:
>     builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQUIRE redefined
>     builtin:0:0: sparse: this was the original definition
>     builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_SEQ_CST redefined
>     builtin:0:0: sparse: this was the original definition
>     builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQ_REL redefined
>     builtin:0:0: sparse: this was the original definition
>     builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_RELEASE redefined
>     builtin:0:0: sparse: this was the original definition
>     drivers/firmware/dmi_scan.c:143:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned char [usertype] *buf @@     got void [noderef] __iomem * @@
>     drivers/firmware/dmi_scan.c:143:13: sparse:     expected unsigned char [usertype] *buf
>     drivers/firmware/dmi_scan.c:143:13: sparse:     got void [noderef] __iomem *
>>> drivers/firmware/dmi_scan.c:151:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got unsigned char [usertype] *buf @@
>     drivers/firmware/dmi_scan.c:151:9: sparse:     expected void const volatile [noderef] __iomem *addr
>     drivers/firmware/dmi_scan.c:151:9: sparse:     got unsigned char [usertype] *buf
>     drivers/firmware/dmi_scan.c:775:19: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned char [usertype] *dmi_table @@     got void [noderef] __iomem * @@
>     drivers/firmware/dmi_scan.c:775:19: sparse:     expected unsigned char [usertype] *dmi_table
>     drivers/firmware/dmi_scan.c:775:19: sparse:     got void [noderef] __iomem *
>>> drivers/firmware/dmi_scan.c:794:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got unsigned char [usertype] *dmi_table @@
>     drivers/firmware/dmi_scan.c:794:9: sparse:     expected void const volatile [noderef] __iomem *addr
>     drivers/firmware/dmi_scan.c:794:9: sparse:     got unsigned char [usertype] *dmi_table
>     drivers/firmware/dmi_scan.c:1108:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected unsigned char [usertype] *buf @@     got void [noderef] __iomem * @@
>     drivers/firmware/dmi_scan.c:1108:13: sparse:     expected unsigned char [usertype] *buf
>     drivers/firmware/dmi_scan.c:1108:13: sparse:     got void [noderef] __iomem *
>     drivers/firmware/dmi_scan.c:1114:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got unsigned char [usertype] *buf @@
>     drivers/firmware/dmi_scan.c:1114:9: sparse:     expected void const volatile [noderef] __iomem *addr
>     drivers/firmware/dmi_scan.c:1114:9: sparse:     got unsigned char [usertype] *buf
> --
>     command-line: note: in included file:
>     builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQUIRE redefined
>     builtin:0:0: sparse: this was the original definition
>     builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_SEQ_CST redefined
>     builtin:0:0: sparse: this was the original definition
>     builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQ_REL redefined
>     builtin:0:0: sparse: this was the original definition
>     builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_RELEASE redefined
>     builtin:0:0: sparse: this was the original definition
>>> drivers/irqchip/irq-loongson-htpic.c:80:20: sparse: sparse: symbol 'htpic_syscore_ops' was not declared. Should it be static?
>     drivers/irqchip/irq-loongson-htpic.c:84:12: sparse: sparse: symbol 'htpic_of_init' was not declared. Should it be static?
> --
>     command-line: note: in included file:
>     builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQUIRE redefined
>     builtin:0:0: sparse: this was the original definition
>     builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_SEQ_CST redefined
>     builtin:0:0: sparse: this was the original definition
>     builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQ_REL redefined
>     builtin:0:0: sparse: this was the original definition
>     builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_RELEASE redefined
>     builtin:0:0: sparse: this was the original definition
>     drivers/pci/controller/pci-ftpci100.c:37:9: sparse: sparse: preprocessor token PCI_IOSIZE redefined
>     drivers/pci/controller/pci-ftpci100.c: note: in included file (through arch/mips/include/asm/addrspace.h, arch/mips/include/asm/barrier.h, arch/mips/include/asm/bitops.h, ...):
>>> arch/mips/include/asm/mach-loongson64/spaces.h:11:9: sparse: this was the original definition
> vim +151 drivers/firmware/dmi_scan.c
>
> 7fce084a0b3e2b drivers/firmware/dmi_scan.c Jean Delvare    2007-11-03  136
> e7a19c5624c66a drivers/firmware/dmi_scan.c Jean Delvare    2009-03-30  137  static int __init dmi_walk_early(void (*decode)(const struct dmi_header *,
> e7a19c5624c66a drivers/firmware/dmi_scan.c Jean Delvare    2009-03-30  138  		void *))
> 7fce084a0b3e2b drivers/firmware/dmi_scan.c Jean Delvare    2007-11-03  139  {
> 7fce084a0b3e2b drivers/firmware/dmi_scan.c Jean Delvare    2007-11-03  140  	u8 *buf;
> 6e0ad59e3d838a drivers/firmware/dmi_scan.c Jean Delvare    2015-06-25  141  	u32 orig_dmi_len = dmi_len;
> 7fce084a0b3e2b drivers/firmware/dmi_scan.c Jean Delvare    2007-11-03  142
> 6e0ad59e3d838a drivers/firmware/dmi_scan.c Jean Delvare    2015-06-25  143  	buf = dmi_early_remap(dmi_base, orig_dmi_len);
> 7fce084a0b3e2b drivers/firmware/dmi_scan.c Jean Delvare    2007-11-03  144  	if (buf == NULL)
> c926820085437a drivers/firmware/dmi_scan.c Andy Lutomirski 2017-06-15  145  		return -ENOMEM;
> 7fce084a0b3e2b drivers/firmware/dmi_scan.c Jean Delvare    2007-11-03  146
> eb4c5ea50e60aa drivers/firmware/dmi_scan.c Ivan Khoronzhuk 2015-06-25  147  	dmi_decode_table(buf, decode, NULL);
> 7fce084a0b3e2b drivers/firmware/dmi_scan.c Jean Delvare    2007-11-03  148
> d114a333874725 drivers/firmware/dmi_scan.c Tony Luck       2012-07-20  149  	add_device_randomness(buf, dmi_len);
> d114a333874725 drivers/firmware/dmi_scan.c Tony Luck       2012-07-20  150
> 6e0ad59e3d838a drivers/firmware/dmi_scan.c Jean Delvare    2015-06-25 @151  	dmi_early_unmap(buf, orig_dmi_len);
> ^1da177e4c3f41 arch/i386/kernel/dmi_scan.c Linus Torvalds  2005-04-16  152  	return 0;
> ^1da177e4c3f41 arch/i386/kernel/dmi_scan.c Linus Torvalds  2005-04-16  153  }
> ^1da177e4c3f41 arch/i386/kernel/dmi_scan.c Linus Torvalds  2005-04-16  154
>
> :::::: The code at line 151 was first introduced by commit
> :::::: 6e0ad59e3d838a2887e7aa657baee5896030d009 firmware: dmi_scan: Trim DMI table length before exporting it
>
> :::::: TO: Jean Delvare <jdelvare@suse.de>
> :::::: CC: Jean Delvare <jdelvare@suse.de>
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

Hi,

It seems that there is no relation between my commit and the sparse warning
"drivers/firmware/dmi_scan.c:151:9: sparse: sparse: incorrect type in 
argument".

I think the following change can make the above warning silent:

diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c
index f191a1f..9e254d9 100644
--- a/drivers/firmware/dmi_scan.c
+++ b/drivers/firmware/dmi_scan.c
@@ -148,7 +148,7 @@ static int __init dmi_walk_early(void 
(*decode)(const struct dmi_header *,

         add_device_randomness(buf, dmi_len);

-       dmi_early_unmap(buf, orig_dmi_len);
+       dmi_early_unmap((u8 __iomem *)buf, orig_dmi_len);
         return 0;
  }

If it is OK, I can send a patch later.

Thanks,
Tiezhu

  reply	other threads:[~2021-07-26 12:53 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-24 14:31 drivers/firmware/dmi_scan.c:151:9: sparse: sparse: incorrect type in argument 1 (different address spaces) kernel test robot
2021-07-24 14:31 ` kernel test robot
2021-07-26 12:53 ` Tiezhu Yang [this message]
2021-07-26 12:53   ` Tiezhu Yang
2021-07-29 14:45   ` Jean Delvare
2021-07-29 14:45     ` Jean Delvare
2021-07-30 12:59     ` Jean Delvare
2021-07-30 12:59       ` Jean Delvare

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=81c31d99-82dc-feb6-1213-2b2fbae7c867@loongson.cn \
    --to=yangtiezhu@loongson.cn \
    --cc=jdelvare@suse.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=tsbogend@alpha.franken.de \
    /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.