Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'for-6.15/dm-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm

Pull device mapper fixes from Mikulas Patocka:

- fix reading past the end of allocated memory

- fix missing dm_put_live_table() in dm_keyslot_evict()

* tag 'for-6.15/dm-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
dm: fix copying after src array boundaries
dm: add missing unlock on in dm_keyslot_evict()

+3 -2
+3 -2
drivers/md/dm-table.c
··· 524 524 } 525 525 argv = kmalloc_array(new_size, sizeof(*argv), gfp); 526 526 if (argv) { 527 - *size = new_size; 528 527 if (old_argv) 529 528 memcpy(argv, old_argv, *size * sizeof(*argv)); 529 + *size = new_size; 530 530 } 531 531 532 532 kfree(old_argv); ··· 1173 1173 1174 1174 t = dm_get_live_table(md, &srcu_idx); 1175 1175 if (!t) 1176 - return 0; 1176 + goto put_live_table; 1177 1177 1178 1178 for (unsigned int i = 0; i < t->num_targets; i++) { 1179 1179 struct dm_target *ti = dm_table_get_target(t, i); ··· 1184 1184 (void *)key); 1185 1185 } 1186 1186 1187 + put_live_table: 1187 1188 dm_put_live_table(md, srcu_idx); 1188 1189 return 0; 1189 1190 }