| From fdcea957520bda3ec6c4ffaaa6ba3751a1500604 Mon Sep 17 00:00:00 2001 |
| From: Kangjie Lu <kjlu@umn.edu> |
| Date: Mon, 25 Mar 2019 15:23:08 -0500 |
| Subject: thunderbolt: property: Fix a missing check of kzalloc |
| |
| [ Upstream commit 6183d5a51866f3acdeeb66b75e87d44025b01a55 ] |
| |
| No check is enforced for the return value of kzalloc, |
| which may lead to NULL-pointer dereference. |
| |
| The patch fixes this issue. |
| |
| Signed-off-by: Kangjie Lu <kjlu@umn.edu> |
| Reviewed-by: Mukesh Ojha <mojha@codeaurora.org> |
| Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/thunderbolt/property.c | 7 ++++++- |
| 1 file changed, 6 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/thunderbolt/property.c b/drivers/thunderbolt/property.c |
| index b2f0d6386ceea..ead18c532b53d 100644 |
| --- a/drivers/thunderbolt/property.c |
| +++ b/drivers/thunderbolt/property.c |
| @@ -578,7 +578,12 @@ int tb_property_add_text(struct tb_property_dir *parent, const char *key, |
| return -ENOMEM; |
| |
| property->length = size / 4; |
| - property->value.data = kzalloc(size, GFP_KERNEL); |
| + property->value.text = kzalloc(size, GFP_KERNEL); |
| + if (!property->value.text) { |
| + kfree(property); |
| + return -ENOMEM; |
| + } |
| + |
| strcpy(property->value.text, text); |
| |
| list_add_tail(&property->list, &parent->properties); |
| -- |
| 2.20.1 |
| |