|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] linux: xenbus dev write function resets p
# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Date 1172852988 0
# Node ID 4d447158e1dd2fb6de9d817eb3c83b7ef4755932
# Parent 36b923615369583d75bd3afb8d9bcbb27b222cb6
linux: xenbus dev write function resets packet data on *all* error conditions.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_dev.c | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
diff -r 36b923615369 -r 4d447158e1dd
linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_dev.c
--- a/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_dev.c Fri Mar 02
16:26:56 2007 +0000
+++ b/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_dev.c Fri Mar 02
16:29:48 2007 +0000
@@ -175,11 +175,15 @@ static ssize_t xenbus_dev_write(struct f
struct watch_adapter *watch, *tmp_watch;
int err, rc = len;
- if ((len + u->len) > sizeof(u->u.buffer))
- return -EINVAL;
-
- if (copy_from_user(u->u.buffer + u->len, ubuf, len) != 0)
- return -EFAULT;
+ if ((len + u->len) > sizeof(u->u.buffer)) {
+ rc = -EINVAL;
+ goto out;
+ }
+
+ if (copy_from_user(u->u.buffer + u->len, ubuf, len) != 0) {
+ rc = -EFAULT;
+ goto out;
+ }
u->len += len;
if ((u->len < sizeof(u->u.msg)) ||
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] linux: xenbus dev write function resets packet data on *all* error conditions.,
Xen patchbot-unstable <=
|
|
|
|
|