Index: LVM2.2.02.152/libdm/datastruct/hash.c =================================================================== --- LVM2.2.02.152.orig/libdm/datastruct/hash.c +++ LVM2.2.02.152/libdm/datastruct/hash.c @@ -20,7 +20,7 @@ struct dm_hash_node { void *data; unsigned data_len; unsigned keylen; - char key[0]; + unsigned char key[0]; }; struct dm_hash_table { @@ -137,7 +137,7 @@ void dm_hash_destroy(struct dm_hash_tabl static struct dm_hash_node **_find(struct dm_hash_table *t, const void *key, uint32_t len) { - unsigned h = _hash(key, len) & (t->num_slots - 1); + unsigned h = _hash((unsigned char *)key, len) & (t->num_slots - 1); struct dm_hash_node **c; for (c = &t->slots[h]; *c; c = &((*c)->next)) { @@ -361,7 +361,8 @@ void dm_hash_wipe(struct dm_hash_table * char *dm_hash_get_key(struct dm_hash_table *t __attribute__((unused)), struct dm_hash_node *n) { - return n->key; + return (char *)n->key; + } void *dm_hash_get_data(struct dm_hash_table *t __attribute__((unused)), Index: LVM2.2.02.152/libdm/ioctl/libdm-iface.c =================================================================== --- LVM2.2.02.152.orig/libdm/ioctl/libdm-iface.c +++ LVM2.2.02.152/libdm/ioctl/libdm-iface.c @@ -1834,7 +1834,7 @@ static struct dm_ioctl *_do_dm_ioctl(str dmt->secure_data ? "securedata " : "", dmt->query_inactive_table ? "inactive " : "", dmt->enable_checks ? "enablechecks " : "", - dmt->sector, _sanitise_message(dmt->message), + (unsigned long long int)dmt->sector, _sanitise_message(dmt->message), dmi->data_size, retry_repeat_count); #ifdef DM_IOCTLS r = ioctl(_control_fd, command, dmi);