[RFC PATCH v2] ipv6: make ipv6_renew_options() interrupt/kernel safe

Paul Moore paul at paul-moore.com
Wed Jul 4 12:36:12 UTC 2018


On Wed, Jul 4, 2018 at 1:29 AM David Miller <davem at davemloft.net> wrote:
> From: Paul Moore <pmoore at redhat.com>
> Date: Mon, 02 Jul 2018 14:20:52 -0400
>
> > -static int ipv6_renew_option(void *ohdr,
> > -                          struct ipv6_opt_hdr __user *newopt, int newoptlen,
> > -                          int inherit,
> > -                          struct ipv6_opt_hdr **hdr,
> > -                          char **p)
> > +static void ipv6_renew_option(int renewtype,
> > +                           struct ipv6_opt_hdr **dest,
> > +                           struct ipv6_opt_hdr *old,
> > +                           struct ipv6_opt_hdr *new,
> > +                           int newtype, char **p)
> >  {
>  ...
> > +     p += CMSG_ALIGN(ipv6_optlen(*dest));
>
> I don't think this actually advances the pointer in the caller,
> you need something like:
>
>         *p += CMSG_ALIGN(ipv6_optlen(*dest));

Yep, my mistake (typo); thanks for catching it.  Rebuilding a test
kernel now ...

-- 
paul moore
www.paul-moore.com
--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



More information about the Linux-security-module-archive mailing list