[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202302191417.dAl9NuE8-lkp@intel.com>
Date: Wed, 22 Feb 2023 16:56:07 +0300
From: Dan Carpenter <error27@...il.com>
To: oe-kbuild@...ts.linux.dev, "Rafael J. Wysocki" <rjw@...ysocki.net>
Cc: lkp@...el.com, oe-kbuild-all@...ts.linux.dev,
linux-kernel@...r.kernel.org
Subject: arch/arm64/kernel/acpi.c:443 acpi_ffh_address_space_arch_setup()
warn: possible memory leak of 'ffh_ctxt'
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 925cf0457d7e62ce08878ffb789189ac08ca8677
commit: 45494d77f279d0420f06376dcf105b23e300c5a4 Merge branches 'acpi-scan', 'acpi-bus', 'acpi-tables' and 'acpi-sysfs'
config: arm64-randconfig-m031-20230219 (https://download.01.org/0day-ci/archive/20230219/202302191417.dAl9NuE8-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 12.1.0
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>
| Reported-by: Dan Carpenter <error27@...il.com>
| Link: https://lore.kernel.org/r/202302191417.dAl9NuE8-lkp@intel.com/
New smatch warnings:
arch/arm64/kernel/acpi.c:443 acpi_ffh_address_space_arch_setup() warn: possible memory leak of 'ffh_ctxt'
Old smatch warnings:
arch/arm64/kernel/acpi.c:448 acpi_ffh_address_space_arch_setup() warn: possible memory leak of 'ffh_ctxt'
vim +/ffh_ctxt +443 arch/arm64/kernel/acpi.c
1d280ce099db39 Sudeep Holla 2022-11-10 433 int acpi_ffh_address_space_arch_setup(void *handler_ctxt, void **region_ctxt)
1d280ce099db39 Sudeep Holla 2022-11-10 434 {
1d280ce099db39 Sudeep Holla 2022-11-10 435 enum arm_smccc_conduit conduit;
1d280ce099db39 Sudeep Holla 2022-11-10 436 struct acpi_ffh_data *ffh_ctxt;
1d280ce099db39 Sudeep Holla 2022-11-10 437
1d280ce099db39 Sudeep Holla 2022-11-10 438 ffh_ctxt = kzalloc(sizeof(*ffh_ctxt), GFP_KERNEL);
1d280ce099db39 Sudeep Holla 2022-11-10 439 if (!ffh_ctxt)
1d280ce099db39 Sudeep Holla 2022-11-10 440 return -ENOMEM;
1d280ce099db39 Sudeep Holla 2022-11-10 441
1d280ce099db39 Sudeep Holla 2022-11-10 442 if (arm_smccc_get_version() < ARM_SMCCC_VERSION_1_2)
1d280ce099db39 Sudeep Holla 2022-11-10 @443 return -EOPNOTSUPP;
Do these checks before the ffh_ctxt = kzalloc()?
1d280ce099db39 Sudeep Holla 2022-11-10 444
1d280ce099db39 Sudeep Holla 2022-11-10 445 conduit = arm_smccc_1_1_get_conduit();
1d280ce099db39 Sudeep Holla 2022-11-10 446 if (conduit == SMCCC_CONDUIT_NONE) {
1d280ce099db39 Sudeep Holla 2022-11-10 447 pr_err("%s: invalid SMCCC conduit\n", __func__);
1d280ce099db39 Sudeep Holla 2022-11-10 448 return -EOPNOTSUPP;
Same
1d280ce099db39 Sudeep Holla 2022-11-10 449 }
1d280ce099db39 Sudeep Holla 2022-11-10 450
1d280ce099db39 Sudeep Holla 2022-11-10 451 if (conduit == SMCCC_CONDUIT_SMC) {
1d280ce099db39 Sudeep Holla 2022-11-10 452 ffh_ctxt->invoke_ffh_fn = __arm_smccc_smc;
1d280ce099db39 Sudeep Holla 2022-11-10 453 ffh_ctxt->invoke_ffh64_fn = arm_smccc_1_2_smc;
1d280ce099db39 Sudeep Holla 2022-11-10 454 } else {
1d280ce099db39 Sudeep Holla 2022-11-10 455 ffh_ctxt->invoke_ffh_fn = __arm_smccc_hvc;
1d280ce099db39 Sudeep Holla 2022-11-10 456 ffh_ctxt->invoke_ffh64_fn = arm_smccc_1_2_hvc;
1d280ce099db39 Sudeep Holla 2022-11-10 457 }
1d280ce099db39 Sudeep Holla 2022-11-10 458
1d280ce099db39 Sudeep Holla 2022-11-10 459 memcpy(ffh_ctxt, handler_ctxt, sizeof(ffh_ctxt->info));
1d280ce099db39 Sudeep Holla 2022-11-10 460
1d280ce099db39 Sudeep Holla 2022-11-10 461 *region_ctxt = ffh_ctxt;
1d280ce099db39 Sudeep Holla 2022-11-10 462 return AE_OK;
1d280ce099db39 Sudeep Holla 2022-11-10 463 }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
Powered by blists - more mailing lists