tree:
git://git.infradead.org/users/hch/block.git bio_alloc-cleanup
head: 152c964c974a6e3bf0dd15a8d100c075087d5186
commit: a2021f00ad0fa0638974d4302683c84dd05d25e2 [12/13] block: pass a block_device and
opf to bio_alloc
config: m68k-allmodconfig
(
https://download.01.org/0day-ci/archive/20220112/202201122142.yZBel2Ab-lk...)
compiler: m68k-linux-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
git remote add hch-block
git://git.infradead.org/users/hch/block.git
git fetch --no-tags hch-block bio_alloc-cleanup
git checkout a2021f00ad0fa0638974d4302683c84dd05d25e2
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir
ARCH=m68k SHELL=/bin/bash drivers/scsi/ufs/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/scsi/ufs/ufshpb.c: In function 'ufshpb_pre_req_mempool_init':
> drivers/scsi/ufs/ufshpb.c:2054:32: error: too few arguments to
function 'bio_alloc'
2054 | pre_req->bio =
bio_alloc(NULL, 1, GFP_KERNEL);
| ^~~~~~~~~
In file included from include/linux/writeback.h:208,
from include/linux/memcontrol.h:22,
from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from include/linux/regulator/consumer.h:35,
from drivers/scsi/ufs/ufshcd.h:32,
from drivers/scsi/ufs/ufshpb.c:15:
include/linux/bio.h:370:27: note: declared here
370 | static inline struct bio *bio_alloc(struct block_device *bdev,
| ^~~~~~~~~
vim +/bio_alloc +2054 drivers/scsi/ufs/ufshpb.c
2033
2034 static int ufshpb_pre_req_mempool_init(struct ufshpb_lu *hpb)
2035 {
2036 struct ufshpb_req *pre_req = NULL, *t;
2037 int qd = hpb->sdev_ufs_lu->queue_depth / 2;
2038 int i;
2039
2040 INIT_LIST_HEAD(&hpb->lh_pre_req_free);
2041
2042 hpb->pre_req = kcalloc(qd, sizeof(struct ufshpb_req), GFP_KERNEL);
2043 hpb->throttle_pre_req = qd;
2044 hpb->num_inflight_pre_req = 0;
2045
2046 if (!hpb->pre_req)
2047 goto release_mem;
2048
2049 for (i = 0; i < qd; i++) {
2050 pre_req = hpb->pre_req + i;
2051 INIT_LIST_HEAD(&pre_req->list_req);
2052 pre_req->req = NULL;
2053
2054 pre_req->bio = bio_alloc(NULL, 1, GFP_KERNEL);
2055 if (!pre_req->bio)
2056 goto release_mem;
2057
2058 pre_req->wb.m_page = alloc_page(GFP_KERNEL | __GFP_ZERO);
2059 if (!pre_req->wb.m_page) {
2060 bio_put(pre_req->bio);
2061 goto release_mem;
2062 }
2063
2064 list_add_tail(&pre_req->list_req, &hpb->lh_pre_req_free);
2065 }
2066
2067 return 0;
2068 release_mem:
2069 list_for_each_entry_safe(pre_req, t, &hpb->lh_pre_req_free, list_req) {
2070 list_del_init(&pre_req->list_req);
2071 bio_put(pre_req->bio);
2072 __free_page(pre_req->wb.m_page);
2073 }
2074
2075 kfree(hpb->pre_req);
2076 return -ENOMEM;
2077 }
2078
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org