Offering: HULK hulk inclusion category: bugfix bugzilla: NA -------------------------------- Last commit changes ib_umem_find_best_pgsz function signature. unsigned long ib_umem_find_best_pgsz(struct ib_umem *umem, unsigned long pgsz_bitmap, - unsigned long virt) + u64 virt) The u64 virt change will break the kABI. u64 is equivalent to unsigned long long on Linux kernel, use unsigned long KABI_ADD_MODIFIER(long) to fix this problem. Fixes: c89b50342035 ("[Backport] RDMA/umem: Be careful about boundary conditions in ib_umem_find_best_pgsz()") Signed-off-by: Yao Yiqi <yaoyiqi3@huawei.com> --- drivers/infiniband/core/umem.c | 2 +- include/rdma/ib_umem.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/infiniband/core/umem.c b/drivers/infiniband/core/umem.c index 7b541a91100b..143628f38633 100644 --- a/drivers/infiniband/core/umem.c +++ b/drivers/infiniband/core/umem.c @@ -87,7 +87,7 @@ static void __ib_umem_release(struct ib_device *dev, struct ib_umem *umem, int d */ unsigned long ib_umem_find_best_pgsz(struct ib_umem *umem, unsigned long pgsz_bitmap, - u64 virt) + unsigned long KABI_ADD_MODIFIER(long) virt) { struct scatterlist *sg; unsigned long pgoff; diff --git a/include/rdma/ib_umem.h b/include/rdma/ib_umem.h index f1f4c77a93dc..cb39d86df2fd 100644 --- a/include/rdma/ib_umem.h +++ b/include/rdma/ib_umem.h @@ -92,7 +92,7 @@ int ib_umem_copy_from(void *dst, struct ib_umem *umem, size_t offset, size_t length); unsigned long ib_umem_find_best_pgsz(struct ib_umem *umem, unsigned long pgsz_bitmap, - u64 virt); + unsigned long KABI_ADD_MODIFIER(long) virt); #ifdef CONFIG_INFINIBAND_PEER_MEMORY struct ib_umem *ib_umem_get_peer(struct ib_device *device, unsigned long addr, size_t size, int access, @@ -120,7 +120,7 @@ static inline int ib_umem_copy_from(void *dst, struct ib_umem *umem, size_t offs } static inline unsigned long ib_umem_find_best_pgsz(struct ib_umem *umem, unsigned long pgsz_bitmap, - u64 virt) + unsigned long KABI_ADD_MODIFIER(long) virt) { return 0; } -- 2.34.1