Messages in this thread | | | Subject | Re: [driver-core:driver-core-testing] BUILD SUCCESS 59789f3418dd3c0a187490d49e900a59a5c8d732 | From | "Chen, Rong A" <> | Date | Mon, 24 Oct 2022 17:08:37 +0800 |
| |
On 10/24/2022 4:57 PM, Andy Shevchenko wrote: > On Mon, Oct 24, 2022 at 09:10:53AM +0800, Chen, Rong A wrote: >> On 10/24/2022 3:52 AM, Andy Shevchenko wrote: >>> On Sun, Oct 23, 2022 at 10:43:07PM +0300, Andy Shevchenko wrote: >>>> On Sun, Oct 23, 2022 at 02:33:40PM +0200, Greg Kroah-Hartman wrote: >>>>> On Sun, Oct 23, 2022 at 08:03:57AM +0800, kernel test robot wrote: >>>>>> tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git driver-core-testing >>>>>> branch HEAD: 59789f3418dd3c0a187490d49e900a59a5c8d732 device property: Constify parameter in device_dma_supported() and device_get_dma_attr() >>>>>> >>>>>> Unverified Warning (likely false positive, please contact us if interested): >>>>>> >>>>>> drivers/hwmon/iio_hwmon.c:155 iio_hwmon_probe() warn: could not determine type of argument 4 >>>>> >>>>> Andy, this is due to your changes, here's the offending code: >>>>> >>>>> sname = devm_kasprintf(dev, GFP_KERNEL, "%pfwP", dev_fwnode(dev)); >>>>> >>>>> Now that dev_fwnode() is an inline function, the compiler is confused as >>>>> to what function to select? Maybe, I don't know, it seems odd, can you >>>>> look into it? >>>> >>>> Hmm... I can't reproduce on my side. >>>> Any (additional) information about compiler, architecture, etc? >>> >>> I found the original report, but I don't see how to extract the defconfig / >>> config it used. Can you send that file to me? >>> >> >> Hi Andy, >> >> The original report can be found at https://lists.01.org/hyperkitty/list/kbuild@lists.01.org/thread/VE7CMY7FVIPYWHL4XMOCFWCNYTGZSTKP/ >> >> and config file can be downloaded from https://lists.01.org/hyperkitty/list/kbuild@lists.01.org/message/VE7CMY7FVIPYWHL4XMOCFWCNYTGZSTKP/attachment/2/config.ksh > > Thanks! > > Can't reproduce on my Debian (x86_64): > > gcc (Debian 12.2.0-3) 12.2.0 > Copyright (C) 2022 Free Software Foundation, Inc. > This is free software; see the source for copying conditions. There is NO > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > > Is it GCC issue? > > Any pointers where I can download the compiler you are using? >
Hi Andy,
It's a smatch warning, it may be a false positive since Dan didn't forward the report. +Dan
smatch warnings: drivers/hwmon/iio_hwmon.c:155 iio_hwmon_probe() warn: could not determine type of argument 4
vim +155 drivers/hwmon/iio_hwmon.c
e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 65 4ae1c61ff2ba4f drivers/staging/iio/iio_hwmon.c Bill Pemberton 2012-11-19 66 static int iio_hwmon_probe(struct platform_device *pdev) e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 67 { c4ac7b98bdeb04 drivers/staging/iio/iio_hwmon.c Guenter Roeck 2013-01-31 68 struct device *dev = &pdev->dev; e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 69 struct iio_hwmon_state *st; e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 70 struct sensor_device_attribute *a; e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 71 int ret, i; bc34301b10672d drivers/hwmon/iio_hwmon.c Michal Simek 2019-08-22 72 int in_i = 1, temp_i = 1, curr_i = 1, humidity_i = 1, power_i = 1; e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 73 enum iio_chan_type type; ca7d98dbd7db6a drivers/staging/iio/iio_hwmon.c Guenter Roeck 2013-01-31 74 struct iio_channel *channels; 12005ec33f3a7e drivers/hwmon/iio_hwmon.c Maxime Roussin-Bélanger 2018-07-22 75 struct device *hwmon_dev; b92fe9e3379c8d drivers/hwmon/iio_hwmon.c Sanchayan Maity 2016-02-16 76 char *sname; 4b49cca36ee9bb drivers/hwmon/iio_hwmon.c Guenter Roeck 2013-12-01 77 12005ec33f3a7e drivers/hwmon/iio_hwmon.c Maxime Roussin-Bélanger 2018-07-22 78 channels = devm_iio_channel_get_all(dev); 9417fefe6f6ec2 drivers/hwmon/iio_hwmon.c Quentin Schulz 2016-09-08 79 if (IS_ERR(channels)) { 9417fefe6f6ec2 drivers/hwmon/iio_hwmon.c Quentin Schulz 2016-09-08 80 if (PTR_ERR(channels) == -ENODEV) 9417fefe6f6ec2 drivers/hwmon/iio_hwmon.c Quentin Schulz 2016-09-08 81 return -EPROBE_DEFER; ca7d98dbd7db6a drivers/staging/iio/iio_hwmon.c Guenter Roeck 2013-01-31 82 return PTR_ERR(channels); 9417fefe6f6ec2 drivers/hwmon/iio_hwmon.c Quentin Schulz 2016-09-08 83 } e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 84 c4ac7b98bdeb04 drivers/staging/iio/iio_hwmon.c Guenter Roeck 2013-01-31 85 st = devm_kzalloc(dev, sizeof(*st), GFP_KERNEL); 12005ec33f3a7e drivers/hwmon/iio_hwmon.c Maxime Roussin-Bélanger 2018-07-22 86 if (st == NULL) 12005ec33f3a7e drivers/hwmon/iio_hwmon.c Maxime Roussin-Bélanger 2018-07-22 87 return -ENOMEM; e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 88 ca7d98dbd7db6a drivers/staging/iio/iio_hwmon.c Guenter Roeck 2013-01-31 89 st->channels = channels; e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 90 e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 91 /* count how many attributes we have */ e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 92 while (st->channels[st->num_channels].indio_dev) e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 93 st->num_channels++; e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 94 a86854d0c599b3 drivers/hwmon/iio_hwmon.c Kees Cook 2018-06-12 95 st->attrs = devm_kcalloc(dev, a86854d0c599b3 drivers/hwmon/iio_hwmon.c Kees Cook 2018-06-12 96 st->num_channels + 1, sizeof(*st->attrs), e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 97 GFP_KERNEL); 12005ec33f3a7e drivers/hwmon/iio_hwmon.c Maxime Roussin-Bélanger 2018-07-22 98 if (st->attrs == NULL) 12005ec33f3a7e drivers/hwmon/iio_hwmon.c Maxime Roussin-Bélanger 2018-07-22 99 return -ENOMEM; c4ac7b98bdeb04 drivers/staging/iio/iio_hwmon.c Guenter Roeck 2013-01-31 100 e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 101 for (i = 0; i < st->num_channels; i++) { cb202bb8b3238f drivers/hwmon/iio_hwmon.c Andrey Smirnov 2019-04-02 102 const char *prefix; cb202bb8b3238f drivers/hwmon/iio_hwmon.c Andrey Smirnov 2019-04-02 103 int n; cb202bb8b3238f drivers/hwmon/iio_hwmon.c Andrey Smirnov 2019-04-02 104 c4ac7b98bdeb04 drivers/staging/iio/iio_hwmon.c Guenter Roeck 2013-01-31 105 a = devm_kzalloc(dev, sizeof(*a), GFP_KERNEL); 12005ec33f3a7e drivers/hwmon/iio_hwmon.c Maxime Roussin-Bélanger 2018-07-22 106 if (a == NULL) 12005ec33f3a7e drivers/hwmon/iio_hwmon.c Maxime Roussin-Bélanger 2018-07-22 107 return -ENOMEM; e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 108 e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 109 sysfs_attr_init(&a->dev_attr.attr); 314be14bb89369 drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-05-01 110 ret = iio_get_channel_type(&st->channels[i], &type); c4ac7b98bdeb04 drivers/staging/iio/iio_hwmon.c Guenter Roeck 2013-01-31 111 if (ret < 0) 12005ec33f3a7e drivers/hwmon/iio_hwmon.c Maxime Roussin-Bélanger 2018-07-22 112 return ret; c4ac7b98bdeb04 drivers/staging/iio/iio_hwmon.c Guenter Roeck 2013-01-31 113 e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 114 switch (type) { e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 115 case IIO_VOLTAGE: cb202bb8b3238f drivers/hwmon/iio_hwmon.c Andrey Smirnov 2019-04-02 116 n = in_i++; cb202bb8b3238f drivers/hwmon/iio_hwmon.c Andrey Smirnov 2019-04-02 117 prefix = "in"; e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 118 break; e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 119 case IIO_TEMP: cb202bb8b3238f drivers/hwmon/iio_hwmon.c Andrey Smirnov 2019-04-02 120 n = temp_i++; cb202bb8b3238f drivers/hwmon/iio_hwmon.c Andrey Smirnov 2019-04-02 121 prefix = "temp"; e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 122 break; e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 123 case IIO_CURRENT: cb202bb8b3238f drivers/hwmon/iio_hwmon.c Andrey Smirnov 2019-04-02 124 n = curr_i++; cb202bb8b3238f drivers/hwmon/iio_hwmon.c Andrey Smirnov 2019-04-02 125 prefix = "curr"; e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 126 break; bc34301b10672d drivers/hwmon/iio_hwmon.c Michal Simek 2019-08-22 127 case IIO_POWER: bc34301b10672d drivers/hwmon/iio_hwmon.c Michal Simek 2019-08-22 128 n = power_i++; bc34301b10672d drivers/hwmon/iio_hwmon.c Michal Simek 2019-08-22 129 prefix = "power"; bc34301b10672d drivers/hwmon/iio_hwmon.c Michal Simek 2019-08-22 130 break; 61bb53bcbdd86e drivers/hwmon/iio_hwmon.c Guenter Roeck 2014-09-27 131 case IIO_HUMIDITYRELATIVE: cb202bb8b3238f drivers/hwmon/iio_hwmon.c Andrey Smirnov 2019-04-02 132 n = humidity_i++; cb202bb8b3238f drivers/hwmon/iio_hwmon.c Andrey Smirnov 2019-04-02 133 prefix = "humidity"; 61bb53bcbdd86e drivers/hwmon/iio_hwmon.c Guenter Roeck 2014-09-27 134 break; e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 135 default: 12005ec33f3a7e drivers/hwmon/iio_hwmon.c Maxime Roussin-Bélanger 2018-07-22 136 return -EINVAL; e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 137 } cb202bb8b3238f drivers/hwmon/iio_hwmon.c Andrey Smirnov 2019-04-02 138 cb202bb8b3238f drivers/hwmon/iio_hwmon.c Andrey Smirnov 2019-04-02 139 a->dev_attr.attr.name = devm_kasprintf(dev, GFP_KERNEL, cb202bb8b3238f drivers/hwmon/iio_hwmon.c Andrey Smirnov 2019-04-02 140 "%s%d_input", cb202bb8b3238f drivers/hwmon/iio_hwmon.c Andrey Smirnov 2019-04-02 141 prefix, n); 12005ec33f3a7e drivers/hwmon/iio_hwmon.c Maxime Roussin-Bélanger 2018-07-22 142 if (a->dev_attr.attr.name == NULL) 12005ec33f3a7e drivers/hwmon/iio_hwmon.c Maxime Roussin-Bélanger 2018-07-22 143 return -ENOMEM; 12005ec33f3a7e drivers/hwmon/iio_hwmon.c Maxime Roussin-Bélanger 2018-07-22 144 e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 145 a->dev_attr.show = iio_hwmon_read_val; 389bc38eeb4aa8 drivers/hwmon/iio_hwmon.c Guenter Roeck 2018-12-10 146 a->dev_attr.attr.mode = 0444; e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 147 a->index = i; e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 148 st->attrs[i] = &a->dev_attr.attr; e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 149 } e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 150 4b49cca36ee9bb drivers/hwmon/iio_hwmon.c Guenter Roeck 2013-12-01 151 st->attr_group.attrs = st->attrs; 4b49cca36ee9bb drivers/hwmon/iio_hwmon.c Guenter Roeck 2013-12-01 152 st->groups[0] = &st->attr_group; b92fe9e3379c8d drivers/hwmon/iio_hwmon.c Sanchayan Maity 2016-02-16 153 b7b568c2525b3a drivers/hwmon/iio_hwmon.c Andy Shevchenko 2022-08-26 154 if (dev_fwnode(dev)) { b7b568c2525b3a drivers/hwmon/iio_hwmon.c Andy Shevchenko 2022-08-26 @155 sname = devm_kasprintf(dev, GFP_KERNEL, "%pfwP", dev_fwnode(dev)); 12005ec33f3a7e drivers/hwmon/iio_hwmon.c Maxime Roussin-Bélanger 2018-07-22 156 if (!sname) 12005ec33f3a7e drivers/hwmon/iio_hwmon.c Maxime Roussin-Bélanger 2018-07-22 157 return -ENOMEM; b92fe9e3379c8d drivers/hwmon/iio_hwmon.c Sanchayan Maity 2016-02-16 158 strreplace(sname, '-', '_'); 86103cffe8834f drivers/hwmon/iio_hwmon.c Guenter Roeck 2018-08-28 159 } else { 86103cffe8834f drivers/hwmon/iio_hwmon.c Guenter Roeck 2018-08-28 160 sname = "iio_hwmon"; 86103cffe8834f drivers/hwmon/iio_hwmon.c Guenter Roeck 2018-08-28 161 } 86103cffe8834f drivers/hwmon/iio_hwmon.c Guenter Roeck 2018-08-28 162 12005ec33f3a7e drivers/hwmon/iio_hwmon.c Maxime Roussin-Bélanger 2018-07-22 163 hwmon_dev = devm_hwmon_device_register_with_groups(dev, sname, st, 4b49cca36ee9bb drivers/hwmon/iio_hwmon.c Guenter Roeck 2013-12-01 164 st->groups); 12005ec33f3a7e drivers/hwmon/iio_hwmon.c Maxime Roussin-Bélanger 2018-07-22 165 return PTR_ERR_OR_ZERO(hwmon_dev); e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 166 } e0f8a24e0edfde drivers/staging/iio/iio_hwmon.c Jonathan Cameron 2012-02-15 167
Best Regards, Rong Chen
| |