Message ID | 20230423141330.40437-2-mgurtovoy@nvidia.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Fix failover to non integrity NVMe path | expand |
Hi Max, kernel test robot noticed the following build errors: [auto build test ERROR on axboe-block/for-next] [also build test ERROR on hch-configfs/for-next linus/master v6.3-rc7 next-20230421] [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/Max-Gurtovoy/block-bio-integrity-export-bio_integrity_free-func/20230423-222054 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next patch link: https://lore.kernel.org/r/20230423141330.40437-2-mgurtovoy%40nvidia.com patch subject: [PATCH v1 1/2] block: bio-integrity: export bio_integrity_free func config: alpha-allnoconfig (https://download.01.org/0day-ci/archive/20230424/202304240022.AvNPfDhp-lkp@intel.com/config) compiler: alpha-linux-gcc (GCC) 12.1.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/intel-lab-lkp/linux/commit/1459ddb310ef47b008de7669cc2c57e02edf4edb git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Max-Gurtovoy/block-bio-integrity-export-bio_integrity_free-func/20230423-222054 git checkout 1459ddb310ef47b008de7669cc2c57e02edf4edb # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=alpha olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=alpha SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@intel.com> | Link: https://lore.kernel.org/oe-kbuild-all/202304240022.AvNPfDhp-lkp@intel.com/ All error/warnings (new ones prefixed by >>): In file included from include/linux/blkdev.h:17, from init/main.c:86: >> include/linux/bio.h:768:6: warning: no previous prototype for 'bio_integrity_free' [-Wmissing-prototypes] 768 | void bio_integrity_free(struct bio *bio) | ^~~~~~~~~~~~~~~~~~ init/main.c:779:20: warning: no previous prototype for 'arch_post_acpi_subsys_init' [-Wmissing-prototypes] 779 | void __init __weak arch_post_acpi_subsys_init(void) { } | ^~~~~~~~~~~~~~~~~~~~~~~~~~ init/main.c:791:20: warning: no previous prototype for 'mem_encrypt_init' [-Wmissing-prototypes] 791 | void __init __weak mem_encrypt_init(void) { } | ^~~~~~~~~~~~~~~~ init/main.c:793:20: warning: no previous prototype for 'poking_init' [-Wmissing-prototypes] 793 | void __init __weak poking_init(void) { } | ^~~~~~~~~~~ -- In file included from include/linux/blkdev.h:17, from init/do_mounts.h:3, from init/do_mounts.c:28: >> include/linux/bio.h:768:6: warning: no previous prototype for 'bio_integrity_free' [-Wmissing-prototypes] 768 | void bio_integrity_free(struct bio *bio) | ^~~~~~~~~~~~~~~~~~ -- In file included from include/linux/blkdev.h:17, from kernel/exit.c:52: >> include/linux/bio.h:768:6: warning: no previous prototype for 'bio_integrity_free' [-Wmissing-prototypes] 768 | void bio_integrity_free(struct bio *bio) | ^~~~~~~~~~~~~~~~~~ kernel/exit.c:1915:32: warning: no previous prototype for 'abort' [-Wmissing-prototypes] 1915 | __weak __function_aligned void abort(void) | ^~~~~ -- In file included from include/linux/blkdev.h:17, from block/bdev.c:14: >> include/linux/bio.h:768:6: warning: no previous prototype for 'bio_integrity_free' [-Wmissing-prototypes] 768 | void bio_integrity_free(struct bio *bio) | ^~~~~~~~~~~~~~~~~~ In file included from block/bdev.c:31: >> block/blk.h:248:20: error: redefinition of 'bio_integrity_free' 248 | static inline void bio_integrity_free(struct bio *bio) | ^~~~~~~~~~~~~~~~~~ include/linux/bio.h:768:6: note: previous definition of 'bio_integrity_free' with type 'void(struct bio *)' 768 | void bio_integrity_free(struct bio *bio) | ^~~~~~~~~~~~~~~~~~ -- In file included from include/linux/blkdev.h:17, from lib/vsprintf.c:46: >> include/linux/bio.h:768:6: warning: no previous prototype for 'bio_integrity_free' [-Wmissing-prototypes] 768 | void bio_integrity_free(struct bio *bio) | ^~~~~~~~~~~~~~~~~~ lib/vsprintf.c: In function 'va_format': lib/vsprintf.c:1681:9: warning: function 'va_format' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format] 1681 | buf += vsnprintf(buf, end > buf ? end - buf : 0, va_fmt->fmt, va); | ^~~ -- In file included from include/linux/blkdev.h:17, from block/partitions/check.h:3, from block/partitions/core.c:13: >> include/linux/bio.h:768:6: warning: no previous prototype for 'bio_integrity_free' [-Wmissing-prototypes] 768 | void bio_integrity_free(struct bio *bio) | ^~~~~~~~~~~~~~~~~~ In file included from block/partitions/check.h:4: >> block/partitions/../blk.h:248:20: error: redefinition of 'bio_integrity_free' 248 | static inline void bio_integrity_free(struct bio *bio) | ^~~~~~~~~~~~~~~~~~ include/linux/bio.h:768:6: note: previous definition of 'bio_integrity_free' with type 'void(struct bio *)' 768 | void bio_integrity_free(struct bio *bio) | ^~~~~~~~~~~~~~~~~~ vim +/bio_integrity_free +248 block/blk.h 43b729bfe9cf30 Christoph Hellwig 2018-09-24 240 5a48fc147d7f27 Dan Williams 2015-10-21 241 static inline void blk_flush_integrity(void) 5a48fc147d7f27 Dan Williams 2015-10-21 242 { 5a48fc147d7f27 Dan Williams 2015-10-21 243 } 7c20f11680a441 Christoph Hellwig 2017-07-03 244 static inline bool bio_integrity_endio(struct bio *bio) 7c20f11680a441 Christoph Hellwig 2017-07-03 245 { 7c20f11680a441 Christoph Hellwig 2017-07-03 246 return true; 7c20f11680a441 Christoph Hellwig 2017-07-03 247 } ece841abbed2da Justin Tee 2019-12-05 @248 static inline void bio_integrity_free(struct bio *bio) ece841abbed2da Justin Tee 2019-12-05 249 { ece841abbed2da Justin Tee 2019-12-05 250 } 614310c9c8ca15 Luis Chamberlain 2021-08-18 251 static inline int blk_integrity_add(struct gendisk *disk) 581e26004a09c5 Christoph Hellwig 2020-03-25 252 { 614310c9c8ca15 Luis Chamberlain 2021-08-18 253 return 0; 581e26004a09c5 Christoph Hellwig 2020-03-25 254 } 581e26004a09c5 Christoph Hellwig 2020-03-25 255 static inline void blk_integrity_del(struct gendisk *disk) 581e26004a09c5 Christoph Hellwig 2020-03-25 256 { 581e26004a09c5 Christoph Hellwig 2020-03-25 257 } 43b729bfe9cf30 Christoph Hellwig 2018-09-24 258 #endif /* CONFIG_BLK_DEV_INTEGRITY */ 8324aa91d1e11a Jens Axboe 2008-01-29 259
Hi Max, kernel test robot noticed the following build errors: [auto build test ERROR on axboe-block/for-next] [also build test ERROR on hch-configfs/for-next linus/master v6.3-rc7 next-20230421] [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/Max-Gurtovoy/block-bio-integrity-export-bio_integrity_free-func/20230423-222054 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next patch link: https://lore.kernel.org/r/20230423141330.40437-2-mgurtovoy%40nvidia.com patch subject: [PATCH v1 1/2] block: bio-integrity: export bio_integrity_free func config: powerpc-allnoconfig (https://download.01.org/0day-ci/archive/20230424/202304240037.LakzPMU9-lkp@intel.com/config) compiler: powerpc-linux-gcc (GCC) 12.1.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/intel-lab-lkp/linux/commit/1459ddb310ef47b008de7669cc2c57e02edf4edb git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Max-Gurtovoy/block-bio-integrity-export-bio_integrity_free-func/20230423-222054 git checkout 1459ddb310ef47b008de7669cc2c57e02edf4edb # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=powerpc olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=powerpc SHELL=/bin/bash arch/powerpc/lib/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@intel.com> | Link: https://lore.kernel.org/oe-kbuild-all/202304240037.LakzPMU9-lkp@intel.com/ All errors (new ones prefixed by >>): In file included from include/linux/libnvdimm.h:14, from arch/powerpc/lib/pmem.c:9: >> include/linux/bio.h:768:6: error: no previous prototype for 'bio_integrity_free' [-Werror=missing-prototypes] 768 | void bio_integrity_free(struct bio *bio) | ^~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors vim +/bio_integrity_free +768 include/linux/bio.h 767 > 768 void bio_integrity_free(struct bio *bio) 769 { 770 } 771
diff --git a/block/bio-integrity.c b/block/bio-integrity.c index 4533eb491661..276ca86fc1d3 100644 --- a/block/bio-integrity.c +++ b/block/bio-integrity.c @@ -110,6 +110,7 @@ void bio_integrity_free(struct bio *bio) bio->bi_integrity = NULL; bio->bi_opf &= ~REQ_INTEGRITY; } +EXPORT_SYMBOL(bio_integrity_free); /** * bio_integrity_add_page - Attach integrity metadata diff --git a/include/linux/bio.h b/include/linux/bio.h index d766be7152e1..3888a609b4bb 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h @@ -700,6 +700,7 @@ static inline bool bioset_initialized(struct bio_set *bs) bip_for_each_vec(_bvl, _bio->bi_integrity, _iter) extern struct bio_integrity_payload *bio_integrity_alloc(struct bio *, gfp_t, unsigned int); +extern void bio_integrity_free(struct bio *); extern int bio_integrity_add_page(struct bio *, struct page *, unsigned int, unsigned int); extern bool bio_integrity_prep(struct bio *); extern void bio_integrity_advance(struct bio *, unsigned int); @@ -764,6 +765,10 @@ static inline void *bio_integrity_alloc(struct bio * bio, gfp_t gfp, return ERR_PTR(-EINVAL); } +void bio_integrity_free(struct bio *bio) +{ +} + static inline int bio_integrity_add_page(struct bio *bio, struct page *page, unsigned int len, unsigned int offset) {
This function is the complementary function to bio_integrity_alloc. Export it for users that would like to free the integrity context explicitly. Signed-off-by: Max Gurtovoy <mgurtovoy@nvidia.com> --- block/bio-integrity.c | 1 + include/linux/bio.h | 5 +++++ 2 files changed, 6 insertions(+)