linux/drivers/md/persistent-data
Mikulas Patocka 4296218771 dm persistent data: fix memory allocation failure
commit faada2174c upstream.

kmalloc is unreliable when allocating more than 8 pages of memory. It may
fail when there is plenty of free memory but the memory is fragmented.
Zdenek Kabelac observed such failure in his tests.

This commit changes kmalloc to kvmalloc - kvmalloc will fall back to
vmalloc if the large allocation fails.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Reported-by: Zdenek Kabelac <zkabelac@redhat.com>
Reviewed-by: Mike Snitzer <snitzer@kernel.org>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2024-08-29 17:30:14 +02:00
..
dm-array.c dm: change "unsigned" to "unsigned int" 2023-04-13 16:55:17 +02:00
dm-array.h dm: change "unsigned" to "unsigned int" 2023-04-13 16:55:17 +02:00
dm-bitset.c dm: change "unsigned" to "unsigned int" 2023-04-13 16:55:17 +02:00
dm-bitset.h dm persistent data: add cursor skip functions to the cursor APIs 2017-02-16 13:12:50 -05:00
dm-block-manager.c dm thin metadata: Fix ABBA deadlock by resetting dm_bufio_client 2024-01-01 12:39:05 +00:00
dm-block-manager.h dm thin metadata: Fix ABBA deadlock by resetting dm_bufio_client 2024-01-01 12:39:05 +00:00
dm-btree-internal.h dm space maps: improve performance with inc/dec on ranges of blocks 2021-06-04 12:07:22 -04:00
dm-btree-remove.c dm: change "unsigned" to "unsigned int" 2023-04-13 16:55:17 +02:00
dm-btree-spine.c dm: change "unsigned" to "unsigned int" 2023-04-13 16:55:17 +02:00
dm-btree.c dm: address indent/space issues 2024-03-26 18:21:02 -04:00
dm-btree.h dm: change "unsigned" to "unsigned int" 2023-04-13 16:55:17 +02:00
dm-persistent-data-internal.h dm: change "unsigned" to "unsigned int" 2023-04-13 16:55:17 +02:00
dm-space-map-common.c dm: address indent/space issues 2024-03-26 18:21:02 -04:00
dm-space-map-common.h dm: address indent/space issues 2024-03-26 18:21:02 -04:00
dm-space-map-disk.c dm space maps: improve performance with inc/dec on ranges of blocks 2021-06-04 12:07:22 -04:00
dm-space-map-disk.h dm: add persistent data library 2011-10-31 20:19:11 +00:00
dm-space-map-metadata.c dm persistent data: fix memory allocation failure 2024-08-29 17:30:14 +02:00
dm-space-map-metadata.h dm thin: allow metadata space larger than supported to go unused 2014-02-27 11:49:08 -05:00
dm-space-map.h dm thin metadata: Fix ABBA deadlock by resetting dm_bufio_client 2024-01-01 12:39:05 +00:00
dm-transaction-manager.c dm thin metadata: Fix ABBA deadlock by resetting dm_bufio_client 2024-01-01 12:39:05 +00:00
dm-transaction-manager.h dm: change "unsigned" to "unsigned int" 2023-04-13 16:55:17 +02:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00