All of lore.kernel.org
 help / color / mirror / Atom feed
* [bug report] hwmon: (pmbus/ibm-cffps) Add new manufacturer debugfs entries
@ 2020-01-07 13:32 Dan Carpenter
  2020-01-07 13:53 ` Guenter Roeck
  0 siblings, 1 reply; 3+ messages in thread
From: Dan Carpenter @ 2020-01-07 13:32 UTC (permalink / raw)
  To: eajames; +Cc: linux-hwmon

Hello Eddie James,

The patch bb3c0a27ed1d: "hwmon: (pmbus/ibm-cffps) Add new
manufacturer debugfs entries" from Dec 19, 2019, leads to the
following static checker warning:

	drivers/hwmon/pmbus/ibm-cffps.c:257 ibm_cffps_debugfs_write()
	error: uninitialized symbol 'data'.

drivers/hwmon/pmbus/ibm-cffps.c
   238  static ssize_t ibm_cffps_debugfs_write(struct file *file,
   239                                         const char __user *buf, size_t count,
   240                                         loff_t *ppos)
   241  {
   242          u8 data;
   243          ssize_t rc;
   244          int *idxp = file->private_data;
   245          int idx = *idxp;
   246          struct ibm_cffps *psu = to_psu(idxp, idx);
   247  
   248          switch (idx) {
   249          case CFFPS_DEBUGFS_ON_OFF_CONFIG:
   250                  pmbus_set_page(psu->client, 0);
   251  
   252                  rc = simple_write_to_buffer(&data, 1, ppos, buf, count);
                                                    ^^^^^^^^^^^^^^
If "ppos >= 1" then "data" isn't initialized but "rc" is zero.

   253                  if (rc < 0)
   254                          return rc;
   255  
   256                  rc = i2c_smbus_write_byte_data(psu->client,
   257                                                 PMBUS_ON_OFF_CONFIG, data);
   258                  if (rc)
   259                          return rc;
   260  
   261                  rc = 1;
   262                  break;
   263          default:
   264                  return -EINVAL;
   265          }
   266  
   267          return rc;
   268  }

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [bug report] hwmon: (pmbus/ibm-cffps) Add new manufacturer debugfs entries
  2020-01-07 13:32 [bug report] hwmon: (pmbus/ibm-cffps) Add new manufacturer debugfs entries Dan Carpenter
@ 2020-01-07 13:53 ` Guenter Roeck
  2020-01-07 15:08   ` Eddie James
  0 siblings, 1 reply; 3+ messages in thread
From: Guenter Roeck @ 2020-01-07 13:53 UTC (permalink / raw)
  To: Dan Carpenter, eajames; +Cc: linux-hwmon

On 1/7/20 5:32 AM, Dan Carpenter wrote:
> Hello Eddie James,
> 
> The patch bb3c0a27ed1d: "hwmon: (pmbus/ibm-cffps) Add new
> manufacturer debugfs entries" from Dec 19, 2019, leads to the
> following static checker warning:
> 
> 	drivers/hwmon/pmbus/ibm-cffps.c:257 ibm_cffps_debugfs_write()
> 	error: uninitialized symbol 'data'.
> 
> drivers/hwmon/pmbus/ibm-cffps.c
>     238  static ssize_t ibm_cffps_debugfs_write(struct file *file,
>     239                                         const char __user *buf, size_t count,
>     240                                         loff_t *ppos)
>     241  {
>     242          u8 data;
>     243          ssize_t rc;
>     244          int *idxp = file->private_data;
>     245          int idx = *idxp;
>     246          struct ibm_cffps *psu = to_psu(idxp, idx);
>     247
>     248          switch (idx) {
>     249          case CFFPS_DEBUGFS_ON_OFF_CONFIG:
>     250                  pmbus_set_page(psu->client, 0);
>     251
>     252                  rc = simple_write_to_buffer(&data, 1, ppos, buf, count);
>                                                      ^^^^^^^^^^^^^^
> If "ppos >= 1" then "data" isn't initialized but "rc" is zero.
> 

If rc == 0 (ie if no data was read) we should probably bail out here (either return
an error or 0).

Guenter

>     253                  if (rc < 0)
>     254                          return rc;
>     255
>     256                  rc = i2c_smbus_write_byte_data(psu->client,
>     257                                                 PMBUS_ON_OFF_CONFIG, data);
>     258                  if (rc)
>     259                          return rc;
>     260
>     261                  rc = 1;
>     262                  break;
>     263          default:
>     264                  return -EINVAL;
>     265          }
>     266
>     267          return rc;
>     268  }
> 
> regards,
> dan carpenter
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [bug report] hwmon: (pmbus/ibm-cffps) Add new manufacturer debugfs entries
  2020-01-07 13:53 ` Guenter Roeck
@ 2020-01-07 15:08   ` Eddie James
  0 siblings, 0 replies; 3+ messages in thread
From: Eddie James @ 2020-01-07 15:08 UTC (permalink / raw)
  To: Guenter Roeck, Dan Carpenter; +Cc: linux-hwmon


On 1/7/20 7:53 AM, Guenter Roeck wrote:
> On 1/7/20 5:32 AM, Dan Carpenter wrote:
>> Hello Eddie James,
>>
>> The patch bb3c0a27ed1d: "hwmon: (pmbus/ibm-cffps) Add new
>> manufacturer debugfs entries" from Dec 19, 2019, leads to the
>> following static checker warning:
>>
>>     drivers/hwmon/pmbus/ibm-cffps.c:257 ibm_cffps_debugfs_write()
>>     error: uninitialized symbol 'data'.
>>
>> drivers/hwmon/pmbus/ibm-cffps.c
>>     238  static ssize_t ibm_cffps_debugfs_write(struct file *file,
>>     239                                         const char __user 
>> *buf, size_t count,
>>     240                                         loff_t *ppos)
>>     241  {
>>     242          u8 data;
>>     243          ssize_t rc;
>>     244          int *idxp = file->private_data;
>>     245          int idx = *idxp;
>>     246          struct ibm_cffps *psu = to_psu(idxp, idx);
>>     247
>>     248          switch (idx) {
>>     249          case CFFPS_DEBUGFS_ON_OFF_CONFIG:
>>     250                  pmbus_set_page(psu->client, 0);
>>     251
>>     252                  rc = simple_write_to_buffer(&data, 1, ppos, 
>> buf, count);
>> ^^^^^^^^^^^^^^
>> If "ppos >= 1" then "data" isn't initialized but "rc" is zero.
>>
>
> If rc == 0 (ie if no data was read) we should probably bail out here 
> (either return
> an error or 0).


I'll make the change.


Good catch Dan, thanks!

Eddie


>
> Guenter
>
>>     253                  if (rc < 0)
>>     254                          return rc;
>>     255
>>     256                  rc = i2c_smbus_write_byte_data(psu->client,
>>     257 PMBUS_ON_OFF_CONFIG, data);
>>     258                  if (rc)
>>     259                          return rc;
>>     260
>>     261                  rc = 1;
>>     262                  break;
>>     263          default:
>>     264                  return -EINVAL;
>>     265          }
>>     266
>>     267          return rc;
>>     268  }
>>
>> regards,
>> dan carpenter
>>
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-01-07 15:09 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-07 13:32 [bug report] hwmon: (pmbus/ibm-cffps) Add new manufacturer debugfs entries Dan Carpenter
2020-01-07 13:53 ` Guenter Roeck
2020-01-07 15:08   ` Eddie James

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.