* [PATCH] nvme: add command id quirk for apple controllers
@ 2021-09-27 15:35 ` Keith Busch
0 siblings, 0 replies; 13+ messages in thread
From: Keith Busch @ 2021-09-27 15:35 UTC (permalink / raw)
To: linux-nvme, sagi, hch
Cc: linux-kernel, Keith Busch, Sven Peter, Orlando Chamberlain, Aditya Garg
Some apple controllers use the command id as an index to implementation
specific data structures and will fail if the value is out of bounds.
The nvme driver's recently introduced command sequence number breaks
this controller.
Provide a quirk so these spec incompliant controllers can function as
before. The driver will not have the ability to detect bad completions
when this quirk is used, but we weren't previously checking this anyway.
The quirk bit was selected so that it can readily apply to stable.
Fixes: e7006de6c2380 ("nvme: code command_id with a genctr for use-after-free validation")
Link: https://bugzilla.kernel.org/show_bug.cgi?id=214509
Cc: Sven Peter <sven@svenpeter.dev>
Reported-by: Orlando Chamberlain <redecorating@protonmail.com>
Reported-by: Aditya Garg <gargaditya08@live.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
---
drivers/nvme/host/core.c | 4 +++-
drivers/nvme/host/nvme.h | 6 ++++++
drivers/nvme/host/pci.c | 3 ++-
3 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index e486845d2c7e..afbd47e16293 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -978,6 +978,7 @@ EXPORT_SYMBOL_GPL(nvme_cleanup_cmd);
blk_status_t nvme_setup_cmd(struct nvme_ns *ns, struct request *req)
{
struct nvme_command *cmd = nvme_req(req)->cmd;
+ struct nvme_ctrl *ctrl = nvme_req(req)->ctrl;
blk_status_t ret = BLK_STS_OK;
if (!(req->rq_flags & RQF_DONTPREP)) {
@@ -1026,7 +1027,8 @@ blk_status_t nvme_setup_cmd(struct nvme_ns *ns, struct request *req)
return BLK_STS_IOERR;
}
- nvme_req(req)->genctr++;
+ if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
+ nvme_req(req)->genctr++;
cmd->common.command_id = nvme_cid(req);
trace_nvme_setup_cmd(req, cmd);
return ret;
diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h
index 9871c0c9374c..ed79a6c7e804 100644
--- a/drivers/nvme/host/nvme.h
+++ b/drivers/nvme/host/nvme.h
@@ -138,6 +138,12 @@ enum nvme_quirks {
* 48 bits.
*/
NVME_QUIRK_DMA_ADDRESS_BITS_48 = (1 << 16),
+
+ /*
+ * The controller requires the command_id value be be limited, so skip
+ * encoding the generation sequence number.
+ */
+ NVME_QUIRK_SKIP_CID_GEN = (1 << 17),
};
/*
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index b82492cd7503..456a0e8a5718 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -3369,7 +3369,8 @@ static const struct pci_device_id nvme_id_table[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2005),
.driver_data = NVME_QUIRK_SINGLE_VECTOR |
NVME_QUIRK_128_BYTES_SQES |
- NVME_QUIRK_SHARED_TAGS },
+ NVME_QUIRK_SHARED_TAGS |
+ NVME_QUIRK_SKIP_CID_GEN },
{ PCI_DEVICE_CLASS(PCI_CLASS_STORAGE_EXPRESS, 0xffffff) },
{ 0, }
--
2.25.4
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH] nvme: add command id quirk for apple controllers
@ 2021-09-27 15:35 ` Keith Busch
0 siblings, 0 replies; 13+ messages in thread
From: Keith Busch @ 2021-09-27 15:35 UTC (permalink / raw)
To: linux-nvme, sagi, hch
Cc: linux-kernel, Keith Busch, Sven Peter, Orlando Chamberlain, Aditya Garg
Some apple controllers use the command id as an index to implementation
specific data structures and will fail if the value is out of bounds.
The nvme driver's recently introduced command sequence number breaks
this controller.
Provide a quirk so these spec incompliant controllers can function as
before. The driver will not have the ability to detect bad completions
when this quirk is used, but we weren't previously checking this anyway.
The quirk bit was selected so that it can readily apply to stable.
Fixes: e7006de6c2380 ("nvme: code command_id with a genctr for use-after-free validation")
Link: https://bugzilla.kernel.org/show_bug.cgi?id=214509
Cc: Sven Peter <sven@svenpeter.dev>
Reported-by: Orlando Chamberlain <redecorating@protonmail.com>
Reported-by: Aditya Garg <gargaditya08@live.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
---
drivers/nvme/host/core.c | 4 +++-
drivers/nvme/host/nvme.h | 6 ++++++
drivers/nvme/host/pci.c | 3 ++-
3 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index e486845d2c7e..afbd47e16293 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -978,6 +978,7 @@ EXPORT_SYMBOL_GPL(nvme_cleanup_cmd);
blk_status_t nvme_setup_cmd(struct nvme_ns *ns, struct request *req)
{
struct nvme_command *cmd = nvme_req(req)->cmd;
+ struct nvme_ctrl *ctrl = nvme_req(req)->ctrl;
blk_status_t ret = BLK_STS_OK;
if (!(req->rq_flags & RQF_DONTPREP)) {
@@ -1026,7 +1027,8 @@ blk_status_t nvme_setup_cmd(struct nvme_ns *ns, struct request *req)
return BLK_STS_IOERR;
}
- nvme_req(req)->genctr++;
+ if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
+ nvme_req(req)->genctr++;
cmd->common.command_id = nvme_cid(req);
trace_nvme_setup_cmd(req, cmd);
return ret;
diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h
index 9871c0c9374c..ed79a6c7e804 100644
--- a/drivers/nvme/host/nvme.h
+++ b/drivers/nvme/host/nvme.h
@@ -138,6 +138,12 @@ enum nvme_quirks {
* 48 bits.
*/
NVME_QUIRK_DMA_ADDRESS_BITS_48 = (1 << 16),
+
+ /*
+ * The controller requires the command_id value be be limited, so skip
+ * encoding the generation sequence number.
+ */
+ NVME_QUIRK_SKIP_CID_GEN = (1 << 17),
};
/*
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index b82492cd7503..456a0e8a5718 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -3369,7 +3369,8 @@ static const struct pci_device_id nvme_id_table[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2005),
.driver_data = NVME_QUIRK_SINGLE_VECTOR |
NVME_QUIRK_128_BYTES_SQES |
- NVME_QUIRK_SHARED_TAGS },
+ NVME_QUIRK_SHARED_TAGS |
+ NVME_QUIRK_SKIP_CID_GEN },
{ PCI_DEVICE_CLASS(PCI_CLASS_STORAGE_EXPRESS, 0xffffff) },
{ 0, }
--
2.25.4
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH] nvme: add command id quirk for apple controllers
2021-09-27 15:35 ` Keith Busch
@ 2021-09-27 15:39 ` Jens Axboe
-1 siblings, 0 replies; 13+ messages in thread
From: Jens Axboe @ 2021-09-27 15:39 UTC (permalink / raw)
To: Keith Busch, linux-nvme, sagi, hch
Cc: linux-kernel, Sven Peter, Orlando Chamberlain, Aditya Garg
On 9/27/21 9:35 AM, Keith Busch wrote:
> @@ -1026,7 +1027,8 @@ blk_status_t nvme_setup_cmd(struct nvme_ns *ns, struct request *req)
> return BLK_STS_IOERR;
> }
>
> - nvme_req(req)->genctr++;
> + if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
> + nvme_req(req)->genctr++;
This doesn't look right, as it'll never be true...
--
Jens Axboe
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] nvme: add command id quirk for apple controllers
@ 2021-09-27 15:39 ` Jens Axboe
0 siblings, 0 replies; 13+ messages in thread
From: Jens Axboe @ 2021-09-27 15:39 UTC (permalink / raw)
To: Keith Busch, linux-nvme, sagi, hch
Cc: linux-kernel, Sven Peter, Orlando Chamberlain, Aditya Garg
On 9/27/21 9:35 AM, Keith Busch wrote:
> @@ -1026,7 +1027,8 @@ blk_status_t nvme_setup_cmd(struct nvme_ns *ns, struct request *req)
> return BLK_STS_IOERR;
> }
>
> - nvme_req(req)->genctr++;
> + if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
> + nvme_req(req)->genctr++;
This doesn't look right, as it'll never be true...
--
Jens Axboe
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] nvme: add command id quirk for apple controllers
2021-09-27 15:35 ` Keith Busch
(?)
@ 2021-09-29 15:02 ` kernel test robot
-1 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2021-09-29 15:02 UTC (permalink / raw)
To: Keith Busch, linux-nvme, sagi, hch
Cc: llvm, kbuild-all, linux-kernel, Keith Busch, Sven Peter,
Orlando Chamberlain, Aditya Garg
[-- Attachment #1: Type: text/plain, Size: 4523 bytes --]
Hi Keith,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.15-rc3 next-20210922]
[cannot apply to hch-configfs/for-next linux-nvme/for-next]
[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/Keith-Busch/nvme-add-command-id-quirk-for-apple-controllers/20210929-191053
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a4e6f95a891ac08bd09d62e3e6dae239b150f4c1
config: hexagon-randconfig-r045-20210929 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dc6e8dfdfe7efecfda318d43a06fae18b40eb498)
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://github.com/0day-ci/linux/commit/c62c81f7de2ecd19bd3f85afe63d0040401bce0c
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Keith-Busch/nvme-add-command-id-quirk-for-apple-controllers/20210929-191053
git checkout c62c81f7de2ecd19bd3f85afe63d0040401bce0c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=hexagon
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 >>):
>> drivers/nvme/host/core.c:1030:6: warning: logical not is only applied to the left hand side of this bitwise operator [-Wlogical-not-parentheses]
if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
^ ~
drivers/nvme/host/core.c:1030:6: note: add parentheses after the '!' to evaluate the bitwise operator first
if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
^
( )
drivers/nvme/host/core.c:1030:6: note: add parentheses around left hand side expression to silence this warning
if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
^
( )
1 warning generated.
vim +1030 drivers/nvme/host/core.c
977
978 blk_status_t nvme_setup_cmd(struct nvme_ns *ns, struct request *req)
979 {
980 struct nvme_command *cmd = nvme_req(req)->cmd;
981 struct nvme_ctrl *ctrl = nvme_req(req)->ctrl;
982 blk_status_t ret = BLK_STS_OK;
983
984 if (!(req->rq_flags & RQF_DONTPREP)) {
985 nvme_clear_nvme_request(req);
986 memset(cmd, 0, sizeof(*cmd));
987 }
988
989 switch (req_op(req)) {
990 case REQ_OP_DRV_IN:
991 case REQ_OP_DRV_OUT:
992 /* these are setup prior to execution in nvme_init_request() */
993 break;
994 case REQ_OP_FLUSH:
995 nvme_setup_flush(ns, cmd);
996 break;
997 case REQ_OP_ZONE_RESET_ALL:
998 case REQ_OP_ZONE_RESET:
999 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_RESET);
1000 break;
1001 case REQ_OP_ZONE_OPEN:
1002 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_OPEN);
1003 break;
1004 case REQ_OP_ZONE_CLOSE:
1005 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_CLOSE);
1006 break;
1007 case REQ_OP_ZONE_FINISH:
1008 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_FINISH);
1009 break;
1010 case REQ_OP_WRITE_ZEROES:
1011 ret = nvme_setup_write_zeroes(ns, req, cmd);
1012 break;
1013 case REQ_OP_DISCARD:
1014 ret = nvme_setup_discard(ns, req, cmd);
1015 break;
1016 case REQ_OP_READ:
1017 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_read);
1018 break;
1019 case REQ_OP_WRITE:
1020 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_write);
1021 break;
1022 case REQ_OP_ZONE_APPEND:
1023 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_zone_append);
1024 break;
1025 default:
1026 WARN_ON_ONCE(1);
1027 return BLK_STS_IOERR;
1028 }
1029
> 1030 if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
1031 nvme_req(req)->genctr++;
1032 cmd->common.command_id = nvme_cid(req);
1033 trace_nvme_setup_cmd(req, cmd);
1034 return ret;
1035 }
1036 EXPORT_SYMBOL_GPL(nvme_setup_cmd);
1037
---
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: 31763 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] nvme: add command id quirk for apple controllers
@ 2021-09-29 15:02 ` kernel test robot
0 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2021-09-29 15:02 UTC (permalink / raw)
To: Keith Busch, linux-nvme, sagi, hch
Cc: llvm, kbuild-all, linux-kernel, Keith Busch, Sven Peter,
Orlando Chamberlain, Aditya Garg
[-- Attachment #1: Type: text/plain, Size: 4523 bytes --]
Hi Keith,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.15-rc3 next-20210922]
[cannot apply to hch-configfs/for-next linux-nvme/for-next]
[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/Keith-Busch/nvme-add-command-id-quirk-for-apple-controllers/20210929-191053
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a4e6f95a891ac08bd09d62e3e6dae239b150f4c1
config: hexagon-randconfig-r045-20210929 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dc6e8dfdfe7efecfda318d43a06fae18b40eb498)
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://github.com/0day-ci/linux/commit/c62c81f7de2ecd19bd3f85afe63d0040401bce0c
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Keith-Busch/nvme-add-command-id-quirk-for-apple-controllers/20210929-191053
git checkout c62c81f7de2ecd19bd3f85afe63d0040401bce0c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=hexagon
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 >>):
>> drivers/nvme/host/core.c:1030:6: warning: logical not is only applied to the left hand side of this bitwise operator [-Wlogical-not-parentheses]
if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
^ ~
drivers/nvme/host/core.c:1030:6: note: add parentheses after the '!' to evaluate the bitwise operator first
if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
^
( )
drivers/nvme/host/core.c:1030:6: note: add parentheses around left hand side expression to silence this warning
if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
^
( )
1 warning generated.
vim +1030 drivers/nvme/host/core.c
977
978 blk_status_t nvme_setup_cmd(struct nvme_ns *ns, struct request *req)
979 {
980 struct nvme_command *cmd = nvme_req(req)->cmd;
981 struct nvme_ctrl *ctrl = nvme_req(req)->ctrl;
982 blk_status_t ret = BLK_STS_OK;
983
984 if (!(req->rq_flags & RQF_DONTPREP)) {
985 nvme_clear_nvme_request(req);
986 memset(cmd, 0, sizeof(*cmd));
987 }
988
989 switch (req_op(req)) {
990 case REQ_OP_DRV_IN:
991 case REQ_OP_DRV_OUT:
992 /* these are setup prior to execution in nvme_init_request() */
993 break;
994 case REQ_OP_FLUSH:
995 nvme_setup_flush(ns, cmd);
996 break;
997 case REQ_OP_ZONE_RESET_ALL:
998 case REQ_OP_ZONE_RESET:
999 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_RESET);
1000 break;
1001 case REQ_OP_ZONE_OPEN:
1002 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_OPEN);
1003 break;
1004 case REQ_OP_ZONE_CLOSE:
1005 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_CLOSE);
1006 break;
1007 case REQ_OP_ZONE_FINISH:
1008 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_FINISH);
1009 break;
1010 case REQ_OP_WRITE_ZEROES:
1011 ret = nvme_setup_write_zeroes(ns, req, cmd);
1012 break;
1013 case REQ_OP_DISCARD:
1014 ret = nvme_setup_discard(ns, req, cmd);
1015 break;
1016 case REQ_OP_READ:
1017 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_read);
1018 break;
1019 case REQ_OP_WRITE:
1020 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_write);
1021 break;
1022 case REQ_OP_ZONE_APPEND:
1023 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_zone_append);
1024 break;
1025 default:
1026 WARN_ON_ONCE(1);
1027 return BLK_STS_IOERR;
1028 }
1029
> 1030 if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
1031 nvme_req(req)->genctr++;
1032 cmd->common.command_id = nvme_cid(req);
1033 trace_nvme_setup_cmd(req, cmd);
1034 return ret;
1035 }
1036 EXPORT_SYMBOL_GPL(nvme_setup_cmd);
1037
---
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: 31763 bytes --]
[-- Attachment #3: Type: text/plain, Size: 158 bytes --]
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] nvme: add command id quirk for apple controllers
@ 2021-09-29 15:02 ` kernel test robot
0 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2021-09-29 15:02 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 4636 bytes --]
Hi Keith,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.15-rc3 next-20210922]
[cannot apply to hch-configfs/for-next linux-nvme/for-next]
[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/Keith-Busch/nvme-add-command-id-quirk-for-apple-controllers/20210929-191053
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a4e6f95a891ac08bd09d62e3e6dae239b150f4c1
config: hexagon-randconfig-r045-20210929 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dc6e8dfdfe7efecfda318d43a06fae18b40eb498)
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://github.com/0day-ci/linux/commit/c62c81f7de2ecd19bd3f85afe63d0040401bce0c
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Keith-Busch/nvme-add-command-id-quirk-for-apple-controllers/20210929-191053
git checkout c62c81f7de2ecd19bd3f85afe63d0040401bce0c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=hexagon
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 >>):
>> drivers/nvme/host/core.c:1030:6: warning: logical not is only applied to the left hand side of this bitwise operator [-Wlogical-not-parentheses]
if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
^ ~
drivers/nvme/host/core.c:1030:6: note: add parentheses after the '!' to evaluate the bitwise operator first
if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
^
( )
drivers/nvme/host/core.c:1030:6: note: add parentheses around left hand side expression to silence this warning
if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
^
( )
1 warning generated.
vim +1030 drivers/nvme/host/core.c
977
978 blk_status_t nvme_setup_cmd(struct nvme_ns *ns, struct request *req)
979 {
980 struct nvme_command *cmd = nvme_req(req)->cmd;
981 struct nvme_ctrl *ctrl = nvme_req(req)->ctrl;
982 blk_status_t ret = BLK_STS_OK;
983
984 if (!(req->rq_flags & RQF_DONTPREP)) {
985 nvme_clear_nvme_request(req);
986 memset(cmd, 0, sizeof(*cmd));
987 }
988
989 switch (req_op(req)) {
990 case REQ_OP_DRV_IN:
991 case REQ_OP_DRV_OUT:
992 /* these are setup prior to execution in nvme_init_request() */
993 break;
994 case REQ_OP_FLUSH:
995 nvme_setup_flush(ns, cmd);
996 break;
997 case REQ_OP_ZONE_RESET_ALL:
998 case REQ_OP_ZONE_RESET:
999 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_RESET);
1000 break;
1001 case REQ_OP_ZONE_OPEN:
1002 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_OPEN);
1003 break;
1004 case REQ_OP_ZONE_CLOSE:
1005 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_CLOSE);
1006 break;
1007 case REQ_OP_ZONE_FINISH:
1008 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_FINISH);
1009 break;
1010 case REQ_OP_WRITE_ZEROES:
1011 ret = nvme_setup_write_zeroes(ns, req, cmd);
1012 break;
1013 case REQ_OP_DISCARD:
1014 ret = nvme_setup_discard(ns, req, cmd);
1015 break;
1016 case REQ_OP_READ:
1017 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_read);
1018 break;
1019 case REQ_OP_WRITE:
1020 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_write);
1021 break;
1022 case REQ_OP_ZONE_APPEND:
1023 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_zone_append);
1024 break;
1025 default:
1026 WARN_ON_ONCE(1);
1027 return BLK_STS_IOERR;
1028 }
1029
> 1030 if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
1031 nvme_req(req)->genctr++;
1032 cmd->common.command_id = nvme_cid(req);
1033 trace_nvme_setup_cmd(req, cmd);
1034 return ret;
1035 }
1036 EXPORT_SYMBOL_GPL(nvme_setup_cmd);
1037
---
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: 31763 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] nvme: add command id quirk for apple controllers
2021-09-27 15:35 ` Keith Busch
(?)
@ 2021-09-29 15:14 ` kernel test robot
-1 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2021-09-29 15:14 UTC (permalink / raw)
To: Keith Busch, linux-nvme, sagi, hch
Cc: kbuild-all, linux-kernel, Keith Busch, Sven Peter,
Orlando Chamberlain, Aditya Garg
[-- Attachment #1: Type: text/plain, Size: 7099 bytes --]
Hi Keith,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.15-rc3 next-20210922]
[cannot apply to hch-configfs/for-next linux-nvme/for-next]
[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/Keith-Busch/nvme-add-command-id-quirk-for-apple-controllers/20210929-191053
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a4e6f95a891ac08bd09d62e3e6dae239b150f4c1
config: arc-randconfig-r043-20210929 (attached as .config)
compiler: arceb-elf-gcc (GCC) 11.2.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://github.com/0day-ci/linux/commit/c62c81f7de2ecd19bd3f85afe63d0040401bce0c
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Keith-Busch/nvme-add-command-id-quirk-for-apple-controllers/20210929-191053
git checkout c62c81f7de2ecd19bd3f85afe63d0040401bce0c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=arc
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 >>):
In file included from include/linux/kernel.h:11,
from include/linux/list.h:9,
from include/linux/rculist.h:10,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/blkdev.h:5,
from drivers/nvme/host/core.c:7:
drivers/nvme/host/core.c: In function 'nvme_setup_cmd':
>> drivers/nvme/host/core.c:1030:13: warning: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Wparentheses]
1030 | if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
| ^~~~~~~~~~~~~
include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
drivers/nvme/host/core.c:1030:9: note: in expansion of macro 'if'
1030 | if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
| ^~
>> drivers/nvme/host/core.c:1030:13: warning: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Wparentheses]
1030 | if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
| ^~~~~~~~~~~~~
include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
drivers/nvme/host/core.c:1030:9: note: in expansion of macro 'if'
1030 | if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
| ^~
>> drivers/nvme/host/core.c:1030:13: warning: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Wparentheses]
1030 | if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
| ^~~~~~~~~~~~~
include/linux/compiler.h:69:10: note: in definition of macro '__trace_if_value'
69 | (cond) ? \
| ^~~~
include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
drivers/nvme/host/core.c:1030:9: note: in expansion of macro 'if'
1030 | if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
| ^~
In file included from include/linux/perf_event.h:25,
from include/linux/trace_events.h:10,
from include/trace/trace_events.h:21,
from include/trace/define_trace.h:102,
from drivers/nvme/host/trace.h:175,
from drivers/nvme/host/core.c:28:
At top level:
arch/arc/include/asm/perf_event.h:126:27: warning: 'arc_pmu_cache_map' defined but not used [-Wunused-const-variable=]
126 | static const unsigned int arc_pmu_cache_map[C(MAX)][C(OP_MAX)][C(RESULT_MAX)] = {
| ^~~~~~~~~~~~~~~~~
arch/arc/include/asm/perf_event.h:91:27: warning: 'arc_pmu_ev_hw_map' defined but not used [-Wunused-const-variable=]
91 | static const char * const arc_pmu_ev_hw_map[] = {
| ^~~~~~~~~~~~~~~~~
vim +1030 drivers/nvme/host/core.c
977
978 blk_status_t nvme_setup_cmd(struct nvme_ns *ns, struct request *req)
979 {
980 struct nvme_command *cmd = nvme_req(req)->cmd;
981 struct nvme_ctrl *ctrl = nvme_req(req)->ctrl;
982 blk_status_t ret = BLK_STS_OK;
983
984 if (!(req->rq_flags & RQF_DONTPREP)) {
985 nvme_clear_nvme_request(req);
986 memset(cmd, 0, sizeof(*cmd));
987 }
988
989 switch (req_op(req)) {
990 case REQ_OP_DRV_IN:
991 case REQ_OP_DRV_OUT:
992 /* these are setup prior to execution in nvme_init_request() */
993 break;
994 case REQ_OP_FLUSH:
995 nvme_setup_flush(ns, cmd);
996 break;
997 case REQ_OP_ZONE_RESET_ALL:
998 case REQ_OP_ZONE_RESET:
999 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_RESET);
1000 break;
1001 case REQ_OP_ZONE_OPEN:
1002 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_OPEN);
1003 break;
1004 case REQ_OP_ZONE_CLOSE:
1005 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_CLOSE);
1006 break;
1007 case REQ_OP_ZONE_FINISH:
1008 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_FINISH);
1009 break;
1010 case REQ_OP_WRITE_ZEROES:
1011 ret = nvme_setup_write_zeroes(ns, req, cmd);
1012 break;
1013 case REQ_OP_DISCARD:
1014 ret = nvme_setup_discard(ns, req, cmd);
1015 break;
1016 case REQ_OP_READ:
1017 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_read);
1018 break;
1019 case REQ_OP_WRITE:
1020 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_write);
1021 break;
1022 case REQ_OP_ZONE_APPEND:
1023 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_zone_append);
1024 break;
1025 default:
1026 WARN_ON_ONCE(1);
1027 return BLK_STS_IOERR;
1028 }
1029
> 1030 if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
1031 nvme_req(req)->genctr++;
1032 cmd->common.command_id = nvme_cid(req);
1033 trace_nvme_setup_cmd(req, cmd);
1034 return ret;
1035 }
1036 EXPORT_SYMBOL_GPL(nvme_setup_cmd);
1037
---
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: 35070 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] nvme: add command id quirk for apple controllers
@ 2021-09-29 15:14 ` kernel test robot
0 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2021-09-29 15:14 UTC (permalink / raw)
To: Keith Busch, linux-nvme, sagi, hch
Cc: kbuild-all, linux-kernel, Keith Busch, Sven Peter,
Orlando Chamberlain, Aditya Garg
[-- Attachment #1: Type: text/plain, Size: 7099 bytes --]
Hi Keith,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.15-rc3 next-20210922]
[cannot apply to hch-configfs/for-next linux-nvme/for-next]
[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/Keith-Busch/nvme-add-command-id-quirk-for-apple-controllers/20210929-191053
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a4e6f95a891ac08bd09d62e3e6dae239b150f4c1
config: arc-randconfig-r043-20210929 (attached as .config)
compiler: arceb-elf-gcc (GCC) 11.2.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://github.com/0day-ci/linux/commit/c62c81f7de2ecd19bd3f85afe63d0040401bce0c
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Keith-Busch/nvme-add-command-id-quirk-for-apple-controllers/20210929-191053
git checkout c62c81f7de2ecd19bd3f85afe63d0040401bce0c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=arc
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 >>):
In file included from include/linux/kernel.h:11,
from include/linux/list.h:9,
from include/linux/rculist.h:10,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/blkdev.h:5,
from drivers/nvme/host/core.c:7:
drivers/nvme/host/core.c: In function 'nvme_setup_cmd':
>> drivers/nvme/host/core.c:1030:13: warning: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Wparentheses]
1030 | if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
| ^~~~~~~~~~~~~
include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
drivers/nvme/host/core.c:1030:9: note: in expansion of macro 'if'
1030 | if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
| ^~
>> drivers/nvme/host/core.c:1030:13: warning: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Wparentheses]
1030 | if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
| ^~~~~~~~~~~~~
include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
drivers/nvme/host/core.c:1030:9: note: in expansion of macro 'if'
1030 | if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
| ^~
>> drivers/nvme/host/core.c:1030:13: warning: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Wparentheses]
1030 | if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
| ^~~~~~~~~~~~~
include/linux/compiler.h:69:10: note: in definition of macro '__trace_if_value'
69 | (cond) ? \
| ^~~~
include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
drivers/nvme/host/core.c:1030:9: note: in expansion of macro 'if'
1030 | if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
| ^~
In file included from include/linux/perf_event.h:25,
from include/linux/trace_events.h:10,
from include/trace/trace_events.h:21,
from include/trace/define_trace.h:102,
from drivers/nvme/host/trace.h:175,
from drivers/nvme/host/core.c:28:
At top level:
arch/arc/include/asm/perf_event.h:126:27: warning: 'arc_pmu_cache_map' defined but not used [-Wunused-const-variable=]
126 | static const unsigned int arc_pmu_cache_map[C(MAX)][C(OP_MAX)][C(RESULT_MAX)] = {
| ^~~~~~~~~~~~~~~~~
arch/arc/include/asm/perf_event.h:91:27: warning: 'arc_pmu_ev_hw_map' defined but not used [-Wunused-const-variable=]
91 | static const char * const arc_pmu_ev_hw_map[] = {
| ^~~~~~~~~~~~~~~~~
vim +1030 drivers/nvme/host/core.c
977
978 blk_status_t nvme_setup_cmd(struct nvme_ns *ns, struct request *req)
979 {
980 struct nvme_command *cmd = nvme_req(req)->cmd;
981 struct nvme_ctrl *ctrl = nvme_req(req)->ctrl;
982 blk_status_t ret = BLK_STS_OK;
983
984 if (!(req->rq_flags & RQF_DONTPREP)) {
985 nvme_clear_nvme_request(req);
986 memset(cmd, 0, sizeof(*cmd));
987 }
988
989 switch (req_op(req)) {
990 case REQ_OP_DRV_IN:
991 case REQ_OP_DRV_OUT:
992 /* these are setup prior to execution in nvme_init_request() */
993 break;
994 case REQ_OP_FLUSH:
995 nvme_setup_flush(ns, cmd);
996 break;
997 case REQ_OP_ZONE_RESET_ALL:
998 case REQ_OP_ZONE_RESET:
999 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_RESET);
1000 break;
1001 case REQ_OP_ZONE_OPEN:
1002 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_OPEN);
1003 break;
1004 case REQ_OP_ZONE_CLOSE:
1005 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_CLOSE);
1006 break;
1007 case REQ_OP_ZONE_FINISH:
1008 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_FINISH);
1009 break;
1010 case REQ_OP_WRITE_ZEROES:
1011 ret = nvme_setup_write_zeroes(ns, req, cmd);
1012 break;
1013 case REQ_OP_DISCARD:
1014 ret = nvme_setup_discard(ns, req, cmd);
1015 break;
1016 case REQ_OP_READ:
1017 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_read);
1018 break;
1019 case REQ_OP_WRITE:
1020 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_write);
1021 break;
1022 case REQ_OP_ZONE_APPEND:
1023 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_zone_append);
1024 break;
1025 default:
1026 WARN_ON_ONCE(1);
1027 return BLK_STS_IOERR;
1028 }
1029
> 1030 if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
1031 nvme_req(req)->genctr++;
1032 cmd->common.command_id = nvme_cid(req);
1033 trace_nvme_setup_cmd(req, cmd);
1034 return ret;
1035 }
1036 EXPORT_SYMBOL_GPL(nvme_setup_cmd);
1037
---
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: 35070 bytes --]
[-- Attachment #3: Type: text/plain, Size: 158 bytes --]
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] nvme: add command id quirk for apple controllers
@ 2021-09-29 15:14 ` kernel test robot
0 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2021-09-29 15:14 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 7251 bytes --]
Hi Keith,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.15-rc3 next-20210922]
[cannot apply to hch-configfs/for-next linux-nvme/for-next]
[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/Keith-Busch/nvme-add-command-id-quirk-for-apple-controllers/20210929-191053
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a4e6f95a891ac08bd09d62e3e6dae239b150f4c1
config: arc-randconfig-r043-20210929 (attached as .config)
compiler: arceb-elf-gcc (GCC) 11.2.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://github.com/0day-ci/linux/commit/c62c81f7de2ecd19bd3f85afe63d0040401bce0c
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Keith-Busch/nvme-add-command-id-quirk-for-apple-controllers/20210929-191053
git checkout c62c81f7de2ecd19bd3f85afe63d0040401bce0c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=arc
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 >>):
In file included from include/linux/kernel.h:11,
from include/linux/list.h:9,
from include/linux/rculist.h:10,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/blkdev.h:5,
from drivers/nvme/host/core.c:7:
drivers/nvme/host/core.c: In function 'nvme_setup_cmd':
>> drivers/nvme/host/core.c:1030:13: warning: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Wparentheses]
1030 | if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
| ^~~~~~~~~~~~~
include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
drivers/nvme/host/core.c:1030:9: note: in expansion of macro 'if'
1030 | if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
| ^~
>> drivers/nvme/host/core.c:1030:13: warning: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Wparentheses]
1030 | if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
| ^~~~~~~~~~~~~
include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
drivers/nvme/host/core.c:1030:9: note: in expansion of macro 'if'
1030 | if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
| ^~
>> drivers/nvme/host/core.c:1030:13: warning: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Wparentheses]
1030 | if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
| ^~~~~~~~~~~~~
include/linux/compiler.h:69:10: note: in definition of macro '__trace_if_value'
69 | (cond) ? \
| ^~~~
include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
drivers/nvme/host/core.c:1030:9: note: in expansion of macro 'if'
1030 | if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
| ^~
In file included from include/linux/perf_event.h:25,
from include/linux/trace_events.h:10,
from include/trace/trace_events.h:21,
from include/trace/define_trace.h:102,
from drivers/nvme/host/trace.h:175,
from drivers/nvme/host/core.c:28:
At top level:
arch/arc/include/asm/perf_event.h:126:27: warning: 'arc_pmu_cache_map' defined but not used [-Wunused-const-variable=]
126 | static const unsigned int arc_pmu_cache_map[C(MAX)][C(OP_MAX)][C(RESULT_MAX)] = {
| ^~~~~~~~~~~~~~~~~
arch/arc/include/asm/perf_event.h:91:27: warning: 'arc_pmu_ev_hw_map' defined but not used [-Wunused-const-variable=]
91 | static const char * const arc_pmu_ev_hw_map[] = {
| ^~~~~~~~~~~~~~~~~
vim +1030 drivers/nvme/host/core.c
977
978 blk_status_t nvme_setup_cmd(struct nvme_ns *ns, struct request *req)
979 {
980 struct nvme_command *cmd = nvme_req(req)->cmd;
981 struct nvme_ctrl *ctrl = nvme_req(req)->ctrl;
982 blk_status_t ret = BLK_STS_OK;
983
984 if (!(req->rq_flags & RQF_DONTPREP)) {
985 nvme_clear_nvme_request(req);
986 memset(cmd, 0, sizeof(*cmd));
987 }
988
989 switch (req_op(req)) {
990 case REQ_OP_DRV_IN:
991 case REQ_OP_DRV_OUT:
992 /* these are setup prior to execution in nvme_init_request() */
993 break;
994 case REQ_OP_FLUSH:
995 nvme_setup_flush(ns, cmd);
996 break;
997 case REQ_OP_ZONE_RESET_ALL:
998 case REQ_OP_ZONE_RESET:
999 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_RESET);
1000 break;
1001 case REQ_OP_ZONE_OPEN:
1002 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_OPEN);
1003 break;
1004 case REQ_OP_ZONE_CLOSE:
1005 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_CLOSE);
1006 break;
1007 case REQ_OP_ZONE_FINISH:
1008 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_FINISH);
1009 break;
1010 case REQ_OP_WRITE_ZEROES:
1011 ret = nvme_setup_write_zeroes(ns, req, cmd);
1012 break;
1013 case REQ_OP_DISCARD:
1014 ret = nvme_setup_discard(ns, req, cmd);
1015 break;
1016 case REQ_OP_READ:
1017 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_read);
1018 break;
1019 case REQ_OP_WRITE:
1020 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_write);
1021 break;
1022 case REQ_OP_ZONE_APPEND:
1023 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_zone_append);
1024 break;
1025 default:
1026 WARN_ON_ONCE(1);
1027 return BLK_STS_IOERR;
1028 }
1029
> 1030 if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
1031 nvme_req(req)->genctr++;
1032 cmd->common.command_id = nvme_cid(req);
1033 trace_nvme_setup_cmd(req, cmd);
1034 return ret;
1035 }
1036 EXPORT_SYMBOL_GPL(nvme_setup_cmd);
1037
---
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: 35070 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] nvme: add command id quirk for apple controllers
2021-09-27 15:35 ` Keith Busch
(?)
@ 2021-09-29 15:17 ` kernel test robot
-1 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2021-09-29 15:17 UTC (permalink / raw)
To: Keith Busch, linux-nvme, sagi, hch
Cc: llvm, kbuild-all, linux-kernel, Keith Busch, Sven Peter,
Orlando Chamberlain, Aditya Garg
[-- Attachment #1: Type: text/plain, Size: 4637 bytes --]
Hi Keith,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.15-rc3 next-20210922]
[cannot apply to hch-configfs/for-next linux-nvme/for-next]
[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/Keith-Busch/nvme-add-command-id-quirk-for-apple-controllers/20210929-191053
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a4e6f95a891ac08bd09d62e3e6dae239b150f4c1
config: riscv-buildonly-randconfig-r003-20210929 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dc6e8dfdfe7efecfda318d43a06fae18b40eb498)
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 riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/0day-ci/linux/commit/c62c81f7de2ecd19bd3f85afe63d0040401bce0c
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Keith-Busch/nvme-add-command-id-quirk-for-apple-controllers/20210929-191053
git checkout c62c81f7de2ecd19bd3f85afe63d0040401bce0c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
>> drivers/nvme/host/core.c:1030:6: error: logical not is only applied to the left hand side of this bitwise operator [-Werror,-Wlogical-not-parentheses]
if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
^ ~
drivers/nvme/host/core.c:1030:6: note: add parentheses after the '!' to evaluate the bitwise operator first
if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
^
( )
drivers/nvme/host/core.c:1030:6: note: add parentheses around left hand side expression to silence this warning
if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
^
( )
1 error generated.
vim +1030 drivers/nvme/host/core.c
977
978 blk_status_t nvme_setup_cmd(struct nvme_ns *ns, struct request *req)
979 {
980 struct nvme_command *cmd = nvme_req(req)->cmd;
981 struct nvme_ctrl *ctrl = nvme_req(req)->ctrl;
982 blk_status_t ret = BLK_STS_OK;
983
984 if (!(req->rq_flags & RQF_DONTPREP)) {
985 nvme_clear_nvme_request(req);
986 memset(cmd, 0, sizeof(*cmd));
987 }
988
989 switch (req_op(req)) {
990 case REQ_OP_DRV_IN:
991 case REQ_OP_DRV_OUT:
992 /* these are setup prior to execution in nvme_init_request() */
993 break;
994 case REQ_OP_FLUSH:
995 nvme_setup_flush(ns, cmd);
996 break;
997 case REQ_OP_ZONE_RESET_ALL:
998 case REQ_OP_ZONE_RESET:
999 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_RESET);
1000 break;
1001 case REQ_OP_ZONE_OPEN:
1002 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_OPEN);
1003 break;
1004 case REQ_OP_ZONE_CLOSE:
1005 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_CLOSE);
1006 break;
1007 case REQ_OP_ZONE_FINISH:
1008 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_FINISH);
1009 break;
1010 case REQ_OP_WRITE_ZEROES:
1011 ret = nvme_setup_write_zeroes(ns, req, cmd);
1012 break;
1013 case REQ_OP_DISCARD:
1014 ret = nvme_setup_discard(ns, req, cmd);
1015 break;
1016 case REQ_OP_READ:
1017 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_read);
1018 break;
1019 case REQ_OP_WRITE:
1020 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_write);
1021 break;
1022 case REQ_OP_ZONE_APPEND:
1023 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_zone_append);
1024 break;
1025 default:
1026 WARN_ON_ONCE(1);
1027 return BLK_STS_IOERR;
1028 }
1029
> 1030 if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
1031 nvme_req(req)->genctr++;
1032 cmd->common.command_id = nvme_cid(req);
1033 trace_nvme_setup_cmd(req, cmd);
1034 return ret;
1035 }
1036 EXPORT_SYMBOL_GPL(nvme_setup_cmd);
1037
---
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: 38709 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] nvme: add command id quirk for apple controllers
@ 2021-09-29 15:17 ` kernel test robot
0 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2021-09-29 15:17 UTC (permalink / raw)
To: Keith Busch, linux-nvme, sagi, hch
Cc: llvm, kbuild-all, linux-kernel, Keith Busch, Sven Peter,
Orlando Chamberlain, Aditya Garg
[-- Attachment #1: Type: text/plain, Size: 4637 bytes --]
Hi Keith,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.15-rc3 next-20210922]
[cannot apply to hch-configfs/for-next linux-nvme/for-next]
[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/Keith-Busch/nvme-add-command-id-quirk-for-apple-controllers/20210929-191053
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a4e6f95a891ac08bd09d62e3e6dae239b150f4c1
config: riscv-buildonly-randconfig-r003-20210929 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dc6e8dfdfe7efecfda318d43a06fae18b40eb498)
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 riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/0day-ci/linux/commit/c62c81f7de2ecd19bd3f85afe63d0040401bce0c
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Keith-Busch/nvme-add-command-id-quirk-for-apple-controllers/20210929-191053
git checkout c62c81f7de2ecd19bd3f85afe63d0040401bce0c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
>> drivers/nvme/host/core.c:1030:6: error: logical not is only applied to the left hand side of this bitwise operator [-Werror,-Wlogical-not-parentheses]
if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
^ ~
drivers/nvme/host/core.c:1030:6: note: add parentheses after the '!' to evaluate the bitwise operator first
if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
^
( )
drivers/nvme/host/core.c:1030:6: note: add parentheses around left hand side expression to silence this warning
if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
^
( )
1 error generated.
vim +1030 drivers/nvme/host/core.c
977
978 blk_status_t nvme_setup_cmd(struct nvme_ns *ns, struct request *req)
979 {
980 struct nvme_command *cmd = nvme_req(req)->cmd;
981 struct nvme_ctrl *ctrl = nvme_req(req)->ctrl;
982 blk_status_t ret = BLK_STS_OK;
983
984 if (!(req->rq_flags & RQF_DONTPREP)) {
985 nvme_clear_nvme_request(req);
986 memset(cmd, 0, sizeof(*cmd));
987 }
988
989 switch (req_op(req)) {
990 case REQ_OP_DRV_IN:
991 case REQ_OP_DRV_OUT:
992 /* these are setup prior to execution in nvme_init_request() */
993 break;
994 case REQ_OP_FLUSH:
995 nvme_setup_flush(ns, cmd);
996 break;
997 case REQ_OP_ZONE_RESET_ALL:
998 case REQ_OP_ZONE_RESET:
999 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_RESET);
1000 break;
1001 case REQ_OP_ZONE_OPEN:
1002 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_OPEN);
1003 break;
1004 case REQ_OP_ZONE_CLOSE:
1005 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_CLOSE);
1006 break;
1007 case REQ_OP_ZONE_FINISH:
1008 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_FINISH);
1009 break;
1010 case REQ_OP_WRITE_ZEROES:
1011 ret = nvme_setup_write_zeroes(ns, req, cmd);
1012 break;
1013 case REQ_OP_DISCARD:
1014 ret = nvme_setup_discard(ns, req, cmd);
1015 break;
1016 case REQ_OP_READ:
1017 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_read);
1018 break;
1019 case REQ_OP_WRITE:
1020 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_write);
1021 break;
1022 case REQ_OP_ZONE_APPEND:
1023 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_zone_append);
1024 break;
1025 default:
1026 WARN_ON_ONCE(1);
1027 return BLK_STS_IOERR;
1028 }
1029
> 1030 if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
1031 nvme_req(req)->genctr++;
1032 cmd->common.command_id = nvme_cid(req);
1033 trace_nvme_setup_cmd(req, cmd);
1034 return ret;
1035 }
1036 EXPORT_SYMBOL_GPL(nvme_setup_cmd);
1037
---
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: 38709 bytes --]
[-- Attachment #3: Type: text/plain, Size: 158 bytes --]
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] nvme: add command id quirk for apple controllers
@ 2021-09-29 15:17 ` kernel test robot
0 siblings, 0 replies; 13+ messages in thread
From: kernel test robot @ 2021-09-29 15:17 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 4752 bytes --]
Hi Keith,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.15-rc3 next-20210922]
[cannot apply to hch-configfs/for-next linux-nvme/for-next]
[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/Keith-Busch/nvme-add-command-id-quirk-for-apple-controllers/20210929-191053
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a4e6f95a891ac08bd09d62e3e6dae239b150f4c1
config: riscv-buildonly-randconfig-r003-20210929 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dc6e8dfdfe7efecfda318d43a06fae18b40eb498)
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 riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/0day-ci/linux/commit/c62c81f7de2ecd19bd3f85afe63d0040401bce0c
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Keith-Busch/nvme-add-command-id-quirk-for-apple-controllers/20210929-191053
git checkout c62c81f7de2ecd19bd3f85afe63d0040401bce0c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
>> drivers/nvme/host/core.c:1030:6: error: logical not is only applied to the left hand side of this bitwise operator [-Werror,-Wlogical-not-parentheses]
if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
^ ~
drivers/nvme/host/core.c:1030:6: note: add parentheses after the '!' to evaluate the bitwise operator first
if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
^
( )
drivers/nvme/host/core.c:1030:6: note: add parentheses around left hand side expression to silence this warning
if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
^
( )
1 error generated.
vim +1030 drivers/nvme/host/core.c
977
978 blk_status_t nvme_setup_cmd(struct nvme_ns *ns, struct request *req)
979 {
980 struct nvme_command *cmd = nvme_req(req)->cmd;
981 struct nvme_ctrl *ctrl = nvme_req(req)->ctrl;
982 blk_status_t ret = BLK_STS_OK;
983
984 if (!(req->rq_flags & RQF_DONTPREP)) {
985 nvme_clear_nvme_request(req);
986 memset(cmd, 0, sizeof(*cmd));
987 }
988
989 switch (req_op(req)) {
990 case REQ_OP_DRV_IN:
991 case REQ_OP_DRV_OUT:
992 /* these are setup prior to execution in nvme_init_request() */
993 break;
994 case REQ_OP_FLUSH:
995 nvme_setup_flush(ns, cmd);
996 break;
997 case REQ_OP_ZONE_RESET_ALL:
998 case REQ_OP_ZONE_RESET:
999 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_RESET);
1000 break;
1001 case REQ_OP_ZONE_OPEN:
1002 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_OPEN);
1003 break;
1004 case REQ_OP_ZONE_CLOSE:
1005 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_CLOSE);
1006 break;
1007 case REQ_OP_ZONE_FINISH:
1008 ret = nvme_setup_zone_mgmt_send(ns, req, cmd, NVME_ZONE_FINISH);
1009 break;
1010 case REQ_OP_WRITE_ZEROES:
1011 ret = nvme_setup_write_zeroes(ns, req, cmd);
1012 break;
1013 case REQ_OP_DISCARD:
1014 ret = nvme_setup_discard(ns, req, cmd);
1015 break;
1016 case REQ_OP_READ:
1017 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_read);
1018 break;
1019 case REQ_OP_WRITE:
1020 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_write);
1021 break;
1022 case REQ_OP_ZONE_APPEND:
1023 ret = nvme_setup_rw(ns, req, cmd, nvme_cmd_zone_append);
1024 break;
1025 default:
1026 WARN_ON_ONCE(1);
1027 return BLK_STS_IOERR;
1028 }
1029
> 1030 if (!ctrl->quirks & NVME_QUIRK_SKIP_CID_GEN)
1031 nvme_req(req)->genctr++;
1032 cmd->common.command_id = nvme_cid(req);
1033 trace_nvme_setup_cmd(req, cmd);
1034 return ret;
1035 }
1036 EXPORT_SYMBOL_GPL(nvme_setup_cmd);
1037
---
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: 38709 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2021-09-29 15:18 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-27 15:35 [PATCH] nvme: add command id quirk for apple controllers Keith Busch
2021-09-27 15:35 ` Keith Busch
2021-09-27 15:39 ` Jens Axboe
2021-09-27 15:39 ` Jens Axboe
2021-09-29 15:02 ` kernel test robot
2021-09-29 15:02 ` kernel test robot
2021-09-29 15:02 ` kernel test robot
2021-09-29 15:14 ` kernel test robot
2021-09-29 15:14 ` kernel test robot
2021-09-29 15:14 ` kernel test robot
2021-09-29 15:17 ` kernel test robot
2021-09-29 15:17 ` kernel test robot
2021-09-29 15:17 ` kernel test robot
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.