CC: [email protected] In-Reply-To: <[email protected]> References: <[email protected]> TO: "Uwe Kleine-König" <[email protected]> TO: William Breathitt Gray <[email protected]> CC: "Lars-Peter Clausen" <[email protected]> CC: [email protected] CC: Jonathan Cameron <[email protected]> CC: [email protected] CC: "Greg Kroah-Hartman" <[email protected]> CC: [email protected]
Hi "Uwe, I love your patch! Perhaps something to improve: [auto build test WARNING on a7904a538933c525096ca2ccde1e60d0ee62c08e] url: https://github.com/0day-ci/linux/commits/Uwe-Kleine-K-nig/counter-cleanups-and-device-lifetime-fixes/20211227-174815 base: a7904a538933c525096ca2ccde1e60d0ee62c08e :::::: branch date: 34 hours ago :::::: commit date: 34 hours ago config: i386-randconfig-m021-20211227 (https://download.01.org/0day-ci/archive/20211229/[email protected]/config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> smatch warnings: drivers/counter/counter-core.c:175 counter_alloc() error: uninitialized symbol 'id'. vim +/id +175 drivers/counter/counter-core.c aaec1a0f76ec25 William Breathitt Gray 2021-08-27 134 250e0e3d91caea Uwe Kleine-König 2021-12-27 135 /** 250e0e3d91caea Uwe Kleine-König 2021-12-27 136 * counter_alloc - allocate a counter_device 250e0e3d91caea Uwe Kleine-König 2021-12-27 137 * @sizeof_priv: size of the driver private data 250e0e3d91caea Uwe Kleine-König 2021-12-27 138 * 250e0e3d91caea Uwe Kleine-König 2021-12-27 139 * This is part one of counter registration. The structure is allocated 250e0e3d91caea Uwe Kleine-König 2021-12-27 140 * dynamically to ensure the right lifetime for the embedded struct device. 250e0e3d91caea Uwe Kleine-König 2021-12-27 141 * 250e0e3d91caea Uwe Kleine-König 2021-12-27 142 * If this succeeds, call counter_put() to get rid of the counter_device again. 250e0e3d91caea Uwe Kleine-König 2021-12-27 143 */ 250e0e3d91caea Uwe Kleine-König 2021-12-27 144 struct counter_device *counter_alloc(size_t sizeof_priv) 250e0e3d91caea Uwe Kleine-König 2021-12-27 145 { 250e0e3d91caea Uwe Kleine-König 2021-12-27 146 struct counter_device_allochelper *ch; 250e0e3d91caea Uwe Kleine-König 2021-12-27 147 struct counter_device *counter; 250e0e3d91caea Uwe Kleine-König 2021-12-27 148 struct device *dev; 250e0e3d91caea Uwe Kleine-König 2021-12-27 149 int id, err; 250e0e3d91caea Uwe Kleine-König 2021-12-27 150 250e0e3d91caea Uwe Kleine-König 2021-12-27 151 ch = kzalloc(sizeof(*ch) + sizeof_priv, GFP_KERNEL); 250e0e3d91caea Uwe Kleine-König 2021-12-27 152 if (!ch) { 250e0e3d91caea Uwe Kleine-König 2021-12-27 153 err = -ENOMEM; 250e0e3d91caea Uwe Kleine-König 2021-12-27 154 goto err_alloc_ch; 250e0e3d91caea Uwe Kleine-König 2021-12-27 155 } 250e0e3d91caea Uwe Kleine-König 2021-12-27 156 250e0e3d91caea Uwe Kleine-König 2021-12-27 157 counter = &ch->counter; 250e0e3d91caea Uwe Kleine-König 2021-12-27 158 dev = &counter->dev; 250e0e3d91caea Uwe Kleine-König 2021-12-27 159 250e0e3d91caea Uwe Kleine-König 2021-12-27 160 /* Acquire unique ID */ 250e0e3d91caea Uwe Kleine-König 2021-12-27 161 err = ida_alloc(&counter_ida, GFP_KERNEL); 250e0e3d91caea Uwe Kleine-König 2021-12-27 162 if (err < 0) { 250e0e3d91caea Uwe Kleine-König 2021-12-27 163 goto err_ida_alloc; 250e0e3d91caea Uwe Kleine-König 2021-12-27 164 } 250e0e3d91caea Uwe Kleine-König 2021-12-27 165 dev->id = err; 250e0e3d91caea Uwe Kleine-König 2021-12-27 166 250e0e3d91caea Uwe Kleine-König 2021-12-27 167 err = counter_chrdev_add(counter); 250e0e3d91caea Uwe Kleine-König 2021-12-27 168 if (err < 0) 250e0e3d91caea Uwe Kleine-König 2021-12-27 169 goto err_chrdev_add; 250e0e3d91caea Uwe Kleine-König 2021-12-27 170 250e0e3d91caea Uwe Kleine-König 2021-12-27 171 device_initialize(dev); 250e0e3d91caea Uwe Kleine-König 2021-12-27 172 /* Configure device structure for Counter */ 250e0e3d91caea Uwe Kleine-König 2021-12-27 173 dev->type = &counter_device_type; 250e0e3d91caea Uwe Kleine-König 2021-12-27 174 dev->bus = &counter_bus_type; 250e0e3d91caea Uwe Kleine-König 2021-12-27 @175 dev->devt = MKDEV(MAJOR(counter_devt), id); 250e0e3d91caea Uwe Kleine-König 2021-12-27 176 250e0e3d91caea Uwe Kleine-König 2021-12-27 177 mutex_init(&counter->ops_exist_lock); 250e0e3d91caea Uwe Kleine-König 2021-12-27 178 250e0e3d91caea Uwe Kleine-König 2021-12-27 179 return counter; 250e0e3d91caea Uwe Kleine-König 2021-12-27 180 250e0e3d91caea Uwe Kleine-König 2021-12-27 181 err_chrdev_add: 250e0e3d91caea Uwe Kleine-König 2021-12-27 182 250e0e3d91caea Uwe Kleine-König 2021-12-27 183 ida_free(&counter_ida, dev->id); 250e0e3d91caea Uwe Kleine-König 2021-12-27 184 err_ida_alloc: 250e0e3d91caea Uwe Kleine-König 2021-12-27 185 250e0e3d91caea Uwe Kleine-König 2021-12-27 186 kfree(ch); 250e0e3d91caea Uwe Kleine-König 2021-12-27 187 err_alloc_ch: 250e0e3d91caea Uwe Kleine-König 2021-12-27 188 250e0e3d91caea Uwe Kleine-König 2021-12-27 189 return ERR_PTR(err); 250e0e3d91caea Uwe Kleine-König 2021-12-27 190 } 250e0e3d91caea Uwe Kleine-König 2021-12-27 191 EXPORT_SYMBOL_GPL(counter_alloc); 250e0e3d91caea Uwe Kleine-König 2021-12-27 192 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected] _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
