@ -1999,7 +1999,8 @@ static int ip_route_input_mc(struct sk_buff *skb, __be32 daddr, __be32 saddr,
if ( ! ipv4_is_local_multicast ( daddr ) )
goto e_inval ;
} else {
err = fib_validate_source ( skb , saddr , 0 , tos , 0 , dev , & itag ) ;
err = fib_validate_source ( skb , saddr , 0 , tos , 0 , dev ,
in_dev , & itag ) ;
if ( err < 0 )
goto e_err ;
}
@ -2100,7 +2101,7 @@ static int __mkroute_input(struct sk_buff *skb,
err = fib_validate_source ( skb , saddr , daddr , tos , FIB_RES_OIF ( * res ) ,
in_dev - > dev , & itag ) ;
in_dev - > dev , in_dev , & itag ) ;
if ( err < 0 ) {
ip_handle_martian_source ( in_dev - > dev , in_dev , skb , daddr ,
saddr ) ;
@ -2274,7 +2275,7 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
if ( res . type = = RTN_LOCAL ) {
err = fib_validate_source ( skb , saddr , daddr , tos ,
net - > loopback_dev - > ifindex ,
dev , & itag ) ;
dev , in_dev , & itag ) ;
if ( err < 0 )
goto martian_source_keep_err ;
if ( err )
@ -2295,7 +2296,8 @@ brd_input:
goto e_inval ;
if ( ! ipv4_is_zeronet ( saddr ) ) {
err = fib_validate_source ( skb , saddr , 0 , tos , 0 , dev , & itag ) ;
err = fib_validate_source ( skb , saddr , 0 , tos , 0 , dev ,
in_dev , & itag ) ;
if ( err < 0 )
goto martian_source_keep_err ;
if ( err )