krealloc() may fail to expand the memory space. Add sanity checks to it, and WARN() if that really happened. Fixes: 771915c4f688 ("xfs: remove kmem_realloc()") Reported-by: Hulk Robot <hulkci@xxxxxxxxxx> Signed-off-by: Qinglang Miao <miaoqinglang@xxxxxxxxxx> --- fs/xfs/xfs_mount.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c index 150ee5cb8..c07f48c32 100644 --- a/fs/xfs/xfs_mount.c +++ b/fs/xfs/xfs_mount.c @@ -80,9 +80,13 @@ xfs_uuid_mount( } if (hole < 0) { - xfs_uuid_table = krealloc(xfs_uuid_table, + uuid_t *if_xfs_uuid_table; + if_xfs_uuid_table = krealloc(xfs_uuid_table, (xfs_uuid_table_size + 1) * sizeof(*xfs_uuid_table), GFP_KERNEL | __GFP_NOFAIL); + if (!if_xfs_uuid_table) + goto out_duplicate; + xfs_uuid_table = if_xfs_uuid_table; hole = xfs_uuid_table_size++; } xfs_uuid_table[hole] = *uuid; -- 2.23.0