Skip to content

Commit a6ee842

Browse files
FirstLoveLifeMikulas Patocka
authored andcommitted
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>
1 parent 840b80a commit a6ee842

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

drivers/md/dm-pcache/cache.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ static void cache_info_init_default(struct pcache_cache *cache)
181181
{
182182
struct pcache_cache_info *cache_info = &cache->cache_info;
183183

184-
cache_info->header.seq = 0;
184+
memset(cache_info, 0, sizeof(*cache_info));
185185
cache_info->n_segs = cache->cache_dev->seg_num;
186186
cache_info_set_gc_percent(cache_info, PCACHE_CACHE_GC_PERCENT_DEFAULT);
187187
}

0 commit comments

Comments
 (0)