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-... 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@i...) 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@i...)
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@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