[PATCH] nvme: rdma: Add check for queue in nvmet_rdma_cm_handler()
kernel test robot
lkp at intel.com
Fri Nov 1 07:02:09 PDT 2024
Hi George,
kernel test robot noticed the following build warnings:
[auto build test WARNING on linus/master]
[also build test WARNING on v6.12-rc5 next-20241101]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/George-Rurikov/nvme-rdma-Add-check-for-queue-in-nvmet_rdma_cm_handler/20241101-013611
base: linus/master
patch link: https://lore.kernel.org/r/20241031173327.663-1-grurikov%40gmail.com
patch subject: [PATCH] nvme: rdma: Add check for queue in nvmet_rdma_cm_handler()
config: x86_64-rhel-8.3-func (https://download.01.org/0day-ci/archive/20241101/202411012136.hoMlvrTF-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241101/202411012136.hoMlvrTF-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202411012136.hoMlvrTF-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/nvme/target/rdma.c: In function 'nvmet_rdma_cm_handler':
>> drivers/nvme/target/rdma.c:1771:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
1771 | if (!queue) {
| ^
drivers/nvme/target/rdma.c:1775:9: note: here
1775 | case RDMA_CM_EVENT_ADDR_CHANGE:
| ^~~~
drivers/nvme/target/rdma.c:1785:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
1785 | if (!queue) {
| ^
drivers/nvme/target/rdma.c:1789:9: note: here
1789 | case RDMA_CM_EVENT_DEVICE_REMOVAL:
| ^~~~
drivers/nvme/target/rdma.c:1798:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
1798 | if (!queue) {
| ^
drivers/nvme/target/rdma.c:1802:9: note: here
1802 | default:
| ^~~~~~~
vim +1771 drivers/nvme/target/rdma.c
1752
1753 static int nvmet_rdma_cm_handler(struct rdma_cm_id *cm_id,
1754 struct rdma_cm_event *event)
1755 {
1756 struct nvmet_rdma_queue *queue = NULL;
1757 int ret = 0;
1758
1759 if (cm_id->qp)
1760 queue = cm_id->qp->qp_context;
1761
1762 pr_debug("%s (%d): status %d id %p\n",
1763 rdma_event_msg(event->event), event->event,
1764 event->status, cm_id);
1765
1766 switch (event->event) {
1767 case RDMA_CM_EVENT_CONNECT_REQUEST:
1768 ret = nvmet_rdma_queue_connect(cm_id, event);
1769 break;
1770 case RDMA_CM_EVENT_ESTABLISHED:
> 1771 if (!queue) {
1772 nvmet_rdma_queue_established(queue);
1773 break;
1774 }
1775 case RDMA_CM_EVENT_ADDR_CHANGE:
1776 if (!queue) {
1777 struct nvmet_rdma_port *port = cm_id->context;
1778
1779 queue_delayed_work(nvmet_wq, &port->repair_work, 0);
1780 break;
1781 }
1782 fallthrough;
1783 case RDMA_CM_EVENT_DISCONNECTED:
1784 case RDMA_CM_EVENT_TIMEWAIT_EXIT:
1785 if (!queue) {
1786 nvmet_rdma_queue_disconnect(queue);
1787 break;
1788 }
1789 case RDMA_CM_EVENT_DEVICE_REMOVAL:
1790 ret = nvmet_rdma_device_removal(cm_id, queue);
1791 break;
1792 case RDMA_CM_EVENT_REJECTED:
1793 pr_debug("Connection rejected: %s\n",
1794 rdma_reject_msg(cm_id, event->status));
1795 fallthrough;
1796 case RDMA_CM_EVENT_UNREACHABLE:
1797 case RDMA_CM_EVENT_CONNECT_ERROR:
1798 if (!queue) {
1799 nvmet_rdma_queue_connect_fail(cm_id, queue);
1800 break;
1801 }
1802 default:
1803 pr_err("received unrecognized RDMA CM event %d\n",
1804 event->event);
1805 break;
1806 }
1807
1808 return ret;
1809 }
1810
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
More information about the Linux-nvme
mailing list