mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 01:49:46 +00:00
dm-pcache: zero cache_info before default init
pcache_meta_find_latest() leaves whatever it last copied into the caller’s buffer even when it returns NULL. For cache_info_init(), that meant cache->cache_info could still contain CRC-bad garbage when no valid metadata exists, leading later initialization paths to read bogus flags. Explicitly memset cache->cache_info in cache_info_init_default() so new-cache paths start from a clean slate. The default sequence number assignment becomes redundant with this reset, so it drops out. Signed-off-by: Li Chen <chenl311@chinatelecom.cn> Reviewed-by: Zheng Gu <cengku@gmail.com> Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
This commit is contained in:
@@ -181,7 +181,7 @@ static void cache_info_init_default(struct pcache_cache *cache)
|
||||
{
|
||||
struct pcache_cache_info *cache_info = &cache->cache_info;
|
||||
|
||||
cache_info->header.seq = 0;
|
||||
memset(cache_info, 0, sizeof(*cache_info));
|
||||
cache_info->n_segs = cache->cache_dev->seg_num;
|
||||
cache_info_set_gc_percent(cache_info, PCACHE_CACHE_GC_PERCENT_DEFAULT);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user