pandora: defconfig: update
[pandora-kernel.git] / net / iucv / af_iucv.c
index 274d150..f95145c 100644 (file)
@@ -380,7 +380,6 @@ static int afiucv_hs_send(struct iucv_message *imsg, struct sock *sock,
                        skb_trim(skb, skb->dev->mtu);
        }
        skb->protocol = ETH_P_AF_IUCV;
-       skb_shinfo(skb)->tx_flags |= SKBTX_DRV_NEEDS_SK_REF;
        nskb = skb_clone(skb, GFP_ATOMIC);
        if (!nskb)
                return -ENOMEM;
@@ -706,7 +705,8 @@ static int iucv_sock_bind(struct socket *sock, struct sockaddr *addr,
        char uid[9];
 
        /* Verify the input sockaddr */
-       if (!addr || addr->sa_family != AF_IUCV)
+       if (addr_len < sizeof(struct sockaddr_iucv) ||
+           addr->sa_family != AF_IUCV)
                return -EINVAL;
 
        lock_sock(sk);
@@ -877,7 +877,7 @@ static int iucv_sock_connect(struct socket *sock, struct sockaddr *addr,
        struct iucv_sock *iucv = iucv_sk(sk);
        int err;
 
-       if (addr->sa_family != AF_IUCV || alen < sizeof(struct sockaddr_iucv))
+       if (alen < sizeof(struct sockaddr_iucv) || addr->sa_family != AF_IUCV)
                return -EINVAL;
 
        if (sk->sk_state != IUCV_OPEN && sk->sk_state != IUCV_BOUND)