
From: Li Lingfeng <lilingfeng3@huawei.com> hulk inclusion category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/IB7FJU -------------------------------- Commit 0f2e6ab851ae ("block: turn the nr_iovecs argument to bio_alloc* into an unsigned short") change the type of parameter of bio_alloc_bioset. Change it back to fix kabi broken since it does't matter. Fixes: 0f2e6ab851ae ("block: turn the nr_iovecs argument to bio_alloc* into an unsigned short") Signed-off-by: Li Lingfeng <lilingfeng3@huawei.com> Signed-off-by: Li Nan <linan122@huawei.com> --- include/linux/bio.h | 6 +++--- block/bio.c | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/include/linux/bio.h b/include/linux/bio.h index 005b62c67a2c..c571ed1d7168 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h @@ -393,7 +393,7 @@ extern void bioset_exit(struct bio_set *); extern int biovec_init_pool(mempool_t *pool, int pool_entries); extern int bioset_init_from_src(struct bio_set *bs, struct bio_set *src); -extern struct bio *bio_alloc_bioset(gfp_t, unsigned short, struct bio_set *); +extern struct bio *bio_alloc_bioset(gfp_t, unsigned int, struct bio_set *); extern void bio_put(struct bio *); extern void __bio_clone_fast(struct bio *, struct bio *); @@ -401,12 +401,12 @@ extern struct bio *bio_clone_fast(struct bio *, gfp_t, struct bio_set *); extern struct bio_set fs_bio_set; -static inline struct bio *bio_alloc(gfp_t gfp_mask, unsigned short nr_iovecs) +static inline struct bio *bio_alloc(gfp_t gfp_mask, unsigned int nr_iovecs) { return bio_alloc_bioset(gfp_mask, nr_iovecs, &fs_bio_set); } -static inline struct bio *bio_kmalloc(gfp_t gfp_mask, unsigned short nr_iovecs) +static inline struct bio *bio_kmalloc(gfp_t gfp_mask, unsigned int nr_iovecs) { return bio_alloc_bioset(gfp_mask, nr_iovecs, NULL); } diff --git a/block/bio.c b/block/bio.c index e5e180436f47..8168636d7ad3 100644 --- a/block/bio.c +++ b/block/bio.c @@ -407,7 +407,7 @@ static void punt_bios_to_rescuer(struct bio_set *bs) * RETURNS: * Pointer to new bio on success, NULL on failure. */ -struct bio *bio_alloc_bioset(gfp_t gfp_mask, unsigned short nr_iovecs, +struct bio *bio_alloc_bioset(gfp_t gfp_mask, unsigned int nr_iovecs_int, struct bio_set *bs) { gfp_t saved_gfp = gfp_mask; @@ -416,6 +416,7 @@ struct bio *bio_alloc_bioset(gfp_t gfp_mask, unsigned short nr_iovecs, struct bio_vec *bvl = NULL; struct bio *bio; void *p; + unsigned short nr_iovecs = (unsigned short)nr_iovecs_int; if (!bs) { if (nr_iovecs > UIO_MAXIOV) -- 2.39.2