Corney, Hope this patch fixes the issue. Sorry about missing that kfree being required. :( Nick
On 2015-01-23 01:02 PM, Nicholas Krause wrote: > This adds a loop through the elements in the linked list, recv_msgs using > list_for_entry_safe in order to free messages in this list. In addition > we are using the safe version of this marco in order to prevent use after > bugs related to deleting the element we are on currently by holding a > pointer to the next element after the current one we are on and freeing > with the function, ipmi_free_recv_msg internally in this loop. > > Signed-off-by: Nicholas Krause <[email protected]> > --- > drivers/char/ipmi/ipmi_devintf.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/char/ipmi/ipmi_devintf.c > b/drivers/char/ipmi/ipmi_devintf.c > index ec318bf..a625510 100644 > --- a/drivers/char/ipmi/ipmi_devintf.c > +++ b/drivers/char/ipmi/ipmi_devintf.c > @@ -157,14 +157,19 @@ static int ipmi_release(struct inode *inode, struct > file *file) > { > struct ipmi_file_private *priv = file->private_data; > int rv; > + struct ipmi_recv_msg *msg, *next; > > rv = ipmi_destroy_user(priv->user); > if (rv) > return rv; > > - /* FIXME - free the messages in the list. */ > kfree(priv); > > + list_for_each_entry_safe(msg, next, &priv->recv_msgs, link) { > + ipmi_free_recv_msg(msg); > + } > + > + > return 0; > } > > ------------------------------------------------------------------------------ New Year. New Location. New Benefits. New Data Center in Ashburn, VA. GigeNET is offering a free month of service with a new server in Ashburn. Choose from 2 high performing configs, both with 100TB of bandwidth. Higher redundancy.Lower latency.Increased capacity.Completely compliant. http://p.sf.net/sfu/gigenet _______________________________________________ Openipmi-developer mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openipmi-developer
