All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <yujie.liu@intel.com>
To: Jan Kiszka <jan.kiszka@siemens.com>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	Bjorn Helgaas <helgaas@kernel.org>
Cc: <clang-built-linux@googlegroups.com>, <kbuild-all@lists.01.org>,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] PCI/portdrv: Do not setup up IRQs if there are no users
Date: Sun, 29 Aug 2021 16:29:43 +0800	[thread overview]
Message-ID: <59100586-3531-fe69-9f00-3ed62335596f@intel.com> (raw)
In-Reply-To: <202108221525.NT2Kap5Q-lkp@intel.com>

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

Hi Jan,

I love your patch! Perhaps something to improve:

[auto build test WARNING on pci/next]
[also build test WARNING on v5.14-rc6 next-20210820]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Jan-Kiszka/PCI-portdrv-Do-not-setup-up-IRQs-if-there-are-no-users/20210820-215311
base:   https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
config: arm-randconfig-c002-20210822 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 9e9d70591e72fc6762b4b9a226b68ed1307419bf)
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
         # install arm cross compiling tool for clang build
         # apt-get install binutils-arm-linux-gnueabi
         # https://github.com/0day-ci/linux/commit/30b9aea30a820b153bb866daf79d1738628934d8
         git remote add linux-review https://github.com/0day-ci/linux
         git fetch --no-tags linux-review Jan-Kiszka/PCI-portdrv-Do-not-setup-up-IRQs-if-there-are-no-users/20210820-215311
         git checkout 30b9aea30a820b153bb866daf79d1738628934d8
         # save the attached .config to linux build tree
         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm clang-analyzer

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)

 >> drivers/pci/pcie/portdrv_core.c:364:8: warning: 3rd function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
                    if (!pcie_device_init(dev, service, irqs[i]))
                         ^                              ~~~~~~~
    drivers/pci/pcie/portdrv_core.c:341:6: note: 'irq_services' is 0
            if (irq_services) {
                ^~~~~~~~~~~~
    drivers/pci/pcie/portdrv_core.c:341:2: note: Taking false branch
            if (irq_services) {
            ^
    drivers/pci/pcie/portdrv_core.c:360:2: note: Loop condition is true.  Entering loop body
            for (i = 0; i < PCIE_PORT_DEVICE_MAXSERVICES; i++) {
            ^
    drivers/pci/pcie/portdrv_core.c:362:3: note: Taking false branch
                    if (!(capabilities & service))
                    ^
    drivers/pci/pcie/portdrv_core.c:364:8: warning: 3rd function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
                    if (!pcie_device_init(dev, service, irqs[i]))
                         ^                              ~~~~~~~

vim +364 drivers/pci/pcie/portdrv_core.c

8f3acca9acec15 Bjorn Helgaas     2013-12-19  305
facf6d1627a33b Rafael J. Wysocki 2009-01-01  306  /**
facf6d1627a33b Rafael J. Wysocki 2009-01-01  307   * pcie_port_device_register - register PCI Express port
facf6d1627a33b Rafael J. Wysocki 2009-01-01  308   * @dev: PCI Express port to register
facf6d1627a33b Rafael J. Wysocki 2009-01-01  309   *
facf6d1627a33b Rafael J. Wysocki 2009-01-01  310   * Allocate the port extension structure and register services associated with
facf6d1627a33b Rafael J. Wysocki 2009-01-01  311   * the port.
facf6d1627a33b Rafael J. Wysocki 2009-01-01  312   */
^1da177e4c3f41 Linus Torvalds    2005-04-16  313  int pcie_port_device_register(struct pci_dev *dev)
^1da177e4c3f41 Linus Torvalds    2005-04-16  314  {
30b9aea30a820b Jan Kiszka        2021-08-20  315  	int status, capabilities, irq_services, i, nr_service;
dc5351784eb36f Kenji Kaneshige   2009-11-25  316  	int irqs[PCIE_PORT_DEVICE_MAXSERVICES];
^1da177e4c3f41 Linus Torvalds    2005-04-16  317
1ce5e83063bf38 Kenji Kaneshige   2009-11-25  318  	/* Enable PCI Express port device */
1ce5e83063bf38 Kenji Kaneshige   2009-11-25  319  	status = pci_enable_device(dev);
1ce5e83063bf38 Kenji Kaneshige   2009-11-25  320  	if (status)
694f88ef7ada0d Kenji Kaneshige   2009-11-25  321  		return status;
fe31e69740eddc Rafael J. Wysocki 2010-12-19  322
fe31e69740eddc Rafael J. Wysocki 2010-12-19  323  	/* Get and check PCI Express port services */
fe31e69740eddc Rafael J. Wysocki 2010-12-19  324  	capabilities = get_port_device_capability(dev);
eca67315e0e0d5 Naga Chumbalkar   2011-03-21  325  	if (!capabilities)
fe31e69740eddc Rafael J. Wysocki 2010-12-19  326  		return 0;
fe31e69740eddc Rafael J. Wysocki 2010-12-19  327
1ce5e83063bf38 Kenji Kaneshige   2009-11-25  328  	pci_set_master(dev);
30b9aea30a820b Jan Kiszka        2021-08-20  329
30b9aea30a820b Jan Kiszka        2021-08-20  330  	irq_services = 0;
30b9aea30a820b Jan Kiszka        2021-08-20  331  	if (IS_ENABLED(CONFIG_PCIE_PME))
30b9aea30a820b Jan Kiszka        2021-08-20  332  		irq_services |= PCIE_PORT_SERVICE_PME;
30b9aea30a820b Jan Kiszka        2021-08-20  333  	if (IS_ENABLED(CONFIG_PCIEAER))
30b9aea30a820b Jan Kiszka        2021-08-20  334  		irq_services |= PCIE_PORT_SERVICE_AER;
30b9aea30a820b Jan Kiszka        2021-08-20  335  	if (IS_ENABLED(CONFIG_HOTPLUG_PCI_PCIE))
30b9aea30a820b Jan Kiszka        2021-08-20  336  		irq_services |= PCIE_PORT_SERVICE_HP;
30b9aea30a820b Jan Kiszka        2021-08-20  337  	if (IS_ENABLED(CONFIG_PCIE_DPC))
30b9aea30a820b Jan Kiszka        2021-08-20  338  		irq_services |= PCIE_PORT_SERVICE_DPC;
30b9aea30a820b Jan Kiszka        2021-08-20  339  	irq_services &= capabilities;
30b9aea30a820b Jan Kiszka        2021-08-20  340
30b9aea30a820b Jan Kiszka        2021-08-20  341  	if (irq_services) {
f118c0c3cff4fe Rafael J. Wysocki 2009-01-13  342  		/*
dc5351784eb36f Kenji Kaneshige   2009-11-25  343  		 * Initialize service irqs. Don't use service devices that
dc5351784eb36f Kenji Kaneshige   2009-11-25  344  		 * require interrupts if there is no way to generate them.
30b9aea30a820b Jan Kiszka        2021-08-20  345  		 * However, some drivers may have a polling mode (e.g.
30b9aea30a820b Jan Kiszka        2021-08-20  346  		 * pciehp_poll_mode) that can be used in the absence of irqs.
30b9aea30a820b Jan Kiszka        2021-08-20  347  		 * Allow them to determine if that is to be used.
f118c0c3cff4fe Rafael J. Wysocki 2009-01-13  348  		 */
30b9aea30a820b Jan Kiszka        2021-08-20  349  		status = pcie_init_service_irqs(dev, irqs, irq_services);
dc5351784eb36f Kenji Kaneshige   2009-11-25  350  		if (status) {
30b9aea30a820b Jan Kiszka        2021-08-20  351  			irq_services &= PCIE_PORT_SERVICE_HP;
30b9aea30a820b Jan Kiszka        2021-08-20  352  			if (!irq_services)
1ce5e83063bf38 Kenji Kaneshige   2009-11-25  353  				goto error_disable;
f118c0c3cff4fe Rafael J. Wysocki 2009-01-13  354  		}
30b9aea30a820b Jan Kiszka        2021-08-20  355  	}
^1da177e4c3f41 Linus Torvalds    2005-04-16  356
^1da177e4c3f41 Linus Torvalds    2005-04-16  357  	/* Allocate child services if any */
40717c39b1e6c0 Kenji Kaneshige   2009-11-25  358  	status = -ENODEV;
40717c39b1e6c0 Kenji Kaneshige   2009-11-25  359  	nr_service = 0;
40717c39b1e6c0 Kenji Kaneshige   2009-11-25  360  	for (i = 0; i < PCIE_PORT_DEVICE_MAXSERVICES; i++) {
90e9cd50f7feed Rafael J. Wysocki 2009-01-13  361  		int service = 1 << i;
90e9cd50f7feed Rafael J. Wysocki 2009-01-13  362  		if (!(capabilities & service))
90e9cd50f7feed Rafael J. Wysocki 2009-01-13  363  			continue;
40717c39b1e6c0 Kenji Kaneshige   2009-11-25 @364  		if (!pcie_device_init(dev, service, irqs[i]))
40717c39b1e6c0 Kenji Kaneshige   2009-11-25  365  			nr_service++;
f118c0c3cff4fe Rafael J. Wysocki 2009-01-13  366  	}
40717c39b1e6c0 Kenji Kaneshige   2009-11-25  367  	if (!nr_service)
fbb5de70bbe13e Kenji Kaneshige   2009-11-25  368  		goto error_cleanup_irqs;
40717c39b1e6c0 Kenji Kaneshige   2009-11-25  369
^1da177e4c3f41 Linus Torvalds    2005-04-16  370  	return 0;
f118c0c3cff4fe Rafael J. Wysocki 2009-01-13  371
fbb5de70bbe13e Kenji Kaneshige   2009-11-25  372  error_cleanup_irqs:
3674cc49da9a8f Christoph Hellwig 2017-02-01  373  	pci_free_irq_vectors(dev);
1ce5e83063bf38 Kenji Kaneshige   2009-11-25  374  error_disable:
1ce5e83063bf38 Kenji Kaneshige   2009-11-25  375  	pci_disable_device(dev);
f118c0c3cff4fe Rafael J. Wysocki 2009-01-13  376  	return status;
^1da177e4c3f41 Linus Torvalds    2005-04-16  377  }
^1da177e4c3f41 Linus Torvalds    2005-04-16  378

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 37320 bytes --]

[-- Attachment #3: Attached Message Part --]
[-- Type: text/plain, Size: 154 bytes --]

_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-leave@lists.01.org


WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <yujie.liu@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH] PCI/portdrv: Do not setup up IRQs if there are no users
Date: Sun, 29 Aug 2021 16:29:43 +0800	[thread overview]
Message-ID: <59100586-3531-fe69-9f00-3ed62335596f@intel.com> (raw)
In-Reply-To: <202108221525.NT2Kap5Q-lkp@intel.com>

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

Hi Jan,

I love your patch! Perhaps something to improve:

[auto build test WARNING on pci/next]
[also build test WARNING on v5.14-rc6 next-20210820]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Jan-Kiszka/PCI-portdrv-Do-not-setup-up-IRQs-if-there-are-no-users/20210820-215311
base:   https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
config: arm-randconfig-c002-20210822 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 9e9d70591e72fc6762b4b9a226b68ed1307419bf)
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
         # install arm cross compiling tool for clang build
         # apt-get install binutils-arm-linux-gnueabi
         # https://github.com/0day-ci/linux/commit/30b9aea30a820b153bb866daf79d1738628934d8
         git remote add linux-review https://github.com/0day-ci/linux
         git fetch --no-tags linux-review Jan-Kiszka/PCI-portdrv-Do-not-setup-up-IRQs-if-there-are-no-users/20210820-215311
         git checkout 30b9aea30a820b153bb866daf79d1738628934d8
         # save the attached .config to linux build tree
         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm clang-analyzer

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)

 >> drivers/pci/pcie/portdrv_core.c:364:8: warning: 3rd function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
                    if (!pcie_device_init(dev, service, irqs[i]))
                         ^                              ~~~~~~~
    drivers/pci/pcie/portdrv_core.c:341:6: note: 'irq_services' is 0
            if (irq_services) {
                ^~~~~~~~~~~~
    drivers/pci/pcie/portdrv_core.c:341:2: note: Taking false branch
            if (irq_services) {
            ^
    drivers/pci/pcie/portdrv_core.c:360:2: note: Loop condition is true.  Entering loop body
            for (i = 0; i < PCIE_PORT_DEVICE_MAXSERVICES; i++) {
            ^
    drivers/pci/pcie/portdrv_core.c:362:3: note: Taking false branch
                    if (!(capabilities & service))
                    ^
    drivers/pci/pcie/portdrv_core.c:364:8: warning: 3rd function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
                    if (!pcie_device_init(dev, service, irqs[i]))
                         ^                              ~~~~~~~

vim +364 drivers/pci/pcie/portdrv_core.c

8f3acca9acec15 Bjorn Helgaas     2013-12-19  305
facf6d1627a33b Rafael J. Wysocki 2009-01-01  306  /**
facf6d1627a33b Rafael J. Wysocki 2009-01-01  307   * pcie_port_device_register - register PCI Express port
facf6d1627a33b Rafael J. Wysocki 2009-01-01  308   * @dev: PCI Express port to register
facf6d1627a33b Rafael J. Wysocki 2009-01-01  309   *
facf6d1627a33b Rafael J. Wysocki 2009-01-01  310   * Allocate the port extension structure and register services associated with
facf6d1627a33b Rafael J. Wysocki 2009-01-01  311   * the port.
facf6d1627a33b Rafael J. Wysocki 2009-01-01  312   */
^1da177e4c3f41 Linus Torvalds    2005-04-16  313  int pcie_port_device_register(struct pci_dev *dev)
^1da177e4c3f41 Linus Torvalds    2005-04-16  314  {
30b9aea30a820b Jan Kiszka        2021-08-20  315  	int status, capabilities, irq_services, i, nr_service;
dc5351784eb36f Kenji Kaneshige   2009-11-25  316  	int irqs[PCIE_PORT_DEVICE_MAXSERVICES];
^1da177e4c3f41 Linus Torvalds    2005-04-16  317
1ce5e83063bf38 Kenji Kaneshige   2009-11-25  318  	/* Enable PCI Express port device */
1ce5e83063bf38 Kenji Kaneshige   2009-11-25  319  	status = pci_enable_device(dev);
1ce5e83063bf38 Kenji Kaneshige   2009-11-25  320  	if (status)
694f88ef7ada0d Kenji Kaneshige   2009-11-25  321  		return status;
fe31e69740eddc Rafael J. Wysocki 2010-12-19  322
fe31e69740eddc Rafael J. Wysocki 2010-12-19  323  	/* Get and check PCI Express port services */
fe31e69740eddc Rafael J. Wysocki 2010-12-19  324  	capabilities = get_port_device_capability(dev);
eca67315e0e0d5 Naga Chumbalkar   2011-03-21  325  	if (!capabilities)
fe31e69740eddc Rafael J. Wysocki 2010-12-19  326  		return 0;
fe31e69740eddc Rafael J. Wysocki 2010-12-19  327
1ce5e83063bf38 Kenji Kaneshige   2009-11-25  328  	pci_set_master(dev);
30b9aea30a820b Jan Kiszka        2021-08-20  329
30b9aea30a820b Jan Kiszka        2021-08-20  330  	irq_services = 0;
30b9aea30a820b Jan Kiszka        2021-08-20  331  	if (IS_ENABLED(CONFIG_PCIE_PME))
30b9aea30a820b Jan Kiszka        2021-08-20  332  		irq_services |= PCIE_PORT_SERVICE_PME;
30b9aea30a820b Jan Kiszka        2021-08-20  333  	if (IS_ENABLED(CONFIG_PCIEAER))
30b9aea30a820b Jan Kiszka        2021-08-20  334  		irq_services |= PCIE_PORT_SERVICE_AER;
30b9aea30a820b Jan Kiszka        2021-08-20  335  	if (IS_ENABLED(CONFIG_HOTPLUG_PCI_PCIE))
30b9aea30a820b Jan Kiszka        2021-08-20  336  		irq_services |= PCIE_PORT_SERVICE_HP;
30b9aea30a820b Jan Kiszka        2021-08-20  337  	if (IS_ENABLED(CONFIG_PCIE_DPC))
30b9aea30a820b Jan Kiszka        2021-08-20  338  		irq_services |= PCIE_PORT_SERVICE_DPC;
30b9aea30a820b Jan Kiszka        2021-08-20  339  	irq_services &= capabilities;
30b9aea30a820b Jan Kiszka        2021-08-20  340
30b9aea30a820b Jan Kiszka        2021-08-20  341  	if (irq_services) {
f118c0c3cff4fe Rafael J. Wysocki 2009-01-13  342  		/*
dc5351784eb36f Kenji Kaneshige   2009-11-25  343  		 * Initialize service irqs. Don't use service devices that
dc5351784eb36f Kenji Kaneshige   2009-11-25  344  		 * require interrupts if there is no way to generate them.
30b9aea30a820b Jan Kiszka        2021-08-20  345  		 * However, some drivers may have a polling mode (e.g.
30b9aea30a820b Jan Kiszka        2021-08-20  346  		 * pciehp_poll_mode) that can be used in the absence of irqs.
30b9aea30a820b Jan Kiszka        2021-08-20  347  		 * Allow them to determine if that is to be used.
f118c0c3cff4fe Rafael J. Wysocki 2009-01-13  348  		 */
30b9aea30a820b Jan Kiszka        2021-08-20  349  		status = pcie_init_service_irqs(dev, irqs, irq_services);
dc5351784eb36f Kenji Kaneshige   2009-11-25  350  		if (status) {
30b9aea30a820b Jan Kiszka        2021-08-20  351  			irq_services &= PCIE_PORT_SERVICE_HP;
30b9aea30a820b Jan Kiszka        2021-08-20  352  			if (!irq_services)
1ce5e83063bf38 Kenji Kaneshige   2009-11-25  353  				goto error_disable;
f118c0c3cff4fe Rafael J. Wysocki 2009-01-13  354  		}
30b9aea30a820b Jan Kiszka        2021-08-20  355  	}
^1da177e4c3f41 Linus Torvalds    2005-04-16  356
^1da177e4c3f41 Linus Torvalds    2005-04-16  357  	/* Allocate child services if any */
40717c39b1e6c0 Kenji Kaneshige   2009-11-25  358  	status = -ENODEV;
40717c39b1e6c0 Kenji Kaneshige   2009-11-25  359  	nr_service = 0;
40717c39b1e6c0 Kenji Kaneshige   2009-11-25  360  	for (i = 0; i < PCIE_PORT_DEVICE_MAXSERVICES; i++) {
90e9cd50f7feed Rafael J. Wysocki 2009-01-13  361  		int service = 1 << i;
90e9cd50f7feed Rafael J. Wysocki 2009-01-13  362  		if (!(capabilities & service))
90e9cd50f7feed Rafael J. Wysocki 2009-01-13  363  			continue;
40717c39b1e6c0 Kenji Kaneshige   2009-11-25 @364  		if (!pcie_device_init(dev, service, irqs[i]))
40717c39b1e6c0 Kenji Kaneshige   2009-11-25  365  			nr_service++;
f118c0c3cff4fe Rafael J. Wysocki 2009-01-13  366  	}
40717c39b1e6c0 Kenji Kaneshige   2009-11-25  367  	if (!nr_service)
fbb5de70bbe13e Kenji Kaneshige   2009-11-25  368  		goto error_cleanup_irqs;
40717c39b1e6c0 Kenji Kaneshige   2009-11-25  369
^1da177e4c3f41 Linus Torvalds    2005-04-16  370  	return 0;
f118c0c3cff4fe Rafael J. Wysocki 2009-01-13  371
fbb5de70bbe13e Kenji Kaneshige   2009-11-25  372  error_cleanup_irqs:
3674cc49da9a8f Christoph Hellwig 2017-02-01  373  	pci_free_irq_vectors(dev);
1ce5e83063bf38 Kenji Kaneshige   2009-11-25  374  error_disable:
1ce5e83063bf38 Kenji Kaneshige   2009-11-25  375  	pci_disable_device(dev);
f118c0c3cff4fe Rafael J. Wysocki 2009-01-13  376  	return status;
^1da177e4c3f41 Linus Torvalds    2005-04-16  377  }
^1da177e4c3f41 Linus Torvalds    2005-04-16  378

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 37320 bytes --]

[-- Attachment #3: AttachedMessagePart.ksh --]
[-- Type: text/plain, Size: 154 bytes --]

_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-leave@lists.01.org


  reply	other threads:[~2021-08-29  8:30 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-22  7:35 [PATCH] PCI/portdrv: Do not setup up IRQs if there are no users kernel test robot
2021-08-29  8:29 ` kernel test robot [this message]
2021-08-29  8:29   ` kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2021-08-20 13:52 Jan Kiszka
2021-08-20 14:45 ` Lukas Wunner
2021-08-20 14:47   ` Jan Kiszka

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=59100586-3531-fe69-9f00-3ed62335596f@intel.com \
    --to=yujie.liu@intel.com \
    --cc=clang-built-linux@googlegroups.com \
    --cc=helgaas@kernel.org \
    --cc=jan.kiszka@siemens.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    /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.