Re: drivers/power/supply/pmu_battery.c:171:50: warning: '%d' directive writing between 1 and 11 bytes into a region of size 4

From: Yujie Liu
Date: Mon Nov 13 2023 - 01:38:01 EST


On Thu, Nov 09, 2023 at 06:23:55PM +0000, Christophe Leroy wrote:
>
>
> Le 09/11/2023 à 18:27, kernel test robot a écrit :
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > head: 6bc986ab839c844e78a2333a02e55f02c9e57935
> > commit: 2edb16efc899f9c232e2d880930b855e4cf55df4 powerpc/32: Add KASAN support
> > date: 4 years, 6 months ago
>
> Must be something wrong with the robot, this report is absolutely
> unrelated to the implementation of KASAN support, I can't see why it
> would pop-up with that commit.

Hi Christophe,

We are investigating this case to understand what went wrong in the
bisection process of the robot. Sorry for the false alarm and please
kindly ignore this report.

>
> Christophe
>
> > config: powerpc-randconfig-r031-20211015 (https://download.01.org/0day-ci/archive/20231110/202311100157.2Kn3gHLg-lkp@xxxxxxxxx/config)
> > compiler: powerpc-linux-gcc (GCC) 12.3.0
> > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231110/202311100157.2Kn3gHLg-lkp@xxxxxxxxx/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@xxxxxxxxx>
> > | Closes: https://lore.kernel.org/oe-kbuild-all/202311100157.2Kn3gHLg-lkp@xxxxxxxxx/
> >
> > All warnings (new ones prefixed by >>):
> >
> > drivers/power/supply/pmu_battery.c: In function 'pmu_bat_init':
> >>> drivers/power/supply/pmu_battery.c:171:50: warning: '%d' directive writing between 1 and 11 bytes into a region of size 4 [-Wformat-overflow=]
> > 171 | sprintf(pbat->name, "PMU_battery_%d", i);
> > | ^~
> > drivers/power/supply/pmu_battery.c:171:37: note: directive argument in the range [-2147483643, 2147483646]
> > 171 | sprintf(pbat->name, "PMU_battery_%d", i);
> > | ^~~~~~~~~~~~~~~~
> > drivers/power/supply/pmu_battery.c:171:17: note: 'sprintf' output between 14 and 24 bytes into a destination of size 16
> > 171 | sprintf(pbat->name, "PMU_battery_%d", i);
> > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >
> >
> > vim +171 drivers/power/supply/pmu_battery.c
> >
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 145
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 146 static int __init pmu_bat_init(void)
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 147 {
> > 297d716f6260cc drivers/power/pmu_battery.c Krzysztof Kozlowski 2015-03-12 148 int ret = 0;
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 149 int i;
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 150
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 151 bat_pdev = platform_device_register_simple("pmu-battery",
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 152 0, NULL, 0);
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 153 if (IS_ERR(bat_pdev)) {
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 154 ret = PTR_ERR(bat_pdev);
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 155 goto pdev_register_failed;
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 156 }
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 157
> > 297d716f6260cc drivers/power/pmu_battery.c Krzysztof Kozlowski 2015-03-12 158 pmu_ac = power_supply_register(&bat_pdev->dev, &pmu_ac_desc, NULL);
> > 297d716f6260cc drivers/power/pmu_battery.c Krzysztof Kozlowski 2015-03-12 159 if (IS_ERR(pmu_ac)) {
> > 297d716f6260cc drivers/power/pmu_battery.c Krzysztof Kozlowski 2015-03-12 160 ret = PTR_ERR(pmu_ac);
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 161 goto ac_register_failed;
> > 297d716f6260cc drivers/power/pmu_battery.c Krzysztof Kozlowski 2015-03-12 162 }
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 163
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 164 for (i = 0; i < pmu_battery_count; i++) {
> > 297d716f6260cc drivers/power/pmu_battery.c Krzysztof Kozlowski 2015-03-12 165 struct power_supply_config psy_cfg = {};
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 166 struct pmu_battery_dev *pbat = kzalloc(sizeof(*pbat),
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 167 GFP_KERNEL);
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 168 if (!pbat)
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 169 break;
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 170
> > 35bf559145b633 drivers/power/pmu_battery.c Christian Kujau 2008-05-02 @171 sprintf(pbat->name, "PMU_battery_%d", i);
> > 297d716f6260cc drivers/power/pmu_battery.c Krzysztof Kozlowski 2015-03-12 172 pbat->bat_desc.name = pbat->name;
> > 297d716f6260cc drivers/power/pmu_battery.c Krzysztof Kozlowski 2015-03-12 173 pbat->bat_desc.properties = pmu_bat_props;
> > 297d716f6260cc drivers/power/pmu_battery.c Krzysztof Kozlowski 2015-03-12 174 pbat->bat_desc.num_properties = ARRAY_SIZE(pmu_bat_props);
> > 297d716f6260cc drivers/power/pmu_battery.c Krzysztof Kozlowski 2015-03-12 175 pbat->bat_desc.get_property = pmu_bat_get_property;
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 176 pbat->pbi = &pmu_batteries[i];
> > 297d716f6260cc drivers/power/pmu_battery.c Krzysztof Kozlowski 2015-03-12 177 psy_cfg.drv_data = pbat;
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 178
> > 297d716f6260cc drivers/power/pmu_battery.c Krzysztof Kozlowski 2015-03-12 179 pbat->bat = power_supply_register(&bat_pdev->dev,
> > 297d716f6260cc drivers/power/pmu_battery.c Krzysztof Kozlowski 2015-03-12 180 &pbat->bat_desc,
> > 297d716f6260cc drivers/power/pmu_battery.c Krzysztof Kozlowski 2015-03-12 181 &psy_cfg);
> > 297d716f6260cc drivers/power/pmu_battery.c Krzysztof Kozlowski 2015-03-12 182 if (IS_ERR(pbat->bat)) {
> > 297d716f6260cc drivers/power/pmu_battery.c Krzysztof Kozlowski 2015-03-12 183 ret = PTR_ERR(pbat->bat);
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 184 kfree(pbat);
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 185 goto battery_register_failed;
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 186 }
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 187 pbats[i] = pbat;
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 188 }
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 189
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 190 goto success;
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 191
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 192 battery_register_failed:
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 193 while (i--) {
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 194 if (!pbats[i])
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 195 continue;
> > 297d716f6260cc drivers/power/pmu_battery.c Krzysztof Kozlowski 2015-03-12 196 power_supply_unregister(pbats[i]->bat);
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 197 kfree(pbats[i]);
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 198 }
> > 297d716f6260cc drivers/power/pmu_battery.c Krzysztof Kozlowski 2015-03-12 199 power_supply_unregister(pmu_ac);
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 200 ac_register_failed:
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 201 platform_device_unregister(bat_pdev);
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 202 pdev_register_failed:
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 203 success:
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 204 return ret;
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 205 }
> > efea58e397dec8 drivers/power/pmu_battery.c David Woodhouse 2007-05-04 206
> >
> > :::::: The code at line 171 was first introduced by commit
> > :::::: 35bf559145b6332f5465c15a4e5cd7a363985382 PMU battery: filenames in sysfs with spaces
> >
> > :::::: TO: Christian Kujau <lists@xxxxxxxxxxxxxxx>
> > :::::: CC: Anton Vorontsov <cbouatmailru@xxxxxxxxx>
> >