]> err.no Git - linux-2.6/blobdiff - net/bluetooth/hci_sock.c
[PATCH] vt: fix possible memory corruption in complement_pos
[linux-2.6] / net / bluetooth / hci_sock.c
index eed9090d77f169750a7ec084188aa12f30938cff..32ef7975a139149a31481711a34de2c27040ce17 100644 (file)
@@ -332,8 +332,12 @@ static inline void hci_sock_cmsg(struct sock *sk, struct msghdr *msg, struct sk_
                put_cmsg(msg, SOL_HCI, HCI_CMSG_DIR, sizeof(incoming), &incoming);
        }
 
-       if (mask & HCI_CMSG_TSTAMP)
-               put_cmsg(msg, SOL_HCI, HCI_CMSG_TSTAMP, sizeof(skb->stamp), &skb->stamp);
+       if (mask & HCI_CMSG_TSTAMP) {
+               struct timeval tv;
+
+               skb_get_timestamp(skb, &tv);
+               put_cmsg(msg, SOL_HCI, HCI_CMSG_TSTAMP, sizeof(tv), &tv);
+       }
 }
  
 static int hci_sock_recvmsg(struct kiocb *iocb, struct socket *sock,