hwmon/ibmpex.c: fix NULL dereference
PATCH 1/1 hwmon/ibmpex.c: fix NULL dereference
Don't dereference "data" when we know for sure it's NULL.
Spotted by the Coverity checker.
---66bec2ef5c6d55fc30ef6ac5bb97fdfcfaf394f2
drivers/hwmon/ibmpex.c +1 -1
@@ -457,7 +457,7 @@ static void ibmpex_register_bmc(int iface, struct device *dev) data =kzalloc (sizeof (*data),GFP_KERNEL );if (!data) { printk(KERN_ERR DRVNAME ": Insufficient memory for BMC " - "interface %d.\n", data->interface); + "interface.\n");return ; }
Quoted 13 lines · Adrian Bunk
Don't dereference "data" when we know for sure it's NULL.
Spotted by the Coverity checker.
Signed-off-by Adrian Bunk <[email protected]>---
66bec2ef5c6d55fc30ef6ac5bb97fdfcfaf394f2drivers/hwmon/ibmpex.c +0
-0
drivers/hwmon/ibmpex.c static void ibmpex_register_bmc(int iface, struct device *dev) · line 460
Quoted 5 lines
drivers/hwmon/ibmpex.c +1
-1@@ -457,7 +457,7 @@ static void ibmpex_register_bmc(int iface, struct device *dev) data =kzalloc (sizeof (*data),GFP_KERNEL );if (!data) { printk(KERN_ERR DRVNAME ": Insufficient memory for BMC " - "interface %d.\n", data->interface); + "interface.\n");
Hrm but what data->interface would be is specified by the iface parameter? Just spit that out instead?
Thanks,
Nish
_______________________________________________
lm-sensors mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
Quoted 7 lines · Nish Aravamudan
Quoted 6 lines · Adrian Bunk
Don't dereference "data" when we know for sure it's NULL.
Spotted by the Coverity checker.
Signed-off-by Adrian Bunk <[email protected]>
Quoted 15 lines
drivers/hwmon/ibmpex.c static void ibmpex_register_bmc(int iface, struct device *dev) · line 460
Quoted 12 lines
---
66bec2ef5c6d55fc30ef6ac5bb97fdfcfaf394f2drivers/hwmon/ibmpex.c +1
-1@@ -457,7 +457,7 @@ static void ibmpex_register_bmc(int iface, struct device *dev) data =kzalloc (sizeof (*data),GFP_KERNEL );if (!data) { printk(KERN_ERR DRVNAME ": Insufficient memory for BMC " - "interface %d.\n", data->interface); + "interface.\n");Hrm but what
data->interfacewould be is specified by the iface parameter? Just spit that out instead?
This is only a symptom of the problem that kzalloc() failed, and when you are getting into such a situation here you have bigger problems - and these are not related to this driver.
Feel free to send a different patch, but IMHO "Insufficient memory" alone is enough information in this case.
Quoted 2 lines
Thanks,
Nish
cu
Adrian
Signature · 4 lines
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon SeedQuoted 13 lines · Adrian Bunk
Don't dereference "data" when we know for sure it's NULL.
Spotted by the Coverity checker.
Signed-off-by Adrian Bunk <[email protected]>---
66bec2ef5c6d55fc30ef6ac5bb97fdfcfaf394f2drivers/hwmon/ibmpex.c +0
-0
drivers/hwmon/ibmpex.c static void ibmpex_register_bmc(int iface, struct device *dev) · line 462
Quoted 7 lines
drivers/hwmon/ibmpex.c +1
-1@@ -457,7 +457,7 @@ static void ibmpex_register_bmc(int iface, struct device *dev) data =kzalloc (sizeof (*data),GFP_KERNEL );if (!data) { printk(KERN_ERR DRVNAME ": Insufficient memory for BMC " - "interface %d.\n", data->interface); + "interface.\n");return ; }
As a side note, dev_err() should be used instead of printk here, and possibly in other places. Darrick, could you please send a patch fixing this?
Thanks,
Signature · 6 lines
Jean Delvare _______________________________________________ lm-sensors mailing list [email protected] http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
PATCH 1/1 ibmpex: Change printk to dev_{info,err} macros
Clean up printk use in ibmpex to use dev_err/dev_info macros and reword some of the messages to be a bit more clear.
---
drivers/hwmon/ibmpex.c | 48 +++++++++++++++++++++++------------------------- 1 files changed, 23 insertions(+), 25 deletions(-)
drivers/hwmon/ibmpex.c +23 -25
@@ -140,10 +140,10 @@ static int ibmpex_send_message(struct ibmpex_bmc_data *data)return 0 ; out1: -printk (KERN_ERR "%s: request_settime=%x\n" , __FUNCTION__, err); +dev_err (data->bmc_device,"request_settime=%x\n" , err);return err; out: -printk (KERN_ERR "%s: validate_addr=%x\n" , __FUNCTION__, err); +dev_err (data->bmc_device,"validate_addr=%x\n" , err);return err; }
@@ -161,14 +161,14 @@ static int ibmpex_ver_check(struct ibmpex_bmc_data *data) data->sensor_major = data->rx_msg_data[0 ]; data->sensor_minor = data->rx_msg_data[1 ]; - printk(KERN_INFO DRVNAME ": Found BMC with sensor interface " -"v%d.%d %d-%02d-%02d on interface %d\n" , - data->sensor_major, - data->sensor_minor, -extract_value (data->rx_msg_data,2 ), - data->rx_msg_data[4 ], - data->rx_msg_data[5 ], - data->interface); +dev_info (data->bmc_device,"Found BMC with sensor interface " +"v%d.%d %d-%02d-%02d on interface %d\n" , + data->sensor_major, + data->sensor_minor, +extract_value (data->rx_msg_data,2 ), + data->rx_msg_data[4 ], + data->rx_msg_data[5 ], + data->interface);return 0 ; }
@@ -212,8 +212,8 @@ static int ibmpex_query_sensor_data(struct ibmpex_bmc_data *data, int sensor)wait_for_completion (&data->read_complete);if (data->rx_result || data->rx_msg_len <26 ) { -printk (KERN_ERR "Error reading sensor %d, please check.\n" , - sensor); +dev_err (data->bmc_device,"Error reading sensor %d.\n" , + sensor);return -ENOENT ; }
@@ -456,8 +456,7 @@ static void ibmpex_register_bmc(int iface, struct device *dev) data =kzalloc (sizeof (*data),GFP_KERNEL );if (!data) { - printk(KERN_ERR DRVNAME ": Insufficient memory for BMC " - "interface %d.\n", data->interface); +dev_err (dev,"Insufficient memory for BMC interface.\n" );return ; }
@@ -471,9 +470,8 @@ static void ibmpex_register_bmc(int iface, struct device *dev) err =ipmi_create_user (data->interface, &driver_data.ipmi_hndlrs, data, &data->user);if (err <0 ) { - printk(KERN_ERR DRVNAME ": Error, unable to register user with " -"ipmi interface %d\n" , - data->interface); +dev_err (dev,"Unable to register user with IPMI " +"interface %d\n" , data->interface); goto out; }
@@ -495,9 +493,9 @@ static void ibmpex_register_bmc(int iface, struct device *dev) data->hwmon_dev =hwmon_device_register (data->bmc_device);if (IS_ERR (data->hwmon_dev)) { - printk(KERN_ERR DRVNAME ": Error, unable to register hwmon " -"class device for interface %d\n" , - data->interface); +dev_err (data->bmc_device,"Unable to register hwmon " +"device for IPMI interface %d\n" , + data->interface); goto out_user; }
@@ -508,7 +506,7 @@ static void ibmpex_register_bmc(int iface, struct device *dev)/* Now go find all the sensors */ err =ibmpex_find_sensors (data);if (err) { -printk (KERN_ERR "Error %d allocating memory\n" , err); +dev_err (data->bmc_device,"Error %d allocating memory\n" , err); goto out_register; }
@@ -561,10 +559,10 @@ static void ibmpex_msg_handler(struct ipmi_recv_msg *msg, void *user_msg_data)struct ibmpex_bmc_data *data = (struct ibmpex_bmc_data *)user_msg_data;if (msg->msgid != data->tx_msgid) { -printk (KERN_ERR "Received msgid (%02x) and transmitted " -"msgid (%02x) mismatch!\n" , - (int )msg->msgid, - (int )data->tx_msgid); +dev_err (data->bmc_device,"Mismatch between received msgid " +"(%02x) and transmitted msgid (%02x)!\n" , + (int )msg->msgid, + (int )data->tx_msgid);ipmi_free_recv_msg (msg);return ; }
_______________________________________________
lm-sensors mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
Re: [PATCH] ibmpex: Change printk to dev_{info,err} macros
Hi Darrick,
Quoted 96 lines · Darrick J. Wong
Clean up printk use in ibmpex to use dev_err/dev_info macros and reword some of the messages to be a bit more clear.
Signed-off-by Darrick J. Wong <[email protected]>---
drivers/hwmon/ibmpex.c | 48 +++++++++++++++++++++++------------------------- 1 files changed, 23 insertions(+), 25 deletions(-)drivers/hwmon/ibmpex.c +18
-20@@ -140,10 +140,10 @@ static int ibmpex_send_message(struct ibmpex_bmc_data *data)return 0 ; out1: -printk (KERN_ERR "%s: request_settime=%x\n" , __FUNCTION__, err); +dev_err (data->bmc_device,"request_settime=%x\n" , err);return err; out: -printk (KERN_ERR "%s: validate_addr=%x\n" , __FUNCTION__, err); +dev_err (data->bmc_device,"validate_addr=%x\n" , err);return err; }@@ -161,14 +161,14 @@ static int ibmpex_ver_check(struct ibmpex_bmc_data *data) data->sensor_major = data->rx_msg_data[0 ]; data->sensor_minor = data->rx_msg_data[1 ]; - printk(KERN_INFO DRVNAME ": Found BMC with sensor interface " -"v%d.%d %d-%02d-%02d on interface %d\n" , - data->sensor_major, - data->sensor_minor, -extract_value (data->rx_msg_data,2 ), - data->rx_msg_data[4 ], - data->rx_msg_data[5 ], - data->interface); +dev_info (data->bmc_device,"Found BMC with sensor interface " +"v%d.%d %d-%02d-%02d on interface %d\n" , + data->sensor_major, + data->sensor_minor, +extract_value (data->rx_msg_data,2 ), + data->rx_msg_data[4 ], + data->rx_msg_data[5 ], + data->interface);return 0 ; }@@ -212,8 +212,8 @@ static int ibmpex_query_sensor_data(struct ibmpex_bmc_data *data, int sensor)wait_for_completion (&data->read_complete);if (data->rx_result || data->rx_msg_len <26 ) { -printk (KERN_ERR "Error reading sensor %d, please check.\n" , - sensor); +dev_err (data->bmc_device,"Error reading sensor %d.\n" , + sensor);return -ENOENT ; }@@ -456,8 +456,7 @@ static void ibmpex_register_bmc(int iface, struct device *dev) data =kzalloc (sizeof (*data),GFP_KERNEL );if (!data) { - printk(KERN_ERR DRVNAME ": Insufficient memory for BMC " - "interface %d.\n", data->interface); +dev_err (dev,"Insufficient memory for BMC interface.\n" );return ; }@@ -471,9 +470,8 @@ static void ibmpex_register_bmc(int iface, struct device *dev) err =ipmi_create_user (data->interface, &driver_data.ipmi_hndlrs, data, &data->user);if (err <0 ) { - printk(KERN_ERR DRVNAME ": Error, unable to register user with " -"ipmi interface %d\n" , - data->interface); +dev_err (dev,"Unable to register user with IPMI " +"interface %d\n" , data->interface); goto out; }@@ -495,9 +493,9 @@ static void ibmpex_register_bmc(int iface, struct device *dev) data->hwmon_dev =hwmon_device_register (data->bmc_device);if (IS_ERR (data->hwmon_dev)) { - printk(KERN_ERR DRVNAME ": Error, unable to register hwmon " -"class device for interface %d\n" , - data->interface); +dev_err (data->bmc_device,"Unable to register hwmon " +"device for IPMI interface %d\n" , + data->interface); goto out_user; }
drivers/hwmon/ibmpex.c static void ibmpex_register_bmc(int iface, struct device *dev) · line 509
Quoted 5 lines
drivers/hwmon/ibmpex.c +1
-1@@ -508,7 +506,7 @@ static void ibmpex_register_bmc(int iface, struct device *dev)/* Now go find all the sensors */ err =ibmpex_find_sensors (data);if (err) { -printk (KERN_ERR "Error %d allocating memory\n" , err); +dev_err (data->bmc_device,"Error %d allocating memory\n" , err);
This message might be misleading, as there are other reasons why ibmpex_find_sensors() can fail.
Quoted 8 lines
drivers/hwmon/ibmpex.c +0
-1goto out_register; }@@ -561,10 +559,10 @@ static void ibmpex_msg_handler(struct ipmi_recv_msg *msg, void *user_msg_data)struct ibmpex_bmc_data *data = (struct ibmpex_bmc_data *)user_msg_data;if (msg->msgid != data->tx_msgid) { - printk(KERN_ERR "Received msgid (%02x) and transmitted "
drivers/hwmon/ibmpex.c static void ibmpex_msg_handler(struct ipmi_recv_msg *msg, void *user_msg_data) · line 568
Quoted 10 lines
drivers/hwmon/ibmpex.c +4
-3-"msgid (%02x) mismatch!\n" , - (int )msg->msgid, - (int)data->tx_msgid); +dev_err (data->bmc_device,"Mismatch between received msgid " +"(%02x) and transmitted msgid (%02x)!\n" , + (int )msg->msgid, + (int )data->tx_msgid);ipmi_free_recv_msg (msg);return ; }
Other than that, the patch looks OK:
Signature · 6 lines
Jean Delvare _______________________________________________ lm-sensors mailing list [email protected] http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
PATCH v2 1/1 ibmpex: Change printk to dev_{info,err} macros
Ok, I'll change the message to be a bit more accurate.
---
Clean up printk use in ibmpex.
---
drivers/hwmon/ibmpex.c | 48 +++++++++++++++++++++++------------------------- 1 files changed, 23 insertions(+), 25 deletions(-)
drivers/hwmon/ibmpex.c +23 -25
@@ -140,10 +140,10 @@ static int ibmpex_send_message(struct ibmpex_bmc_data *data)return 0 ; out1: -printk (KERN_ERR "%s: request_settime=%x\n" , __FUNCTION__, err); +dev_err (data->bmc_device,"request_settime=%x\n" , err);return err; out: -printk (KERN_ERR "%s: validate_addr=%x\n" , __FUNCTION__, err); +dev_err (data->bmc_device,"validate_addr=%x\n" , err);return err; }
@@ -161,14 +161,14 @@ static int ibmpex_ver_check(struct ibmpex_bmc_data *data) data->sensor_major = data->rx_msg_data[0 ]; data->sensor_minor = data->rx_msg_data[1 ]; - printk(KERN_INFO DRVNAME ": Found BMC with sensor interface " -"v%d.%d %d-%02d-%02d on interface %d\n" , - data->sensor_major, - data->sensor_minor, -extract_value (data->rx_msg_data,2 ), - data->rx_msg_data[4 ], - data->rx_msg_data[5 ], - data->interface); +dev_info (data->bmc_device,"Found BMC with sensor interface " +"v%d.%d %d-%02d-%02d on interface %d\n" , + data->sensor_major, + data->sensor_minor, +extract_value (data->rx_msg_data,2 ), + data->rx_msg_data[4 ], + data->rx_msg_data[5 ], + data->interface);return 0 ; }
@@ -212,8 +212,8 @@ static int ibmpex_query_sensor_data(struct ibmpex_bmc_data *data, int sensor)wait_for_completion (&data->read_complete);if (data->rx_result || data->rx_msg_len <26 ) { -printk (KERN_ERR "Error reading sensor %d, please check.\n" , - sensor); +dev_err (data->bmc_device,"Error reading sensor %d.\n" , + sensor);return -ENOENT ; }
@@ -456,8 +456,7 @@ static void ibmpex_register_bmc(int iface, struct device *dev) data =kzalloc (sizeof (*data),GFP_KERNEL );if (!data) { - printk(KERN_ERR DRVNAME ": Insufficient memory for BMC " - "interface %d.\n", data->interface); +dev_err (dev,"Insufficient memory for BMC interface.\n" );return ; }
@@ -471,9 +470,8 @@ static void ibmpex_register_bmc(int iface, struct device *dev) err =ipmi_create_user (data->interface, &driver_data.ipmi_hndlrs, data, &data->user);if (err <0 ) { - printk(KERN_ERR DRVNAME ": Error, unable to register user with " -"ipmi interface %d\n" , - data->interface); +dev_err (dev,"Unable to register user with IPMI " +"interface %d\n" , data->interface); goto out; }
@@ -495,9 +493,9 @@ static void ibmpex_register_bmc(int iface, struct device *dev) data->hwmon_dev =hwmon_device_register (data->bmc_device);if (IS_ERR (data->hwmon_dev)) { - printk(KERN_ERR DRVNAME ": Error, unable to register hwmon " -"class device for interface %d\n" , - data->interface); +dev_err (data->bmc_device,"Unable to register hwmon " +"device for IPMI interface %d\n" , + data->interface); goto out_user; }
@@ -508,7 +506,7 @@ static void ibmpex_register_bmc(int iface, struct device *dev)/* Now go find all the sensors */ err =ibmpex_find_sensors (data);if (err) { -printk (KERN_ERR "Error %d allocating memory\n" , err); +dev_err (data->bmc_device,"Error %d finding sensors\n" , err); goto out_register; }
@@ -561,10 +559,10 @@ static void ibmpex_msg_handler(struct ipmi_recv_msg *msg, void *user_msg_data)struct ibmpex_bmc_data *data = (struct ibmpex_bmc_data *)user_msg_data;if (msg->msgid != data->tx_msgid) { -printk (KERN_ERR "Received msgid (%02x) and transmitted " -"msgid (%02x) mismatch!\n" , - (int )msg->msgid, - (int )data->tx_msgid); +dev_err (data->bmc_device,"Mismatch between received msgid " +"(%02x) and transmitted msgid (%02x)!\n" , + (int )msg->msgid, + (int )data->tx_msgid);ipmi_free_recv_msg (msg);return ; }
_______________________________________________
lm-sensors mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
Re: [PATCH v2] ibmpex: Change printk to dev_{info,err} macros
Quoted 6 lines · Darrick J. Wong
Ok, I'll change the message to be a bit more accurate.
---
Clean up printk use in ibmpex.Signed-off-by Darrick J. Wong <[email protected]>---
Quoted 117 lines
drivers/hwmon/ibmpex.c | 48 +++++++++++++++++++++++------------------------- 1 files changed, 23 insertions(+), 25 deletions(-)drivers/hwmon/ibmpex.c +23
-25@@ -140,10 +140,10 @@ static int ibmpex_send_message(struct ibmpex_bmc_data *data)return 0 ; out1: -printk (KERN_ERR "%s: request_settime=%x\n" , __FUNCTION__, err); +dev_err (data->bmc_device,"request_settime=%x\n" , err);return err; out: -printk (KERN_ERR "%s: validate_addr=%x\n" , __FUNCTION__, err); +dev_err (data->bmc_device,"validate_addr=%x\n" , err);return err; }@@ -161,14 +161,14 @@ static int ibmpex_ver_check(struct ibmpex_bmc_data *data) data->sensor_major = data->rx_msg_data[0 ]; data->sensor_minor = data->rx_msg_data[1 ]; - printk(KERN_INFO DRVNAME ": Found BMC with sensor interface " -"v%d.%d %d-%02d-%02d on interface %d\n" , - data->sensor_major, - data->sensor_minor, -extract_value (data->rx_msg_data,2 ), - data->rx_msg_data[4 ], - data->rx_msg_data[5 ], - data->interface); +dev_info (data->bmc_device,"Found BMC with sensor interface " +"v%d.%d %d-%02d-%02d on interface %d\n" , + data->sensor_major, + data->sensor_minor, +extract_value (data->rx_msg_data,2 ), + data->rx_msg_data[4 ], + data->rx_msg_data[5 ], + data->interface);return 0 ; }@@ -212,8 +212,8 @@ static int ibmpex_query_sensor_data(struct ibmpex_bmc_data *data, int sensor)wait_for_completion (&data->read_complete);if (data->rx_result || data->rx_msg_len <26 ) { -printk (KERN_ERR "Error reading sensor %d, please check.\n" , - sensor); +dev_err (data->bmc_device,"Error reading sensor %d.\n" , + sensor);return -ENOENT ; }@@ -456,8 +456,7 @@ static void ibmpex_register_bmc(int iface, struct device *dev) data =kzalloc (sizeof (*data),GFP_KERNEL );if (!data) { - printk(KERN_ERR DRVNAME ": Insufficient memory for BMC " - "interface %d.\n", data->interface); +dev_err (dev,"Insufficient memory for BMC interface.\n" );return ; }@@ -471,9 +470,8 @@ static void ibmpex_register_bmc(int iface, struct device *dev) err =ipmi_create_user (data->interface, &driver_data.ipmi_hndlrs, data, &data->user);if (err <0 ) { - printk(KERN_ERR DRVNAME ": Error, unable to register user with " -"ipmi interface %d\n" , - data->interface); +dev_err (dev,"Unable to register user with IPMI " +"interface %d\n" , data->interface); goto out; }@@ -495,9 +493,9 @@ static void ibmpex_register_bmc(int iface, struct device *dev) data->hwmon_dev =hwmon_device_register (data->bmc_device);if (IS_ERR (data->hwmon_dev)) { - printk(KERN_ERR DRVNAME ": Error, unable to register hwmon " -"class device for interface %d\n" , - data->interface); +dev_err (data->bmc_device,"Unable to register hwmon " +"device for IPMI interface %d\n" , + data->interface); goto out_user; }@@ -508,7 +506,7 @@ static void ibmpex_register_bmc(int iface, struct device *dev)/* Now go find all the sensors */ err =ibmpex_find_sensors (data);if (err) { -printk (KERN_ERR "Error %d allocating memory\n" , err); +dev_err (data->bmc_device,"Error %d finding sensors\n" , err); goto out_register; }@@ -561,10 +559,10 @@ static void ibmpex_msg_handler(struct ipmi_recv_msg *msg, void *user_msg_data)struct ibmpex_bmc_data *data = (struct ibmpex_bmc_data *)user_msg_data;if (msg->msgid != data->tx_msgid) { -printk (KERN_ERR "Received msgid (%02x) and transmitted " -"msgid (%02x) mismatch!\n" , - (int )msg->msgid, - (int )data->tx_msgid); +dev_err (data->bmc_device,"Mismatch between received msgid " +"(%02x) and transmitted msgid (%02x)!\n" , + (int )msg->msgid, + (int )data->tx_msgid);ipmi_free_recv_msg (msg);return ; }!DSPAM:47193f59493201721698080!
Signature · 6 lines
Jean Delvare _______________________________________________ lm-sensors mailing list [email protected] http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
Re: [PATCH v2] ibmpex: Change printk to dev_{info,err} macros
Hi:
Quoted 9 lines · Jean Delvare
Quoted 6 lines · Darrick J. Wong
Ok, I'll change the message to be a bit more accurate.
---
Clean up printk use in ibmpex.Signed-off-by Darrick J. Wong <[email protected]>---
Acked-by Jean Delvare <[email protected]>
Applied to hwmon-2.6.git/testing, thanks.
Signature · 8 lines
Mark M. Hoffman [email protected] _______________________________________________ lm-sensors mailing list [email protected] http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
Quoted 14 lines · Adrian Bunk
Don't dereference "data" when we know for sure it's NULL.
Spotted by the Coverity checker.
Signed-off-by Adrian Bunk <[email protected]>---
66bec2ef5c6d55fc30ef6ac5bb97fdfcfaf394f2drivers/hwmon/ibmpex.c +0
-0
drivers/hwmon/ibmpex.c static void ibmpex_register_bmc(int iface, struct device *dev) · line 463
Quoted 8 lines
drivers/hwmon/ibmpex.c +1
-1@@ -457,7 +457,7 @@ static void ibmpex_register_bmc(int iface, struct device *dev) data =kzalloc (sizeof (*data),GFP_KERNEL );if (!data) { printk(KERN_ERR DRVNAME ": Insufficient memory for BMC " - "interface %d.\n", data->interface); + "interface.\n");return ; }
ACK.
--D
_______________________________________________
lm-sensors mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
Hi:
Quoted 13 lines · Adrian Bunk
Don't dereference "data" when we know for sure it's NULL.
Spotted by the Coverity checker.
Signed-off-by Adrian Bunk <[email protected]>---
66bec2ef5c6d55fc30ef6ac5bb97fdfcfaf394f2drivers/hwmon/ibmpex.c +0
-0
drivers/hwmon/ibmpex.c static void ibmpex_register_bmc(int iface, struct device *dev) · line 463
Quoted 8 lines
drivers/hwmon/ibmpex.c +1
-1@@ -457,7 +457,7 @@ static void ibmpex_register_bmc(int iface, struct device *dev) data =kzalloc (sizeof (*data),GFP_KERNEL );if (!data) { printk(KERN_ERR DRVNAME ": Insufficient memory for BMC " - "interface %d.\n", data->interface); + "interface.\n");return ; }
Applied to hwmon-2.6.git/testing, thanks.
Signature · 8 lines
Mark M. Hoffman [email protected] _______________________________________________ lm-sensors mailing list [email protected] http://lists.lm-sensors.org/mailman/listinfo/lm-sensors