[PATCH] 9p bug fix: return non-zero error value in p9_put_data

From: Abhishek Kulkarni
Date: Tue Aug 26 2008 - 13:39:39 EST


p9_put_data is called by p9_create_twrite which expects it to return a
non-zero value on error. This was the reason why every p9_client_write
was failing. This patch also adds a check for buffer overflow in
p9_put_data.

Signed-off-by: Abhishek Kulkarni <kulkarni@xxxxxxxx>
---
net/9p/conv.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/net/9p/conv.c b/net/9p/conv.c
index 4454720..7f6db15 100644
--- a/net/9p/conv.c
+++ b/net/9p/conv.c
@@ -451,8 +451,11 @@ p9_put_data(struct cbuf *bufp, const char *data,
int count,
unsigned char **pdata)
{
*pdata = buf_alloc(bufp, count);
+ if (buf_check_overflow(bufp))
+ return -EIO;
+
memmove(*pdata, data, count);
- return count;
+ return 0;
}

static int


Thanks,
-- Abhishek

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/