[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6933c98f-7f76-4955-ba0f-89ea340b672d@suswa.mountain>
Date: Thu, 23 Nov 2023 10:24:24 +0300
From: Dan Carpenter <dan.carpenter@...aro.org>
To: oe-kbuild@...ts.linux.dev, Tony Lindgren <tony@...mide.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Jiri Slaby <jirislaby@...nel.org>,
Petr Mladek <pmladek@...e.com>,
Steven Rostedt <rostedt@...dmis.org>,
John Ogness <john.ogness@...utronix.de>,
Sergey Senozhatsky <senozhatsky@...omium.org>
Cc: lkp@...el.com, oe-kbuild-all@...ts.linux.dev,
"David S . Miller" <davem@...emloft.net>,
Andy Shevchenko <andriy.shevchenko@...el.com>,
Dhruva Gole <d-gole@...com>,
Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>,
Johan Hovold <johan@...nel.org>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
Vignesh Raghavendra <vigneshr@...com>,
linux-kernel@...r.kernel.org, linux-serial@...r.kernel.org
Subject: Re: [PATCH v3 3/3] serial: core: Move console character device
handling from printk
Hi Tony,
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/Tony-Lindgren/printk-Save-console-options-for-add_preferred_console_match/20231121-193809
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing
patch link: https://lore.kernel.org/r/20231121113203.61341-4-tony%40atomide.com
patch subject: [PATCH v3 3/3] serial: core: Move console character device handling from printk
config: parisc-randconfig-r081-20231122 (https://download.01.org/0day-ci/archive/20231122/202311221437.5Gil0Pml-lkp@intel.com/config)
compiler: hppa-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231122/202311221437.5Gil0Pml-lkp@intel.com/reproduce)
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@...el.com>
| Reported-by: Dan Carpenter <error27@...il.com>
| Closes: https://lore.kernel.org/r/202311221437.5Gil0Pml-lkp@intel.com/
smatch warnings:
drivers/tty/serial/serial_base_bus.c:266 serial_base_add_preferred_console() error: uninitialized symbol 'nmbr_match'.
drivers/tty/serial/serial_base_bus.c:265 serial_base_add_preferred_console() error: uninitialized symbol 'char_match'.
vim +/nmbr_match +266 drivers/tty/serial/serial_base_bus.c
e4ebdcd790e0f3 Tony Lindgren 2023-11-21 261 int serial_base_add_preferred_console(struct uart_driver *drv,
e4ebdcd790e0f3 Tony Lindgren 2023-11-21 262 struct uart_port *port)
e4ebdcd790e0f3 Tony Lindgren 2023-11-21 263 {
e4ebdcd790e0f3 Tony Lindgren 2023-11-21 264 const char *port_match __free(kfree);
b1b8726ec3f40b Tony Lindgren 2023-11-21 @265 const char *char_match __free(kfree);
b1b8726ec3f40b Tony Lindgren 2023-11-21 @266 const char *nmbr_match __free(kfree);
These need to be initialized to NULL.
const char *char_match __free(kfree) = NULL;
e4ebdcd790e0f3 Tony Lindgren 2023-11-21 267 int ret;
e4ebdcd790e0f3 Tony Lindgren 2023-11-21 268
e4ebdcd790e0f3 Tony Lindgren 2023-11-21 269 port_match = kasprintf(GFP_KERNEL, "%s:%i.%i", dev_name(port->dev),
e4ebdcd790e0f3 Tony Lindgren 2023-11-21 270 port->ctrl_id, port->port_id);
e4ebdcd790e0f3 Tony Lindgren 2023-11-21 271 if (!port_match)
e4ebdcd790e0f3 Tony Lindgren 2023-11-21 272 return -ENOMEM;
Otherwise in this error path we'll call kfree(char_match) and
kfree(nmbr_match) when the haven't been initialized.
e4ebdcd790e0f3 Tony Lindgren 2023-11-21 273
b1b8726ec3f40b Tony Lindgren 2023-11-21 274 char_match = kasprintf(GFP_KERNEL, "%s%i", drv->dev_name, port->line);
b1b8726ec3f40b Tony Lindgren 2023-11-21 275 if (!char_match)
b1b8726ec3f40b Tony Lindgren 2023-11-21 276 return -ENOMEM;
b1b8726ec3f40b Tony Lindgren 2023-11-21 277
b1b8726ec3f40b Tony Lindgren 2023-11-21 278 /* Handle ttyS specific options */
b1b8726ec3f40b Tony Lindgren 2023-11-21 279 if (!strncmp(drv->dev_name, "ttyS", 4)) {
b1b8726ec3f40b Tony Lindgren 2023-11-21 280 /* No name, just a number */
b1b8726ec3f40b Tony Lindgren 2023-11-21 281 nmbr_match = kasprintf(GFP_KERNEL, "%i", port->line);
b1b8726ec3f40b Tony Lindgren 2023-11-21 282 if (!nmbr_match)
b1b8726ec3f40b Tony Lindgren 2023-11-21 283 return -ENODEV;
b1b8726ec3f40b Tony Lindgren 2023-11-21 284
b1b8726ec3f40b Tony Lindgren 2023-11-21 285 ret = add_preferred_console_match(nmbr_match, drv->dev_name,
b1b8726ec3f40b Tony Lindgren 2023-11-21 286 port->line);
b1b8726ec3f40b Tony Lindgren 2023-11-21 287 if (ret && ret != -ENOENT)
b1b8726ec3f40b Tony Lindgren 2023-11-21 288 return ret;
b1b8726ec3f40b Tony Lindgren 2023-11-21 289
b1b8726ec3f40b Tony Lindgren 2023-11-21 290 /* Sparc ttya and ttyb */
b1b8726ec3f40b Tony Lindgren 2023-11-21 291 ret = serial_base_add_sparc_console(drv, port);
b1b8726ec3f40b Tony Lindgren 2023-11-21 292 if (ret)
b1b8726ec3f40b Tony Lindgren 2023-11-21 293 return ret;
b1b8726ec3f40b Tony Lindgren 2023-11-21 294 }
b1b8726ec3f40b Tony Lindgren 2023-11-21 295
b1b8726ec3f40b Tony Lindgren 2023-11-21 296 /* Handle the traditional character device name style console=ttyS0 */
b1b8726ec3f40b Tony Lindgren 2023-11-21 297 ret = add_preferred_console_match(char_match, drv->dev_name, port->line);
b1b8726ec3f40b Tony Lindgren 2023-11-21 298 if (ret && ret != -ENOENT)
b1b8726ec3f40b Tony Lindgren 2023-11-21 299 return ret;
b1b8726ec3f40b Tony Lindgren 2023-11-21 300
e4ebdcd790e0f3 Tony Lindgren 2023-11-21 301 /* Translate a hardware addressing style console=DEVNAME:0.0 */
e4ebdcd790e0f3 Tony Lindgren 2023-11-21 302 ret = add_preferred_console_match(port_match, drv->dev_name, port->line);
e4ebdcd790e0f3 Tony Lindgren 2023-11-21 303 if (ret && ret != -ENOENT)
e4ebdcd790e0f3 Tony Lindgren 2023-11-21 304 return ret;
e4ebdcd790e0f3 Tony Lindgren 2023-11-21 305
e4ebdcd790e0f3 Tony Lindgren 2023-11-21 306 return 0;
e4ebdcd790e0f3 Tony Lindgren 2023-11-21 307 }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists