[android-common:android16-6.12 5/5] drivers/usb/gadget/configfs.c:2050 gadgets_make() error: double free of 'gi->composite.gadget_driver.driver.name' (line 2048)
kernel test robot <[email protected]> Tue, 28 Jul 2026 17:21:15 +0800
| Newsgroups | dev.linux.lists.oe-kbuild,dev.linux.lists.oe-kbuild-all |
|---|---|
| Message-ID | <[email protected]> |
BCC: [email protected] CC: [email protected] TO: [email protected] tree: https://android.googlesource.com/kernel/common android16-6.12 head: 579215f16d4e5c3062e423a583897e83473e1435 commit: 957b40b3b769bc23db3d6491db267e3166f91316 [5/5] ANDROID: usb: gadget= : configfs: Add Uevent to notify userspace :::::: branch date: 3 days ago :::::: commit date: 2 years, 1 month ago config: i386-randconfig-141 (https://download.01.org/0day-ci/archive/202607= 28/[email protected]/config) compiler: gcc-14 (Debian 14.2.0-19) 14.2.0 smatch: v0.5.0-9187-g5189e3fb If you fix the issue in a separate patch/commit (i.e. not just a new versio= n of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <[email protected]> | Reported-by: Dan Carpenter <[email protected]> | Closes: https://lore.kernel.org/r/[email protected]/ smatch warnings: drivers/usb/gadget/configfs.c:2050 gadgets_make() error: double free of 'gi= ->composite.gadget_driver.driver.name' (line 2048) vim +2050 drivers/usb/gadget/configfs.c 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 1980 =20 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 1981 static struct c= onfig_group *gadgets_make( 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 1982 struct config= _group *group, 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 1983 const char *n= ame) 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 1984 { 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 1985 struct gadget_= info *gi; 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 1986 =20 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 1987 gi =3D kzalloc= (sizeof(*gi), GFP_KERNEL); 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 1988 if (!gi) 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 1989 return ERR_PT= R(-ENOMEM); 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 1990 =20 1ae1602de028aca Christoph Hellwig 2016-02-26 1991 config_group_i= nit_type_name(&gi->group, name, &gadget_root_type); 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 1992 =20 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 1993 config_group_i= nit_type_name(&gi->functions_group, "functions", 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 1994 &functions_t= ype); 1ae1602de028aca Christoph Hellwig 2016-02-26 1995 configfs_add_d= efault_group(&gi->functions_group, &gi->group); 1ae1602de028aca Christoph Hellwig 2016-02-26 1996 =20 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 1997 config_group_i= nit_type_name(&gi->configs_group, "configs", 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 1998 &config_desc= _type); 1ae1602de028aca Christoph Hellwig 2016-02-26 1999 configfs_add_d= efault_group(&gi->configs_group, &gi->group); 1ae1602de028aca Christoph Hellwig 2016-02-26 2000 =20 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2001 config_group_i= nit_type_name(&gi->strings_group, "strings", 6e2a512d9532c51 Daniel Scally 2023-02-06 2002 &gadget_lang= uage_strings_type); 1ae1602de028aca Christoph Hellwig 2016-02-26 2003 configfs_add_d= efault_group(&gi->strings_group, &gi->group); 1ae1602de028aca Christoph Hellwig 2016-02-26 2004 =20 87213d388e927aa Andrzej Pietrasiewicz 2014-05-08 2005 config_group_i= nit_type_name(&gi->os_desc_group, "os_desc", 87213d388e927aa Andrzej Pietrasiewicz 2014-05-08 2006 &os_desc_typ= e); 1ae1602de028aca Christoph Hellwig 2016-02-26 2007 configfs_add_d= efault_group(&gi->os_desc_group, &gi->group); 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2008 =20 93c473948c58897 J=C3=B3 =C3=81gila Bitsch 2023-01-13 2009 conf= ig_group_init_type_name(&gi->webusb_group, "webusb", 93c473948c58897 J=C3=B3 =C3=81gila Bitsch 2023-01-13 2010 &w= ebusb_type); 93c473948c58897 J=C3=B3 =C3=81gila Bitsch 2023-01-13 2011 conf= igfs_add_default_group(&gi->webusb_group, &gi->group); 93c473948c58897 J=C3=B3 =C3=81gila Bitsch 2023-01-13 2012 =20 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2013 gi->composite.= bind =3D configfs_do_nothing; 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2014 gi->composite.= unbind =3D configfs_do_nothing; 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2015 gi->composite.= suspend =3D NULL; 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2016 gi->composite.= resume =3D NULL; e2459108b5a0604 taehyun.cho 2021-01-07 2017 gi->composite.= max_speed =3D USB_SPEED_SUPER_PLUS; 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2018 =20 093edc2baad2c25 Wei Yongjun 2019-10-30 2019 spin_lock_init= (&gi->spinlock); 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2020 mutex_init(&gi= ->lock); 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2021 INIT_LIST_HEAD= (&gi->string_list); 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2022 INIT_LIST_HEAD= (&gi->available_func); 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2023 =20 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2024 composite_init= _dev(&gi->cdev); 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2025 gi->cdev.desc.= bLength =3D USB_DT_DEVICE_SIZE; 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2026 gi->cdev.desc.= bDescriptorType =3D USB_DT_DEVICE; 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2027 gi->cdev.desc.= bcdDevice =3D cpu_to_le16(get_default_bcdDevice()); 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2028 =20 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2029 gi->composite.= gadget_driver =3D configfs_driver_template; 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2030 =20 7c07553807c5125 Chanh Nguyen 2023-01-11 2031 gi->composite.= gadget_driver.driver.name =3D kasprintf(GFP_KERNEL, 7c07553807c5125 Chanh Nguyen 2023-01-11 2032 "con= figfs-gadget.%s", name); 7c07553807c5125 Chanh Nguyen 2023-01-11 2033 if (!gi->compo= site.gadget_driver.driver.name) 7c07553807c5125 Chanh Nguyen 2023-01-11 2034 goto err; 7c07553807c5125 Chanh Nguyen 2023-01-11 2035 =20 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2036 gi->composite.= gadget_driver.function =3D kstrdup(name, GFP_KERNEL); 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2037 gi->composite.= name =3D gi->composite.gadget_driver.function; 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2038 =20 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2039 if (!gi->compo= site.gadget_driver.function) 7c07553807c5125 Chanh Nguyen 2023-01-11 2040 goto out_free= _driver_name; 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2041 =20 957b40b3b769bc2 Neill Kapron 2024-02-01 2042 if (android_de= vice_create(&gi->cdev.android_opts)) 957b40b3b769bc2 Neill Kapron 2024-02-01 2043 goto out_free= _driver_name_and_function; 957b40b3b769bc2 Neill Kapron 2024-02-01 2044 =20 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2045 return &gi->gr= oup; 7c07553807c5125 Chanh Nguyen 2023-01-11 2046 =20 7c07553807c5125 Chanh Nguyen 2023-01-11 2047 out_free_driver= _name: 7c07553807c5125 Chanh Nguyen 2023-01-11 @2048 kfree(gi->comp= osite.gadget_driver.driver.name); 957b40b3b769bc2 Neill Kapron 2024-02-01 2049 out_free_driver= _name_and_function: 957b40b3b769bc2 Neill Kapron 2024-02-01 @2050 kfree(gi->comp= osite.gadget_driver.driver.name); 957b40b3b769bc2 Neill Kapron 2024-02-01 2051 kfree(gi->comp= osite.gadget_driver.function); 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2052 err: 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2053 kfree(gi); 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2054 return ERR_PTR= (-ENOMEM); 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2055 } 88af8bbe4ef7810 Sebastian Andrzej Siewior 2012-12-23 2056 =20 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki