X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fnet%2Fappletalk%2Fipddp.c;h=f22e46dfd770681c2772b1b9d904811e55e33475;hb=refs%2Fheads%2Fvserver;hp=8c0a962d538f0862d90c8d8504a40b21d9b7ef91;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/drivers/net/appletalk/ipddp.c b/drivers/net/appletalk/ipddp.c index 8c0a962d5..f22e46dfd 100644 --- a/drivers/net/appletalk/ipddp.c +++ b/drivers/net/appletalk/ipddp.c @@ -23,7 +23,6 @@ * of the GNU General Public License, incorporated herein by reference. */ -#include #include #include #include @@ -146,9 +145,7 @@ static int ipddp_xmit(struct sk_buff *skb, struct net_device *dev) /* Create the Extended DDP header */ ddp = (struct ddpehdr *)skb->data; - ddp->deh_len = skb->len; - ddp->deh_hops = 1; - ddp->deh_pad = 0; + ddp->deh_len_hops = htons(skb->len + (1<<10)); ddp->deh_sum = 0; /* @@ -171,7 +168,6 @@ static int ipddp_xmit(struct sk_buff *skb, struct net_device *dev) ddp->deh_sport = 72; *((__u8 *)(ddp+1)) = 22; /* ddp type = IP */ - *((__u16 *)ddp)=ntohs(*((__u16 *)ddp)); /* fix up length field */ skb->protocol = htons(ETH_P_ATALK); /* Protocol has changed */ @@ -190,7 +186,7 @@ static int ipddp_xmit(struct sk_buff *skb, struct net_device *dev) */ static int ipddp_create(struct ipddp_route *new_rt) { - struct ipddp_route *rt =(struct ipddp_route*) kmalloc(sizeof(*rt), GFP_KERNEL); + struct ipddp_route *rt = kmalloc(sizeof(*rt), GFP_KERNEL); if (rt == NULL) return -ENOMEM; @@ -259,7 +255,7 @@ static struct ipddp_route* ipddp_find_route(struct ipddp_route *rt) static int ipddp_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) { - struct ipddp_route *rt = (struct ipddp_route *)ifr->ifr_data; + struct ipddp_route __user *rt = ifr->ifr_data; struct ipddp_route rcp; if(!capable(CAP_NET_ADMIN)) @@ -289,7 +285,7 @@ static int ipddp_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) static struct net_device *dev_ipddp; MODULE_LICENSE("GPL"); -MODULE_PARM(ipddp_mode, "i"); +module_param(ipddp_mode, int, 0); static int __init ipddp_init_module(void) {