Re: [PATCH v3] HID: hid-goodix: Add Goodix HID-over-SPI driver

From: Dan Carpenter
Date: Mon Jun 10 2024 - 05:40:13 EST


Hi Charles,

kernel test robot noticed the following build warnings:

https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Charles-Wang/HID-hid-goodix-Add-Goodix-HID-over-SPI-driver/20240607-214042
base: https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git for-next
patch link: https://lore.kernel.org/r/20240607133709.3518-1-charles.goodix%40gmail.com
patch subject: [PATCH v3] HID: hid-goodix: Add Goodix HID-over-SPI driver
config: sparc64-randconfig-r071-20240609 (https://download.01.org/0day-ci/archive/20240610/202406101633.1RJnij1Y-lkp@xxxxxxxxx/config)
compiler: sparc64-linux-gcc (GCC) 13.2.0

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
| Closes: https://lore.kernel.org/r/202406101633.1RJnij1Y-lkp@xxxxxxxxx/

smatch warnings:
drivers/hid/hid-goodix-spi.c:217 goodix_hid_parse() error: uninitialized symbol 'rdesc'.

vim +/rdesc +217 drivers/hid/hid-goodix-spi.c

bb11c3a1740813 Charles Wang 2024-06-07 214 static int goodix_hid_parse(struct hid_device *hid)
bb11c3a1740813 Charles Wang 2024-06-07 215 {
bb11c3a1740813 Charles Wang 2024-06-07 216 struct goodix_ts_data *ts = hid->driver_data;
bb11c3a1740813 Charles Wang 2024-06-07 @217 u8 *rdesc __free(kfree);
bb11c3a1740813 Charles Wang 2024-06-07 218 u16 rsize;
bb11c3a1740813 Charles Wang 2024-06-07 219 int error;
bb11c3a1740813 Charles Wang 2024-06-07 220
bb11c3a1740813 Charles Wang 2024-06-07 221 rsize = le16_to_cpu(ts->hid_desc.report_desc_lenght);
bb11c3a1740813 Charles Wang 2024-06-07 222 if (!rsize || rsize > HID_MAX_DESCRIPTOR_SIZE) {
bb11c3a1740813 Charles Wang 2024-06-07 223 dev_err(ts->dev, "invalid report desc size %d", rsize);
bb11c3a1740813 Charles Wang 2024-06-07 224 return -EINVAL;
^^^^^^^^^^^^^^^
rdesc isn't initialized here. It should be declared as:

u8 *rdesc __free(kfree) = NULL;

bb11c3a1740813 Charles Wang 2024-06-07 225 }
bb11c3a1740813 Charles Wang 2024-06-07 226
bb11c3a1740813 Charles Wang 2024-06-07 227 rdesc = kzalloc(rsize, GFP_KERNEL);

Or it could be declared here instead.

u8 *rdesc __free(kfree) = kzalloc(rsize, GFP_KERNEL);

bb11c3a1740813 Charles Wang 2024-06-07 228 if (!rdesc)
bb11c3a1740813 Charles Wang 2024-06-07 229 return -ENOMEM;
bb11c3a1740813 Charles Wang 2024-06-07 230
bb11c3a1740813 Charles Wang 2024-06-07 231 error = goodix_spi_read(ts, GOODIX_HID_REPORT_DESC_ADDR, rdesc, rsize);
bb11c3a1740813 Charles Wang 2024-06-07 232 if (error) {
bb11c3a1740813 Charles Wang 2024-06-07 233 dev_err(ts->dev, "failed get report desc, %d", error);
bb11c3a1740813 Charles Wang 2024-06-07 234 return error;
bb11c3a1740813 Charles Wang 2024-06-07 235 }
bb11c3a1740813 Charles Wang 2024-06-07 236
bb11c3a1740813 Charles Wang 2024-06-07 237 error = hid_parse_report(hid, rdesc, rsize);
bb11c3a1740813 Charles Wang 2024-06-07 238 if (error)
bb11c3a1740813 Charles Wang 2024-06-07 239 dev_err(ts->dev, "failed parse report, %d", error);
bb11c3a1740813 Charles Wang 2024-06-07 240
bb11c3a1740813 Charles Wang 2024-06-07 241 return error;
bb11c3a1740813 Charles Wang 2024-06-07 242 }

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki