All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org
Subject: Re: [RFC PATCH 2/2] Make cmdq_en attribute writeable
Date: Mon, 15 Feb 2021 16:49:34 +0300	[thread overview]
Message-ID: <20210215134934.GT2087@kadam> (raw)
In-Reply-To: <20210215003249.GA12303@lupo-laptop>

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

Hi Luca,

url:    https://github.com/0day-ci/linux/commits/Luca-Porzio/Support-temporarily-disable-of-the-CMDQ-mode/20210215-083730
base:    07f7e57c63aaa2afb4ea31edef05e08699a63a00
config: i386-randconfig-m021-20210215 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

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

New smatch warnings:
drivers/mmc/core/mmc.c:870 mmc_cmdq_setup() error: uninitialized symbol 'err'.
drivers/mmc/core/mmc.c:889 cmdq_en_store() warn: variable dereferenced before check 'card' (see line 885)

vim +/err +870 drivers/mmc/core/mmc.c

07a9ce0e702520 Luca Porzio 2021-02-15  802  static int mmc_cmdq_setup(struct mmc_host *host, struct mmc_card *card)
07a9ce0e702520 Luca Porzio 2021-02-15  803  {
07a9ce0e702520 Luca Porzio 2021-02-15  804  	int err;
07a9ce0e702520 Luca Porzio 2021-02-15  805  
07a9ce0e702520 Luca Porzio 2021-02-15  806  	/* Check HW support */
07a9ce0e702520 Luca Porzio 2021-02-15  807  	if (!card->ext_csd.cmdq_support || !(host->caps2 & MMC_CAP2_CQE))
07a9ce0e702520 Luca Porzio 2021-02-15  808  		card->force_disable_cmdq = true;
07a9ce0e702520 Luca Porzio 2021-02-15  809  
07a9ce0e702520 Luca Porzio 2021-02-15  810  	/* Enable/Disable  CMDQ mode */
07a9ce0e702520 Luca Porzio 2021-02-15  811  	if (!card->ext_csd.cmdq_en && !card->force_disable_cmdq) {
07a9ce0e702520 Luca Porzio 2021-02-15  812  		err = mmc_cmdq_enable(card);
07a9ce0e702520 Luca Porzio 2021-02-15  813  		if (err && err != -EBADMSG)
07a9ce0e702520 Luca Porzio 2021-02-15  814  			return err;
07a9ce0e702520 Luca Porzio 2021-02-15  815  		if (err) {
07a9ce0e702520 Luca Porzio 2021-02-15  816  			pr_warn("%s: Enabling CMDQ failed\n",
07a9ce0e702520 Luca Porzio 2021-02-15  817  			    mmc_hostname(card->host));
07a9ce0e702520 Luca Porzio 2021-02-15  818  			card->ext_csd.cmdq_support = false;
07a9ce0e702520 Luca Porzio 2021-02-15  819  			card->ext_csd.cmdq_depth = 0;
07a9ce0e702520 Luca Porzio 2021-02-15  820  		}
07a9ce0e702520 Luca Porzio 2021-02-15  821  
07a9ce0e702520 Luca Porzio 2021-02-15  822  	} else if (card->ext_csd.cmdq_en && card->force_disable_cmdq) {
07a9ce0e702520 Luca Porzio 2021-02-15  823  		err = mmc_cmdq_disable(card);
07a9ce0e702520 Luca Porzio 2021-02-15  824  		if (err) {
07a9ce0e702520 Luca Porzio 2021-02-15  825  			pr_warn("%s: Disabling CMDQ failed, error %d\n",
07a9ce0e702520 Luca Porzio 2021-02-15  826  			    mmc_hostname(card->host), err);
07a9ce0e702520 Luca Porzio 2021-02-15  827  			err = 0;
07a9ce0e702520 Luca Porzio 2021-02-15  828  		}
07a9ce0e702520 Luca Porzio 2021-02-15  829  	}

"err not set on else path"

07a9ce0e702520 Luca Porzio 2021-02-15  830  
07a9ce0e702520 Luca Porzio 2021-02-15  831  	/*
07a9ce0e702520 Luca Porzio 2021-02-15  832  	 * In some cases (e.g. RPMB or mmc_test), the Command Queue must be
07a9ce0e702520 Luca Porzio 2021-02-15  833  	 * disabled for a time, so a flag is needed to indicate to re-enable the
07a9ce0e702520 Luca Porzio 2021-02-15  834  	 * Command Queue.
07a9ce0e702520 Luca Porzio 2021-02-15  835  	 */
07a9ce0e702520 Luca Porzio 2021-02-15  836  	card->reenable_cmdq = card->ext_csd.cmdq_en;
07a9ce0e702520 Luca Porzio 2021-02-15  837  
07a9ce0e702520 Luca Porzio 2021-02-15  838  	/* Enable/Disable Host CQE */
07a9ce0e702520 Luca Porzio 2021-02-15  839  	if (!card->force_disable_cmdq) {
07a9ce0e702520 Luca Porzio 2021-02-15  840  
07a9ce0e702520 Luca Porzio 2021-02-15  841  		if (host->cqe_ops && !host->cqe_enabled) {
07a9ce0e702520 Luca Porzio 2021-02-15  842  			err = host->cqe_ops->cqe_enable(host, card);
07a9ce0e702520 Luca Porzio 2021-02-15  843  			if (!err) {
07a9ce0e702520 Luca Porzio 2021-02-15  844  				host->cqe_enabled = true;
07a9ce0e702520 Luca Porzio 2021-02-15  845  
07a9ce0e702520 Luca Porzio 2021-02-15  846  				if (card->ext_csd.cmdq_en) {
07a9ce0e702520 Luca Porzio 2021-02-15  847  					pr_info("%s: Command Queue Engine enabled\n",
07a9ce0e702520 Luca Porzio 2021-02-15  848  					    mmc_hostname(host));
07a9ce0e702520 Luca Porzio 2021-02-15  849  				} else {
07a9ce0e702520 Luca Porzio 2021-02-15  850  					host->hsq_enabled = true;
07a9ce0e702520 Luca Porzio 2021-02-15  851  					pr_info("%s: Host Software Queue enabled\n",
07a9ce0e702520 Luca Porzio 2021-02-15  852  					    mmc_hostname(host));
07a9ce0e702520 Luca Porzio 2021-02-15  853  				}
07a9ce0e702520 Luca Porzio 2021-02-15  854  			}
07a9ce0e702520 Luca Porzio 2021-02-15  855  		}

"err" not set on this else path either.

07a9ce0e702520 Luca Porzio 2021-02-15  856  
07a9ce0e702520 Luca Porzio 2021-02-15  857  	} else {
07a9ce0e702520 Luca Porzio 2021-02-15  858  
07a9ce0e702520 Luca Porzio 2021-02-15  859  		if (host->cqe_enabled) {
07a9ce0e702520 Luca Porzio 2021-02-15  860  			host->cqe_ops->cqe_disable(host);
07a9ce0e702520 Luca Porzio 2021-02-15  861  			host->cqe_enabled = false;
07a9ce0e702520 Luca Porzio 2021-02-15  862  			pr_info("%s: Command Queue Engine disabled\n",
07a9ce0e702520 Luca Porzio 2021-02-15  863  			    mmc_hostname(host));
07a9ce0e702520 Luca Porzio 2021-02-15  864  		}
07a9ce0e702520 Luca Porzio 2021-02-15  865  
07a9ce0e702520 Luca Porzio 2021-02-15  866  		host->hsq_enabled = false;
07a9ce0e702520 Luca Porzio 2021-02-15  867  		err = 0;
07a9ce0e702520 Luca Porzio 2021-02-15  868  	}
07a9ce0e702520 Luca Porzio 2021-02-15  869  
07a9ce0e702520 Luca Porzio 2021-02-15 @870  	return err;
07a9ce0e702520 Luca Porzio 2021-02-15  871  }
07a9ce0e702520 Luca Porzio 2021-02-15  872  
07a9ce0e702520 Luca Porzio 2021-02-15  873  
07a9ce0e702520 Luca Porzio 2021-02-15  874  static ssize_t cmdq_en_show(struct device *dev, struct device_attribute *attr, char *buf)
07a9ce0e702520 Luca Porzio 2021-02-15  875  {
07a9ce0e702520 Luca Porzio 2021-02-15  876  	struct mmc_card *card = mmc_dev_to_card(dev);
07a9ce0e702520 Luca Porzio 2021-02-15  877  
07a9ce0e702520 Luca Porzio 2021-02-15  878  	return sprintf(buf, "%d\n", card->ext_csd.cmdq_en);
07a9ce0e702520 Luca Porzio 2021-02-15  879  }
07a9ce0e702520 Luca Porzio 2021-02-15  880  
07a9ce0e702520 Luca Porzio 2021-02-15  881  static ssize_t cmdq_en_store(struct device *dev, struct device_attribute *attr,
07a9ce0e702520 Luca Porzio 2021-02-15  882  				 const char *buf, size_t count)
07a9ce0e702520 Luca Porzio 2021-02-15  883  {
07a9ce0e702520 Luca Porzio 2021-02-15  884  	struct mmc_card *card = mmc_dev_to_card(dev);
07a9ce0e702520 Luca Porzio 2021-02-15 @885  	struct mmc_host *host = card->host;
                                                                        ^^^^^^^^^^
Dereferences "card"

07a9ce0e702520 Luca Porzio 2021-02-15  886  	unsigned long enable;
07a9ce0e702520 Luca Porzio 2021-02-15  887  	int err;
07a9ce0e702520 Luca Porzio 2021-02-15  888  
07a9ce0e702520 Luca Porzio 2021-02-15 @889  	if (!card || kstrtoul(buf, 0, &enable))
                                                    ^^^^^

Checked too late.

07a9ce0e702520 Luca Porzio 2021-02-15  890  		return -EINVAL;
07a9ce0e702520 Luca Porzio 2021-02-15  891  	if (!card->ext_csd.cmdq_support)
07a9ce0e702520 Luca Porzio 2021-02-15  892  		return -EOPNOTSUPP;
07a9ce0e702520 Luca Porzio 2021-02-15  893  
07a9ce0e702520 Luca Porzio 2021-02-15  894  	enable = !!enable;
07a9ce0e702520 Luca Porzio 2021-02-15  895  	if (enable == card->ext_csd.cmdq_en)
07a9ce0e702520 Luca Porzio 2021-02-15  896  		return count;
07a9ce0e702520 Luca Porzio 2021-02-15  897  
07a9ce0e702520 Luca Porzio 2021-02-15  898  	mmc_get_card(card, NULL);
07a9ce0e702520 Luca Porzio 2021-02-15  899  	card->force_disable_cmdq = !enable;
07a9ce0e702520 Luca Porzio 2021-02-15  900  	err = mmc_cmdq_setup(host, card);
07a9ce0e702520 Luca Porzio 2021-02-15  901  	mmc_put_card(card, NULL);
07a9ce0e702520 Luca Porzio 2021-02-15  902  
07a9ce0e702520 Luca Porzio 2021-02-15  903  	if (err)
07a9ce0e702520 Luca Porzio 2021-02-15  904  		return err;
07a9ce0e702520 Luca Porzio 2021-02-15  905  	else
07a9ce0e702520 Luca Porzio 2021-02-15  906  		return count;
07a9ce0e702520 Luca Porzio 2021-02-15  907  }

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

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

WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild-all@lists.01.org
Subject: Re: [RFC PATCH 2/2] Make cmdq_en attribute writeable
Date: Mon, 15 Feb 2021 16:49:34 +0300	[thread overview]
Message-ID: <20210215134934.GT2087@kadam> (raw)
In-Reply-To: <20210215003249.GA12303@lupo-laptop>

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

Hi Luca,

url:    https://github.com/0day-ci/linux/commits/Luca-Porzio/Support-temporarily-disable-of-the-CMDQ-mode/20210215-083730
base:    07f7e57c63aaa2afb4ea31edef05e08699a63a00
config: i386-randconfig-m021-20210215 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

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

New smatch warnings:
drivers/mmc/core/mmc.c:870 mmc_cmdq_setup() error: uninitialized symbol 'err'.
drivers/mmc/core/mmc.c:889 cmdq_en_store() warn: variable dereferenced before check 'card' (see line 885)

vim +/err +870 drivers/mmc/core/mmc.c

07a9ce0e702520 Luca Porzio 2021-02-15  802  static int mmc_cmdq_setup(struct mmc_host *host, struct mmc_card *card)
07a9ce0e702520 Luca Porzio 2021-02-15  803  {
07a9ce0e702520 Luca Porzio 2021-02-15  804  	int err;
07a9ce0e702520 Luca Porzio 2021-02-15  805  
07a9ce0e702520 Luca Porzio 2021-02-15  806  	/* Check HW support */
07a9ce0e702520 Luca Porzio 2021-02-15  807  	if (!card->ext_csd.cmdq_support || !(host->caps2 & MMC_CAP2_CQE))
07a9ce0e702520 Luca Porzio 2021-02-15  808  		card->force_disable_cmdq = true;
07a9ce0e702520 Luca Porzio 2021-02-15  809  
07a9ce0e702520 Luca Porzio 2021-02-15  810  	/* Enable/Disable  CMDQ mode */
07a9ce0e702520 Luca Porzio 2021-02-15  811  	if (!card->ext_csd.cmdq_en && !card->force_disable_cmdq) {
07a9ce0e702520 Luca Porzio 2021-02-15  812  		err = mmc_cmdq_enable(card);
07a9ce0e702520 Luca Porzio 2021-02-15  813  		if (err && err != -EBADMSG)
07a9ce0e702520 Luca Porzio 2021-02-15  814  			return err;
07a9ce0e702520 Luca Porzio 2021-02-15  815  		if (err) {
07a9ce0e702520 Luca Porzio 2021-02-15  816  			pr_warn("%s: Enabling CMDQ failed\n",
07a9ce0e702520 Luca Porzio 2021-02-15  817  			    mmc_hostname(card->host));
07a9ce0e702520 Luca Porzio 2021-02-15  818  			card->ext_csd.cmdq_support = false;
07a9ce0e702520 Luca Porzio 2021-02-15  819  			card->ext_csd.cmdq_depth = 0;
07a9ce0e702520 Luca Porzio 2021-02-15  820  		}
07a9ce0e702520 Luca Porzio 2021-02-15  821  
07a9ce0e702520 Luca Porzio 2021-02-15  822  	} else if (card->ext_csd.cmdq_en && card->force_disable_cmdq) {
07a9ce0e702520 Luca Porzio 2021-02-15  823  		err = mmc_cmdq_disable(card);
07a9ce0e702520 Luca Porzio 2021-02-15  824  		if (err) {
07a9ce0e702520 Luca Porzio 2021-02-15  825  			pr_warn("%s: Disabling CMDQ failed, error %d\n",
07a9ce0e702520 Luca Porzio 2021-02-15  826  			    mmc_hostname(card->host), err);
07a9ce0e702520 Luca Porzio 2021-02-15  827  			err = 0;
07a9ce0e702520 Luca Porzio 2021-02-15  828  		}
07a9ce0e702520 Luca Porzio 2021-02-15  829  	}

"err not set on else path"

07a9ce0e702520 Luca Porzio 2021-02-15  830  
07a9ce0e702520 Luca Porzio 2021-02-15  831  	/*
07a9ce0e702520 Luca Porzio 2021-02-15  832  	 * In some cases (e.g. RPMB or mmc_test), the Command Queue must be
07a9ce0e702520 Luca Porzio 2021-02-15  833  	 * disabled for a time, so a flag is needed to indicate to re-enable the
07a9ce0e702520 Luca Porzio 2021-02-15  834  	 * Command Queue.
07a9ce0e702520 Luca Porzio 2021-02-15  835  	 */
07a9ce0e702520 Luca Porzio 2021-02-15  836  	card->reenable_cmdq = card->ext_csd.cmdq_en;
07a9ce0e702520 Luca Porzio 2021-02-15  837  
07a9ce0e702520 Luca Porzio 2021-02-15  838  	/* Enable/Disable Host CQE */
07a9ce0e702520 Luca Porzio 2021-02-15  839  	if (!card->force_disable_cmdq) {
07a9ce0e702520 Luca Porzio 2021-02-15  840  
07a9ce0e702520 Luca Porzio 2021-02-15  841  		if (host->cqe_ops && !host->cqe_enabled) {
07a9ce0e702520 Luca Porzio 2021-02-15  842  			err = host->cqe_ops->cqe_enable(host, card);
07a9ce0e702520 Luca Porzio 2021-02-15  843  			if (!err) {
07a9ce0e702520 Luca Porzio 2021-02-15  844  				host->cqe_enabled = true;
07a9ce0e702520 Luca Porzio 2021-02-15  845  
07a9ce0e702520 Luca Porzio 2021-02-15  846  				if (card->ext_csd.cmdq_en) {
07a9ce0e702520 Luca Porzio 2021-02-15  847  					pr_info("%s: Command Queue Engine enabled\n",
07a9ce0e702520 Luca Porzio 2021-02-15  848  					    mmc_hostname(host));
07a9ce0e702520 Luca Porzio 2021-02-15  849  				} else {
07a9ce0e702520 Luca Porzio 2021-02-15  850  					host->hsq_enabled = true;
07a9ce0e702520 Luca Porzio 2021-02-15  851  					pr_info("%s: Host Software Queue enabled\n",
07a9ce0e702520 Luca Porzio 2021-02-15  852  					    mmc_hostname(host));
07a9ce0e702520 Luca Porzio 2021-02-15  853  				}
07a9ce0e702520 Luca Porzio 2021-02-15  854  			}
07a9ce0e702520 Luca Porzio 2021-02-15  855  		}

"err" not set on this else path either.

07a9ce0e702520 Luca Porzio 2021-02-15  856  
07a9ce0e702520 Luca Porzio 2021-02-15  857  	} else {
07a9ce0e702520 Luca Porzio 2021-02-15  858  
07a9ce0e702520 Luca Porzio 2021-02-15  859  		if (host->cqe_enabled) {
07a9ce0e702520 Luca Porzio 2021-02-15  860  			host->cqe_ops->cqe_disable(host);
07a9ce0e702520 Luca Porzio 2021-02-15  861  			host->cqe_enabled = false;
07a9ce0e702520 Luca Porzio 2021-02-15  862  			pr_info("%s: Command Queue Engine disabled\n",
07a9ce0e702520 Luca Porzio 2021-02-15  863  			    mmc_hostname(host));
07a9ce0e702520 Luca Porzio 2021-02-15  864  		}
07a9ce0e702520 Luca Porzio 2021-02-15  865  
07a9ce0e702520 Luca Porzio 2021-02-15  866  		host->hsq_enabled = false;
07a9ce0e702520 Luca Porzio 2021-02-15  867  		err = 0;
07a9ce0e702520 Luca Porzio 2021-02-15  868  	}
07a9ce0e702520 Luca Porzio 2021-02-15  869  
07a9ce0e702520 Luca Porzio 2021-02-15 @870  	return err;
07a9ce0e702520 Luca Porzio 2021-02-15  871  }
07a9ce0e702520 Luca Porzio 2021-02-15  872  
07a9ce0e702520 Luca Porzio 2021-02-15  873  
07a9ce0e702520 Luca Porzio 2021-02-15  874  static ssize_t cmdq_en_show(struct device *dev, struct device_attribute *attr, char *buf)
07a9ce0e702520 Luca Porzio 2021-02-15  875  {
07a9ce0e702520 Luca Porzio 2021-02-15  876  	struct mmc_card *card = mmc_dev_to_card(dev);
07a9ce0e702520 Luca Porzio 2021-02-15  877  
07a9ce0e702520 Luca Porzio 2021-02-15  878  	return sprintf(buf, "%d\n", card->ext_csd.cmdq_en);
07a9ce0e702520 Luca Porzio 2021-02-15  879  }
07a9ce0e702520 Luca Porzio 2021-02-15  880  
07a9ce0e702520 Luca Porzio 2021-02-15  881  static ssize_t cmdq_en_store(struct device *dev, struct device_attribute *attr,
07a9ce0e702520 Luca Porzio 2021-02-15  882  				 const char *buf, size_t count)
07a9ce0e702520 Luca Porzio 2021-02-15  883  {
07a9ce0e702520 Luca Porzio 2021-02-15  884  	struct mmc_card *card = mmc_dev_to_card(dev);
07a9ce0e702520 Luca Porzio 2021-02-15 @885  	struct mmc_host *host = card->host;
                                                                        ^^^^^^^^^^
Dereferences "card"

07a9ce0e702520 Luca Porzio 2021-02-15  886  	unsigned long enable;
07a9ce0e702520 Luca Porzio 2021-02-15  887  	int err;
07a9ce0e702520 Luca Porzio 2021-02-15  888  
07a9ce0e702520 Luca Porzio 2021-02-15 @889  	if (!card || kstrtoul(buf, 0, &enable))
                                                    ^^^^^

Checked too late.

07a9ce0e702520 Luca Porzio 2021-02-15  890  		return -EINVAL;
07a9ce0e702520 Luca Porzio 2021-02-15  891  	if (!card->ext_csd.cmdq_support)
07a9ce0e702520 Luca Porzio 2021-02-15  892  		return -EOPNOTSUPP;
07a9ce0e702520 Luca Porzio 2021-02-15  893  
07a9ce0e702520 Luca Porzio 2021-02-15  894  	enable = !!enable;
07a9ce0e702520 Luca Porzio 2021-02-15  895  	if (enable == card->ext_csd.cmdq_en)
07a9ce0e702520 Luca Porzio 2021-02-15  896  		return count;
07a9ce0e702520 Luca Porzio 2021-02-15  897  
07a9ce0e702520 Luca Porzio 2021-02-15  898  	mmc_get_card(card, NULL);
07a9ce0e702520 Luca Porzio 2021-02-15  899  	card->force_disable_cmdq = !enable;
07a9ce0e702520 Luca Porzio 2021-02-15  900  	err = mmc_cmdq_setup(host, card);
07a9ce0e702520 Luca Porzio 2021-02-15  901  	mmc_put_card(card, NULL);
07a9ce0e702520 Luca Porzio 2021-02-15  902  
07a9ce0e702520 Luca Porzio 2021-02-15  903  	if (err)
07a9ce0e702520 Luca Porzio 2021-02-15  904  		return err;
07a9ce0e702520 Luca Porzio 2021-02-15  905  	else
07a9ce0e702520 Luca Porzio 2021-02-15  906  		return count;
07a9ce0e702520 Luca Porzio 2021-02-15  907  }

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

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

  reply	other threads:[~2021-02-15 13:49 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-15  0:32 [RFC PATCH 2/2] Make cmdq_en attribute writeable Luca Porzio
2021-02-15 13:49 ` Dan Carpenter [this message]
2021-02-15 13:49   ` Dan Carpenter
2021-02-17 13:04 ` kernel test robot
2021-03-02 10:46 ` Ulf Hansson
2021-03-10  8:54   ` Adrian Hunter
2021-03-14 22:33     ` [EXT] " Luca Porzio (lporzio)
2021-03-15  7:11       ` Adrian Hunter
2021-03-08 17:05 ` Ulf Hansson
     [not found]   ` <CABhGgDPpUXPHJ49E_ku5N-fO=GWZKTdQQUGugAruG6y2=J1YgA@mail.gmail.com>
2021-03-09 15:47     ` Ulf Hansson
2021-03-14 22:26       ` [EXT] " Luca Porzio (lporzio)
2021-02-15  2:21 kernel test robot
2021-02-15  3:09 kernel test robot

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=20210215134934.GT2087@kadam \
    --to=dan.carpenter@oracle.com \
    --cc=kbuild@lists.01.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.