| From stable-bounces@linux.kernel.org Thu Dec 7 15:37:55 2006 |
| Date: Fri, 8 Dec 2006 01:32:22 +0200 |
| From: Samuel Ortiz <samuel@sortiz.org> |
| To: stable@kernel.org |
| Message-ID: <20061207233222.GA4549@sortiz.org> |
| Cc: "David S. Miller" <davem@davemloft.net> |
| Subject: IrDA: Incorrect TTP header reservation |
| |
| From: Jeet Chaudhuri <jeetlinux@yahoo.co.in> |
| |
| We must reserve SAR + MAX_HEADER bytes for IrLMP to fit in. |
| This fixes an oops reported (and fixed) by Jeet Chaudhuri, when max_sdu_size |
| is greater than 0. |
| |
| Signed-off-by: Samuel Ortiz <samuel@sortiz.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Chris Wright <chrisw@sous-sol.org> |
| |
| --- |
| net/irda/irttp.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- linux-2.6.19.orig/net/irda/irttp.c |
| +++ linux-2.6.19/net/irda/irttp.c |
| @@ -1099,7 +1099,7 @@ int irttp_connect_request(struct tsap_cb |
| return -ENOMEM; |
| |
| /* Reserve space for MUX_CONTROL and LAP header */ |
| - skb_reserve(tx_skb, TTP_MAX_HEADER); |
| + skb_reserve(tx_skb, TTP_MAX_HEADER + TTP_SAR_HEADER); |
| } else { |
| tx_skb = userdata; |
| /* |
| @@ -1348,7 +1348,7 @@ int irttp_connect_response(struct tsap_c |
| return -ENOMEM; |
| |
| /* Reserve space for MUX_CONTROL and LAP header */ |
| - skb_reserve(tx_skb, TTP_MAX_HEADER); |
| + skb_reserve(tx_skb, TTP_MAX_HEADER + TTP_SAR_HEADER); |
| } else { |
| tx_skb = userdata; |
| /* |