# HG changeset patch
# User Keir Fraser <keir@xxxxxxx>
# Date 1292837095 0
# Node ID 5c0b28125957507fbf69d23da50b9f655a04c630
# Parent 072d5b122c53852b4b09c33fdd63b6ca4b1c58e7
xenbus: Fix memory leak on release
Pending responses were leaked on close.
Signed-off-by: Daniel De Graaf <dgdegra@xxxxxxxxxxxxx>
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
---
drivers/xen/xenbus/xenbus_dev.c | 5 +++++
1 files changed, 5 insertions(+)
diff -r 072d5b122c53 -r 5c0b28125957 drivers/xen/xenbus/xenbus_dev.c
--- a/drivers/xen/xenbus/xenbus_dev.c Fri Dec 17 16:40:58 2010 +0000
+++ b/drivers/xen/xenbus/xenbus_dev.c Mon Dec 20 09:24:55 2010 +0000
@@ -359,6 +359,7 @@ static int xenbus_dev_release(struct ino
struct xenbus_dev_data *u = filp->private_data;
struct xenbus_dev_transaction *trans, *tmp;
struct watch_adapter *watch, *tmp_watch;
+ struct read_buffer *rb, *tmp_rb;
list_for_each_entry_safe(trans, tmp, &u->transactions, list) {
xenbus_transaction_end(trans->handle, 1);
@@ -372,6 +373,10 @@ static int xenbus_dev_release(struct ino
free_watch_adapter(watch);
}
+ list_for_each_entry_safe(rb, tmp_rb, &u->read_buffers, list) {
+ list_del(&rb->list);
+ kfree(rb);
+ }
kfree(u);
return 0;
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|