* [2.6 patch] hwmon/ibmpex.c: fix NULL dereference
@ 2007-10-17 19:29 Adrian Bunk
2007-10-17 19:39 ` Nish Aravamudan
` (3 more replies)
0 siblings, 4 replies; 11+ messages in thread
From: Adrian Bunk @ 2007-10-17 19:29 UTC (permalink / raw)
To: Darrick J. Wong, Mark M. Hoffman; +Cc: lm-sensors, linux-kernel
Don't dereference "data" when we know for sure it's NULL.
Spotted by the Coverity checker.
Signed-off-by: Adrian Bunk <bunk@kernel.org>
---
66bec2ef5c6d55fc30ef6ac5bb97fdfcfaf394f2
diff --git a/drivers/hwmon/ibmpex.c b/drivers/hwmon/ibmpex.c
index c462824..e14ce3d 100644
--- a/drivers/hwmon/ibmpex.c
+++ b/drivers/hwmon/ibmpex.c
@@ -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;
}
^ permalink raw reply related [flat|nested] 11+ messages in thread* Re: [2.6 patch] hwmon/ibmpex.c: fix NULL dereference 2007-10-17 19:29 [2.6 patch] hwmon/ibmpex.c: fix NULL dereference Adrian Bunk @ 2007-10-17 19:39 ` Nish Aravamudan 2007-10-17 19:50 ` Adrian Bunk 2007-10-17 20:58 ` [lm-sensors] " Jean Delvare ` (2 subsequent siblings) 3 siblings, 1 reply; 11+ messages in thread From: Nish Aravamudan @ 2007-10-17 19:39 UTC (permalink / raw) To: Adrian Bunk; +Cc: Darrick J. Wong, Mark M. Hoffman, lm-sensors, linux-kernel On 10/17/07, Adrian Bunk <bunk@kernel.org> wrote: > Don't dereference "data" when we know for sure it's NULL. > > Spotted by the Coverity checker. > > Signed-off-by: Adrian Bunk <bunk@kernel.org> > > --- > 66bec2ef5c6d55fc30ef6ac5bb97fdfcfaf394f2 > diff --git a/drivers/hwmon/ibmpex.c b/drivers/hwmon/ibmpex.c > index c462824..e14ce3d 100644 > --- a/drivers/hwmon/ibmpex.c > +++ b/drivers/hwmon/ibmpex.c > @@ -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 ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [2.6 patch] hwmon/ibmpex.c: fix NULL dereference 2007-10-17 19:39 ` Nish Aravamudan @ 2007-10-17 19:50 ` Adrian Bunk 0 siblings, 0 replies; 11+ messages in thread From: Adrian Bunk @ 2007-10-17 19:50 UTC (permalink / raw) To: Nish Aravamudan Cc: Darrick J. Wong, Mark M. Hoffman, lm-sensors, linux-kernel On Wed, Oct 17, 2007 at 12:39:59PM -0700, Nish Aravamudan wrote: > On 10/17/07, Adrian Bunk <bunk@kernel.org> wrote: > > Don't dereference "data" when we know for sure it's NULL. > > > > Spotted by the Coverity checker. > > > > Signed-off-by: Adrian Bunk <bunk@kernel.org> > > > > --- > > 66bec2ef5c6d55fc30ef6ac5bb97fdfcfaf394f2 > > diff --git a/drivers/hwmon/ibmpex.c b/drivers/hwmon/ibmpex.c > > index c462824..e14ce3d 100644 > > --- a/drivers/hwmon/ibmpex.c > > +++ b/drivers/hwmon/ibmpex.c > > @@ -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? 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. > Thanks, > Nish cu Adrian -- "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 Seed ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [lm-sensors] [2.6 patch] hwmon/ibmpex.c: fix NULL dereference 2007-10-17 19:29 [2.6 patch] hwmon/ibmpex.c: fix NULL dereference Adrian Bunk 2007-10-17 19:39 ` Nish Aravamudan @ 2007-10-17 20:58 ` Jean Delvare 2007-10-17 22:15 ` [PATCH] ibmpex: Change printk to dev_{info,err} macros Darrick J. Wong 2007-10-17 21:10 ` [2.6 patch] hwmon/ibmpex.c: fix NULL dereference Darrick J. Wong 2007-10-18 13:34 ` Mark M. Hoffman 3 siblings, 1 reply; 11+ messages in thread From: Jean Delvare @ 2007-10-17 20:58 UTC (permalink / raw) To: Adrian Bunk; +Cc: Darrick J. Wong, Mark M. Hoffman, linux-kernel, lm-sensors On Wed, 17 Oct 2007 21:29:02 +0200, Adrian Bunk wrote: > Don't dereference "data" when we know for sure it's NULL. > > Spotted by the Coverity checker. > > Signed-off-by: Adrian Bunk <bunk@kernel.org> > > --- > 66bec2ef5c6d55fc30ef6ac5bb97fdfcfaf394f2 > diff --git a/drivers/hwmon/ibmpex.c b/drivers/hwmon/ibmpex.c > index c462824..e14ce3d 100644 > --- a/drivers/hwmon/ibmpex.c > +++ b/drivers/hwmon/ibmpex.c > @@ -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, -- Jean Delvare ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH] ibmpex: Change printk to dev_{info,err} macros 2007-10-17 20:58 ` [lm-sensors] " Jean Delvare @ 2007-10-17 22:15 ` Darrick J. Wong 2007-10-19 8:54 ` Jean Delvare 0 siblings, 1 reply; 11+ messages in thread From: Darrick J. Wong @ 2007-10-17 22:15 UTC (permalink / raw) To: Jean Delvare; +Cc: Adrian Bunk, Mark M. Hoffman, linux-kernel, lm-sensors 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 <djwong@us.ibm.com> --- drivers/hwmon/ibmpex.c | 48 +++++++++++++++++++++++------------------------- 1 files changed, 23 insertions(+), 25 deletions(-) diff --git a/drivers/hwmon/ibmpex.c b/drivers/hwmon/ibmpex.c index c462824..3c8278b 100644 --- a/drivers/hwmon/ibmpex.c +++ b/drivers/hwmon/ibmpex.c @@ -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; } ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH] ibmpex: Change printk to dev_{info,err} macros 2007-10-17 22:15 ` [PATCH] ibmpex: Change printk to dev_{info,err} macros Darrick J. Wong @ 2007-10-19 8:54 ` Jean Delvare 2007-10-19 23:35 ` [PATCH v2] " Darrick J. Wong 0 siblings, 1 reply; 11+ messages in thread From: Jean Delvare @ 2007-10-19 8:54 UTC (permalink / raw) To: Darrick J. Wong; +Cc: Adrian Bunk, Mark M. Hoffman, linux-kernel, lm-sensors Hi Darrick, On Wed, 17 Oct 2007 15:15:03 -0700, Darrick J. Wong wrote: > 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 <djwong@us.ibm.com> > --- > > drivers/hwmon/ibmpex.c | 48 +++++++++++++++++++++++------------------------- > 1 files changed, 23 insertions(+), 25 deletions(-) > > diff --git a/drivers/hwmon/ibmpex.c b/drivers/hwmon/ibmpex.c > index c462824..3c8278b 100644 > --- a/drivers/hwmon/ibmpex.c > +++ b/drivers/hwmon/ibmpex.c > @@ -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); This message might be misleading, as there are other reasons why ibmpex_find_sensors() can fail. > 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; > } Other than that, the patch looks OK: Acked-by: Jean Delvare <khali@linux-fr.org> -- Jean Delvare ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2] ibmpex: Change printk to dev_{info,err} macros 2007-10-19 8:54 ` Jean Delvare @ 2007-10-19 23:35 ` Darrick J. Wong 2007-10-20 21:30 ` Jean Delvare 0 siblings, 1 reply; 11+ messages in thread From: Darrick J. Wong @ 2007-10-19 23:35 UTC (permalink / raw) To: Jean Delvare; +Cc: Adrian Bunk, Mark M. Hoffman, linux-kernel, lm-sensors Ok, I'll change the message to be a bit more accurate. --- Clean up printk use in ibmpex. Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> --- drivers/hwmon/ibmpex.c | 48 +++++++++++++++++++++++------------------------- 1 files changed, 23 insertions(+), 25 deletions(-) diff --git a/drivers/hwmon/ibmpex.c b/drivers/hwmon/ibmpex.c index c462824..9c9cdb0 100644 --- a/drivers/hwmon/ibmpex.c +++ b/drivers/hwmon/ibmpex.c @@ -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; } ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v2] ibmpex: Change printk to dev_{info,err} macros 2007-10-19 23:35 ` [PATCH v2] " Darrick J. Wong @ 2007-10-20 21:30 ` Jean Delvare 2007-10-23 11:23 ` Mark M. Hoffman 0 siblings, 1 reply; 11+ messages in thread From: Jean Delvare @ 2007-10-20 21:30 UTC (permalink / raw) To: Darrick J. Wong; +Cc: Adrian Bunk, Mark M. Hoffman, linux-kernel, lm-sensors On Fri, 19 Oct 2007 16:35:07 -0700, Darrick J. Wong wrote: > Ok, I'll change the message to be a bit more accurate. > --- > Clean up printk use in ibmpex. > > Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> > --- Acked-by: Jean Delvare <khali@linux-fr.org> > > drivers/hwmon/ibmpex.c | 48 +++++++++++++++++++++++------------------------- > 1 files changed, 23 insertions(+), 25 deletions(-) > > diff --git a/drivers/hwmon/ibmpex.c b/drivers/hwmon/ibmpex.c > index c462824..9c9cdb0 100644 > --- a/drivers/hwmon/ibmpex.c > +++ b/drivers/hwmon/ibmpex.c > @@ -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! > -- Jean Delvare ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2] ibmpex: Change printk to dev_{info,err} macros 2007-10-20 21:30 ` Jean Delvare @ 2007-10-23 11:23 ` Mark M. Hoffman 0 siblings, 0 replies; 11+ messages in thread From: Mark M. Hoffman @ 2007-10-23 11:23 UTC (permalink / raw) To: Jean Delvare; +Cc: Darrick J. Wong, Adrian Bunk, linux-kernel, lm-sensors Hi: * Jean Delvare <khali@linux-fr.org> [2007-10-20 23:30:52 +0200]: > On Fri, 19 Oct 2007 16:35:07 -0700, Darrick J. Wong wrote: > > Ok, I'll change the message to be a bit more accurate. > > --- > > Clean up printk use in ibmpex. > > > > Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> > > --- > > Acked-by: Jean Delvare <khali@linux-fr.org> Applied to hwmon-2.6.git/testing, thanks. -- Mark M. Hoffman mhoffman@lightlink.com ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [2.6 patch] hwmon/ibmpex.c: fix NULL dereference 2007-10-17 19:29 [2.6 patch] hwmon/ibmpex.c: fix NULL dereference Adrian Bunk 2007-10-17 19:39 ` Nish Aravamudan 2007-10-17 20:58 ` [lm-sensors] " Jean Delvare @ 2007-10-17 21:10 ` Darrick J. Wong 2007-10-18 13:34 ` Mark M. Hoffman 3 siblings, 0 replies; 11+ messages in thread From: Darrick J. Wong @ 2007-10-17 21:10 UTC (permalink / raw) To: Adrian Bunk; +Cc: Mark M. Hoffman, lm-sensors, linux-kernel On Wed, Oct 17, 2007 at 09:29:02PM +0200, Adrian Bunk wrote: > Don't dereference "data" when we know for sure it's NULL. > > Spotted by the Coverity checker. > > Signed-off-by: Adrian Bunk <bunk@kernel.org> > > --- > 66bec2ef5c6d55fc30ef6ac5bb97fdfcfaf394f2 > diff --git a/drivers/hwmon/ibmpex.c b/drivers/hwmon/ibmpex.c > index c462824..e14ce3d 100644 > --- a/drivers/hwmon/ibmpex.c > +++ b/drivers/hwmon/ibmpex.c > @@ -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 ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [2.6 patch] hwmon/ibmpex.c: fix NULL dereference 2007-10-17 19:29 [2.6 patch] hwmon/ibmpex.c: fix NULL dereference Adrian Bunk ` (2 preceding siblings ...) 2007-10-17 21:10 ` [2.6 patch] hwmon/ibmpex.c: fix NULL dereference Darrick J. Wong @ 2007-10-18 13:34 ` Mark M. Hoffman 3 siblings, 0 replies; 11+ messages in thread From: Mark M. Hoffman @ 2007-10-18 13:34 UTC (permalink / raw) To: Adrian Bunk; +Cc: Darrick J. Wong, lm-sensors, linux-kernel Hi: * Adrian Bunk <bunk@kernel.org> [2007-10-17 21:29:02 +0200]: > Don't dereference "data" when we know for sure it's NULL. > > Spotted by the Coverity checker. > > Signed-off-by: Adrian Bunk <bunk@kernel.org> > > --- > 66bec2ef5c6d55fc30ef6ac5bb97fdfcfaf394f2 > diff --git a/drivers/hwmon/ibmpex.c b/drivers/hwmon/ibmpex.c > index c462824..e14ce3d 100644 > --- a/drivers/hwmon/ibmpex.c > +++ b/drivers/hwmon/ibmpex.c > @@ -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. -- Mark M. Hoffman mhoffman@lightlink.com ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2007-10-23 11:27 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-17 19:29 [2.6 patch] hwmon/ibmpex.c: fix NULL dereference Adrian Bunk
2007-10-17 19:39 ` Nish Aravamudan
2007-10-17 19:50 ` Adrian Bunk
2007-10-17 20:58 ` [lm-sensors] " Jean Delvare
2007-10-17 22:15 ` [PATCH] ibmpex: Change printk to dev_{info,err} macros Darrick J. Wong
2007-10-19 8:54 ` Jean Delvare
2007-10-19 23:35 ` [PATCH v2] " Darrick J. Wong
2007-10-20 21:30 ` Jean Delvare
2007-10-23 11:23 ` Mark M. Hoffman
2007-10-17 21:10 ` [2.6 patch] hwmon/ibmpex.c: fix NULL dereference Darrick J. Wong
2007-10-18 13:34 ` Mark M. Hoffman
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox