diff mbox

[1/1] mISDN: Fix handling of receive buffer size in L1oIP

Message ID 467d0b871314c60818f541024fcacca686f3e354.1248781021.git.keil@b1-systems.de
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Karsten Keil July 27, 2009, 5:24 p.m. UTC
From: Andreas Eversberg <andreas@eversberg.eu>

The size of receive buffer pointer was used to get size of
receive buffer instead of recvbuf_size itself, so only 4/8
bytes could be transfered.

This is a regression to 2.6.30 introduced by commit 8c90e11e3543d7de612194a042a148caeaab5f1d
mISDN: Use kernel_{send,recv}msg instead of open coding

Signed-off-by: Andreas Eversberg <andreas@eversberg.eu>
Signed-off-by: Karsten Keil <keil@b1-systems.de>
---
 drivers/isdn/mISDN/l1oip_core.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

Comments

David Miller Aug. 2, 2009, 8:02 p.m. UTC | #1
From: Karsten Keil <keil@b1-systems.de>
Date: Mon, 27 Jul 2009 19:24:04 +0200

> From: Andreas Eversberg <andreas@eversberg.eu>
> 
> The size of receive buffer pointer was used to get size of
> receive buffer instead of recvbuf_size itself, so only 4/8
> bytes could be transfered.
> 
> This is a regression to 2.6.30 introduced by commit 8c90e11e3543d7de612194a042a148caeaab5f1d
> mISDN: Use kernel_{send,recv}msg instead of open coding
> 
> Signed-off-by: Andreas Eversberg <andreas@eversberg.eu>
> Signed-off-by: Karsten Keil <keil@b1-systems.de>

Applied to net-2.6, thanks.

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/isdn/mISDN/l1oip_core.c b/drivers/isdn/mISDN/l1oip_core.c
index 990e6a7..c3b661a 100644
--- a/drivers/isdn/mISDN/l1oip_core.c
+++ b/drivers/isdn/mISDN/l1oip_core.c
@@ -731,10 +731,10 @@  l1oip_socket_thread(void *data)
 	while (!signal_pending(current)) {
 		struct kvec iov = {
 			.iov_base = recvbuf,
-			.iov_len = sizeof(recvbuf),
+			.iov_len = recvbuf_size,
 		};
 		recvlen = kernel_recvmsg(socket, &msg, &iov, 1,
-					 sizeof(recvbuf), 0);
+					 recvbuf_size, 0);
 		if (recvlen > 0) {
 			l1oip_socket_parse(hc, &sin_rx, recvbuf, recvlen);
 		} else {