Re: [2.6.24][BUG] Compact code broken?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Nov 15, 2007 2:48 PM, Patrick McHardy <kaber@xxxxxxxxx> wrote:
> David Miller wrote:
> > From: "Luca Tettamanti" <kronos.it@xxxxxxxxx>
> > Date: Thu, 15 Nov 2007 00:39:11 +0100
> >
> >> On Nov 15, 2007 12:00 AM, David Miller <davem@xxxxxxxxxxxxx> wrote:
> >>> From: Luca Tettamanti <kronos.it@xxxxxxxxx>
> >>> Date: Wed, 14 Nov 2007 22:28:55 +0100
> >>>
> >>>> Hello,
> >>>> I'm testing a 64bit kernel on my machine and I've found an issue with
> >>>> iptables (32 bit). Kernel is git current (9418d5dc).
> >>> What platform?  x86?  powerpc?  sparc64?
> >> x86
> >
> > Ok, the userland pointer you provided seemed to be sign extended
> > to 64-bit, so there might be a pointer arithmetic bug in the
> > netfilter compat code somewhere.
>
>
> It took me a few passes over the code, but it turns out to be
> a simple typo :)
>
> Luca, does this fix it for you?

Yes, it's working fine, thank you!

> [NETFILTER]: fix compat_nf_sockopt typo
>
> It should pass opt to the ->get/->set functions, not ops.
>
> Fixes compat fault reported by Luca Tettamanti <kronos.it@xxxxxxxxx>
>
> Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>

Tested-by: Luca Tettamanti <kronos.it@xxxxxxxxx>

>
> ---
> commit ac55193be35872211189096ec600f94614a0179b
> tree a6633e33307b5ec1e11fedc2d0e125ed6e2bd081
> parent 99fee6d7e5748d96884667a4628118f7fc130ea0
> author Patrick McHardy <kaber@xxxxxxxxx> Thu, 15 Nov 2007 14:46:43 +0100
> committer Patrick McHardy <kaber@xxxxxxxxx> Thu, 15 Nov 2007 14:46:43 +0100
>
>  net/netfilter/nf_sockopt.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/net/netfilter/nf_sockopt.c b/net/netfilter/nf_sockopt.c
> index 87bc144..3dd4b3c 100644
> --- a/net/netfilter/nf_sockopt.c
> +++ b/net/netfilter/nf_sockopt.c
> @@ -143,12 +143,12 @@ static int compat_nf_sockopt(struct sock *sk, int pf, int val,
>                 if (ops->compat_get)
>                         ret = ops->compat_get(sk, val, opt, len);
>                 else
> -                       ret = ops->get(sk, val, ops, len);
> +                       ret = ops->get(sk, val, opt, len);
>         } else {
>                 if (ops->compat_set)
> -                       ret = ops->compat_set(sk, val, ops, *len);
> +                       ret = ops->compat_set(sk, val, opt, *len);
>                 else
> -                       ret = ops->set(sk, val, ops, *len);
> +                       ret = ops->set(sk, val, opt, *len);
>         }
>
>         module_put(ops->owner);
>
>
-
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux