/* buf->data is maximum size - we may only use parts of it */
        struct um_pci_message_buffer *buf;
        u8 *data;
-       unsigned long ret = ~0ULL;
+       unsigned long ret = ULONG_MAX;
 
        if (!dev)
-               return ~0ULL;
+               return ULONG_MAX;
 
        buf = get_cpu_var(um_pci_msg_bufs);
        data = buf->data;
 
-       memset(data, 0xff, sizeof(data));
+       memset(buf->data, 0xff, sizeof(buf->data));
 
        switch (size) {
        case 1:
        /* buf->data is maximum size - we may only use parts of it */
        struct um_pci_message_buffer *buf;
        u8 *data;
-       unsigned long ret = ~0ULL;
+       unsigned long ret = ULONG_MAX;
 
        buf = get_cpu_var(um_pci_msg_bufs);
        data = buf->data;