| From foo@baz Wed Aug 22 09:42:09 CEST 2018 |
| From: Dave Jiang <dave.jiang@intel.com> |
| Date: Wed, 11 Jul 2018 10:10:11 -0700 |
| Subject: nfit: fix unchecked dereference in acpi_nfit_ctl |
| |
| From: Dave Jiang <dave.jiang@intel.com> |
| |
| [ Upstream commit ee6581ceba7f8314b81b2f2a81f1cf3f67c679e2 ] |
| |
| Incremental patch to fix the unchecked dereference in acpi_nfit_ctl. |
| Reported by Dan Carpenter: |
| |
| "acpi/nfit: fix cmd_rc for acpi_nfit_ctl to |
| always return a value" from Jun 28, 2018, leads to the following |
| Smatch complaint: |
| |
| drivers/acpi/nfit/core.c:578 acpi_nfit_ctl() |
| warn: variable dereferenced before check 'cmd_rc' (see line 411) |
| |
| drivers/acpi/nfit/core.c |
| 410 |
| 411 *cmd_rc = -EINVAL; |
| ^^^^^^^^^^^^^^^^^^ |
| Patch adds unchecked dereference. |
| |
| Fixes: c1985cefd844 ("acpi/nfit: fix cmd_rc for acpi_nfit_ctl to always return a value") |
| |
| Signed-off-by: Dave Jiang <dave.jiang@intel.com> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/acpi/nfit/core.c | 6 ++++-- |
| 1 file changed, 4 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/acpi/nfit/core.c |
| +++ b/drivers/acpi/nfit/core.c |
| @@ -201,7 +201,8 @@ int acpi_nfit_ctl(struct nvdimm_bus_desc |
| const u8 *uuid; |
| int rc, i; |
| |
| - *cmd_rc = -EINVAL; |
| + if (cmd_rc) |
| + *cmd_rc = -EINVAL; |
| func = cmd; |
| if (cmd == ND_CMD_CALL) { |
| call_pkg = buf; |
| @@ -289,7 +290,8 @@ int acpi_nfit_ctl(struct nvdimm_bus_desc |
| * If we return an error (like elsewhere) then caller wouldn't |
| * be able to rely upon data returned to make calculation. |
| */ |
| - *cmd_rc = 0; |
| + if (cmd_rc) |
| + *cmd_rc = 0; |
| return 0; |
| } |
| |