BCC: lkp@intel.com CC: oe-kbuild-all@lists.linux.dev In-Reply-To: <20221226090609.1917788-1-d-tatianin@yandex-team.ru> References: <20221226090609.1917788-1-d-tatianin@yandex-team.ru> TO: Daniil Tatianin TO: "David S. Miller" CC: netdev@vger.kernel.org CC: Daniil Tatianin CC: Eric Dumazet CC: Jakub Kicinski CC: Paolo Abeni CC: Varun Prakash CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: Mike Christie CC: Lee Duncan CC: Wu Bo CC: Nilesh Javali CC: Max Gurtovoy CC: linux-kernel@vger.kernel.org CC: linux-scsi@vger.kernel.org CC: target-devel@vger.kernel.org Hi Daniil, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on mkp-scsi/for-next] [also build test WARNING on jejb-scsi/for-next linus/master v6.2-rc1 next-20221226] [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/Daniil-Tatianin/cxgbi-move-cxgbi_ddp_set_one_ppod-to-cxgb_ppm-and-remove-its-duplicate/20221226-171028 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next patch link: https://lore.kernel.org/r/20221226090609.1917788-1-d-tatianin%40yandex-team.ru patch subject: [RESEND PATCH v2] cxgbi: move cxgbi_ddp_set_one_ppod to cxgb_ppm and remove its duplicate :::::: branch date: 3 days ago :::::: commit date: 3 days ago config: powerpc-randconfig-m031-20221226 compiler: powerpc-linux-gcc (GCC) 12.1.0 If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot | Reported-by: Dan Carpenter smatch warnings: drivers/net/ethernet/chelsio/libcxgb/libcxgb_ppm.c:571 cxgbi_ppm_set_one_ppod() error: we previously assumed 'sg_off' could be null (see line 536) vim +/sg_off +571 drivers/net/ethernet/chelsio/libcxgb/libcxgb_ppm.c b8b9d81b36a4ad Varun Prakash 2016-07-21 529 e775e542c914b4 Daniil Tatianin 2022-12-26 530 void e775e542c914b4 Daniil Tatianin 2022-12-26 531 cxgbi_ppm_set_one_ppod(struct cxgbi_pagepod *ppod, e775e542c914b4 Daniil Tatianin 2022-12-26 532 struct cxgbi_task_tag_info *ttinfo, e775e542c914b4 Daniil Tatianin 2022-12-26 533 struct scatterlist **sg_pp, unsigned int *sg_off) e775e542c914b4 Daniil Tatianin 2022-12-26 534 { e775e542c914b4 Daniil Tatianin 2022-12-26 535 struct scatterlist *sg = sg_pp ? *sg_pp : NULL; e775e542c914b4 Daniil Tatianin 2022-12-26 @536 unsigned int offset = sg_off ? *sg_off : 0; e775e542c914b4 Daniil Tatianin 2022-12-26 537 dma_addr_t addr = 0UL; e775e542c914b4 Daniil Tatianin 2022-12-26 538 unsigned int len = 0; e775e542c914b4 Daniil Tatianin 2022-12-26 539 int i; e775e542c914b4 Daniil Tatianin 2022-12-26 540 e775e542c914b4 Daniil Tatianin 2022-12-26 541 memcpy(ppod, &ttinfo->hdr, sizeof(struct cxgbi_pagepod_hdr)); e775e542c914b4 Daniil Tatianin 2022-12-26 542 e775e542c914b4 Daniil Tatianin 2022-12-26 543 if (sg) { e775e542c914b4 Daniil Tatianin 2022-12-26 544 addr = sg_dma_address(sg); e775e542c914b4 Daniil Tatianin 2022-12-26 545 len = sg_dma_len(sg); e775e542c914b4 Daniil Tatianin 2022-12-26 546 } e775e542c914b4 Daniil Tatianin 2022-12-26 547 e775e542c914b4 Daniil Tatianin 2022-12-26 548 for (i = 0; i < PPOD_PAGES_MAX; i++) { e775e542c914b4 Daniil Tatianin 2022-12-26 549 if (sg) { e775e542c914b4 Daniil Tatianin 2022-12-26 550 ppod->addr[i] = cpu_to_be64(addr + offset); e775e542c914b4 Daniil Tatianin 2022-12-26 551 offset += PAGE_SIZE; e775e542c914b4 Daniil Tatianin 2022-12-26 552 if (offset == (len + sg->offset)) { e775e542c914b4 Daniil Tatianin 2022-12-26 553 offset = 0; e775e542c914b4 Daniil Tatianin 2022-12-26 554 sg = sg_next(sg); e775e542c914b4 Daniil Tatianin 2022-12-26 555 if (sg) { e775e542c914b4 Daniil Tatianin 2022-12-26 556 addr = sg_dma_address(sg); e775e542c914b4 Daniil Tatianin 2022-12-26 557 len = sg_dma_len(sg); e775e542c914b4 Daniil Tatianin 2022-12-26 558 } e775e542c914b4 Daniil Tatianin 2022-12-26 559 } e775e542c914b4 Daniil Tatianin 2022-12-26 560 } else { e775e542c914b4 Daniil Tatianin 2022-12-26 561 ppod->addr[i] = 0ULL; e775e542c914b4 Daniil Tatianin 2022-12-26 562 } e775e542c914b4 Daniil Tatianin 2022-12-26 563 } e775e542c914b4 Daniil Tatianin 2022-12-26 564 e775e542c914b4 Daniil Tatianin 2022-12-26 565 /* e775e542c914b4 Daniil Tatianin 2022-12-26 566 * the fifth address needs to be repeated in the next ppod, so do e775e542c914b4 Daniil Tatianin 2022-12-26 567 * not move sg e775e542c914b4 Daniil Tatianin 2022-12-26 568 */ e775e542c914b4 Daniil Tatianin 2022-12-26 569 if (sg_pp) { e775e542c914b4 Daniil Tatianin 2022-12-26 570 *sg_pp = sg; e775e542c914b4 Daniil Tatianin 2022-12-26 @571 *sg_off = offset; e775e542c914b4 Daniil Tatianin 2022-12-26 572 } e775e542c914b4 Daniil Tatianin 2022-12-26 573 e775e542c914b4 Daniil Tatianin 2022-12-26 574 if (offset == len) { e775e542c914b4 Daniil Tatianin 2022-12-26 575 offset = 0; e775e542c914b4 Daniil Tatianin 2022-12-26 576 if (sg) { e775e542c914b4 Daniil Tatianin 2022-12-26 577 sg = sg_next(sg); e775e542c914b4 Daniil Tatianin 2022-12-26 578 if (sg) e775e542c914b4 Daniil Tatianin 2022-12-26 579 addr = sg_dma_address(sg); e775e542c914b4 Daniil Tatianin 2022-12-26 580 } e775e542c914b4 Daniil Tatianin 2022-12-26 581 } e775e542c914b4 Daniil Tatianin 2022-12-26 582 ppod->addr[i] = sg ? cpu_to_be64(addr + offset) : 0ULL; e775e542c914b4 Daniil Tatianin 2022-12-26 583 } e775e542c914b4 Daniil Tatianin 2022-12-26 584 EXPORT_SYMBOL(cxgbi_ppm_set_one_ppod); e775e542c914b4 Daniil Tatianin 2022-12-26 585 -- 0-DAY CI Kernel Test Service https://01.org/lkp