On Thu, 17 May 2007 18:48:12 +0800
David Woodhouse <[EMAIL PROTECTED]> wrote:

> The function ipxrtr_route_packet() takes a 'len' argument of type
> size_t. However, its prototype in af_ipx.c incorrectly suggests that the
> corresponding argument is of type 'int' instead.
> 
> Discovered by building with --combine and letting the compiler see it
> all at once.
> 
> Signed-off-by: David Woodhouse <[EMAIL PROTECTED]>
> 
> --- a/net/ipx/af_ipx.c
> +++ b/net/ipx/af_ipx.c
> @@ -87,7 +87,7 @@ extern int ipxrtr_add_route(__be32 network, struct 
> ipx_interface *intrfc,
>                           unsigned char *node);
>  extern void ipxrtr_del_routes(struct ipx_interface *intrfc);
>  extern int ipxrtr_route_packet(struct sock *sk, struct sockaddr_ipx *usipx,
> -                            struct iovec *iov, int len, int noblock);
> +                            struct iovec *iov, size_t len, int noblock);
>  extern int ipxrtr_route_skb(struct sk_buff *skb);
>  extern struct ipx_route *ipxrtr_lookup(__be32 net);
>  extern int ipxrtr_ioctl(unsigned int cmd, void __user *arg);

Lovely.  So it was actually generating wrong code on all
sizeof(size_t)!=sizeof(int) architectures.

If only we could find some way in which all callers of a function as
well as its definition can see the same declaration?
-
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

Reply via email to