From: Patrick McHardy <[EMAIL PROTECTED]> Date: Tue, 20 Mar 2007 20:58:55 +0100
> Thomas Graf wrote: > > * Patrick McHardy <[EMAIL PROTECTED]> 2007-03-20 17:59 > > > >>The presence of the attributes when src_len/dst_len is non-zero > >>is only verified in fib_newrule, so this looks like it might crash > >>when something broken sets src_len/dst_len to a non-zero value > >>without actually adding the attributes. > > > > > > You're right, we need to validate in fib_nl_delrule() as well. > > > > Based on Patrick's patch: > > The fib_rules netlink attribute policy introduced in 2.6.19 broke > > userspace compatibilty. When specifying a rule with "from all" > > or "to all", iproute adds a zero byte long netlink attribute, > > but the policy requires all addresses to have a size equal to > > sizeof(struct in_addr)/sizeof(struct in6_addr), resulting in a > > validation error. > > > > Check attribute length of FRA_SRC/FRA_DST in the generic framework > > by letting the family specific rules implementation provide the > > length of an address. Report an error if address length is non > > zero but no address attribute is provided. Fix actual bug by > > checking address length for non-zero instead of relying on > > availability of attribute. > > > > Signed-off-by: Thomas Graf <[EMAIL PROTECTED]> > > This looks good, thanks. > > Signed-off-by: Patrick McHardy <[EMAIL PROTECTED]> Applied, thanks guys, I'll push this to 2.6.20-stable as well. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html