diff options
author | Kangjie Lu <kjlu@umn.edu> | 2019-03-12 03:20:34 -0500 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2019-03-22 16:19:54 -0700 |
commit | 55c1fc0af29a6c1b92f217b7eb7581a882e0c07c (patch) | |
tree | e63fa83ae1ccc403b1330ecc0269c4930e190a87 /drivers/nvdimm | |
parent | 351f339faa308c1c1461314a18c832239a841ca0 (diff) | |
download | lwn-55c1fc0af29a6c1b92f217b7eb7581a882e0c07c.tar.gz lwn-55c1fc0af29a6c1b92f217b7eb7581a882e0c07c.zip |
libnvdimm/namespace: Fix a potential NULL pointer dereference
In case kmemdup fails, the fix goes to blk_err to avoid NULL
pointer dereference.
Signed-off-by: Kangjie Lu <kjlu@umn.edu>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/nvdimm')
-rw-r--r-- | drivers/nvdimm/namespace_devs.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/nvdimm/namespace_devs.c b/drivers/nvdimm/namespace_devs.c index 7849bf1812c4..f293556cbbf6 100644 --- a/drivers/nvdimm/namespace_devs.c +++ b/drivers/nvdimm/namespace_devs.c @@ -2249,9 +2249,12 @@ static struct device *create_namespace_blk(struct nd_region *nd_region, if (!nsblk->uuid) goto blk_err; memcpy(name, nd_label->name, NSLABEL_NAME_LEN); - if (name[0]) + if (name[0]) { nsblk->alt_name = kmemdup(name, NSLABEL_NAME_LEN, GFP_KERNEL); + if (!nsblk->alt_name) + goto blk_err; + } res = nsblk_add_resource(nd_region, ndd, nsblk, __le64_to_cpu(nd_label->dpa)); if (!res) |