Re: linux 2.6.15.1 ppp_async panic on x86-64.

From: Vitaly V. Bursov
Date: Fri Jan 20 2006 - 16:24:15 EST


On Fri, 20 Jan 2006 04:30:38 -0800
Andrew Morton <akpm@xxxxxxxx> wrote:

> "Vitaly V. Bursov" <vitalyb@xxxxxxxxxxxxx> wrote:
> >
> > PPP doesn't work for me on a x86-64 kernel.
> >
>
> The below was merged a couple of days ago, which should fix it. Can you
> please confirm that?
Yes, this patch resolves the problem.

Thanks.

> Begin forwarded message:
>
> Date: Tue, 17 Jan 2006 18:03:32 -0800
> From: Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>
> To: git-commits-head@xxxxxxxxxxxxxxx
> Subject: [NET]: Make second arg to skb_reserved() signed.
>
>
> tree 39750d44770efcdac150f041f71b7272c8da20f9
> parent f09484ff87f677056ce631aa3d8e486861501b51
> author David S. Miller <davem@xxxxxxxxxxxxxxxxxxxx> Tue, 17 Jan 2006 18:54:21 -0800
> committer David S. Miller <davem@xxxxxxxxxxxxxxxxxxxx> Tue, 17 Jan 2006 18:54:21 -0800
>
> [NET]: Make second arg to skb_reserved() signed.
>
> Some subsystems, such as PPP, can send negative values
> here. It just happened to work correctly on 32-bit with
> an unsigned value, but on 64-bit this explodes.
>
> Figured out by Paul Mackerras based upon several PPP crash
> reports.
>
> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
>
> include/linux/skbuff.h | 2 +-
> 1 files changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
> index e5fd66c..ad7cc22 100644
> --- a/include/linux/skbuff.h
> +++ b/include/linux/skbuff.h
> @@ -926,7 +926,7 @@ static inline int skb_tailroom(const str
> * Increase the headroom of an empty &sk_buff by reducing the tail
> * room. This is only allowed for an empty buffer.
> */
> -static inline void skb_reserve(struct sk_buff *skb, unsigned int len)
> +static inline void skb_reserve(struct sk_buff *skb, int len)
> {
> skb->data += len;
> skb->tail += len;


--
Vitaly DON'T PANIC
GPG Key ID: F95A23B9

Attachment: pgp00000.pgp
Description: PGP signature