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

David Miller davem at davemloft.net
Wed Jul 4 05:28:53 UTC 2018


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));

--
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