Commit fc833c2a authored by JackieLiu's avatar JackieLiu Committed by Shaohua Li

md/raid5-cache: use ring add to prevent overflow

'write_pos' must be protected with 'r5l_ring_add', or it may overflow
Signed-off-by: default avatarJackieLiu <liuyun01@kylinos.cn>
Reviewed-by: default avatarSong Liu <songliubraving@fb.com>
Signed-off-by: default avatarShaohua Li <shli@fb.com>
parent 9b69173e
...@@ -2084,7 +2084,7 @@ r5c_recovery_rewrite_data_only_stripes(struct r5l_log *log, ...@@ -2084,7 +2084,7 @@ r5c_recovery_rewrite_data_only_stripes(struct r5l_log *log,
ctx->pos, ctx->seq); ctx->pos, ctx->seq);
mb = page_address(page); mb = page_address(page);
offset = le32_to_cpu(mb->meta_size); offset = le32_to_cpu(mb->meta_size);
write_pos = ctx->pos + BLOCK_SECTORS; write_pos = r5l_ring_add(log, ctx->pos, BLOCK_SECTORS);
for (i = sh->disks; i--; ) { for (i = sh->disks; i--; ) {
struct r5dev *dev = &sh->dev[i]; struct r5dev *dev = &sh->dev[i];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment