Simon Horman wrote:
> From: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx>
> ipvs: Add boundary check on ioctl arguments
> The ipvs code has a nifty system for doing the size of ioctl command
> copies; it defines an array with values into which it indexes the cmd
> to find the right length.
> Unfortunately, the ipvs code forgot to check if the cmd was in the
> range that the array provides, allowing for an index outside of the
> array, which then gives a "garbage" result into the length, which
> then gets used for copying into a stack buffer.
> Fix this by adding sanity checks on these as well as the copy size.
> [ horms@xxxxxxxxxxxx: adjusted limit to IP_VS_SO_GET_MAX ]
> Signed-off-by: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx>
> Acked-by: Julian Anastasov <ja@xxxxxx>
> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx>
> net/netfilter/ipvs/ip_vs_ctl.c | 14 +++++++++++++-
> 1 files changed, 13 insertions(+), 1 deletions(-)
> Hi Arjen,
> this is the 4th response to your patch. I am guessing the previous
> ones didn't reach you for some reason. And I guess this one wont
> for the same reason.
> I agree with Julian's assessment that your patch shouldn't be
> necessary, but on the other hand I think that the checks are
> reasonable. Your original patch made checks of the form of
> "cmd > IP_VS_SO_GET_MAX + 1". I have updated this to
> "cmd > IP_VS_SO_GET_MAX", as suggested by Julian, as the optmax
> elements of struct nf_sockopt_ops set a non-inclusive range.
> Index: net-next-2.6/net/netfilter/ipvs/ip_vs_ctl.c
As a bugfix, this seems more appropriate for net-2.6.git. Please let
me know which tree you want me to apply this to.
To unsubscribe from this list: send the line "unsubscribe lvs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html