pstore/ram: Include ecc_size when calculating ecc_block
Wastes less memory and allows using more memory for ecc than data. Signed-off-by: Arve Hjønnevåg <arve@android.com> [jstultz: Tweaked commit subject] Signed-off-by: John Stultz <john.stultz@linaro.org> Acked-by: Kees Cook <keescook@chromium.org> Signed-off-by: Anton Vorontsov <anton@enomsg.org>
This commit is contained in:
Родитель
c53026722b
Коммит
422ca8608c
|
@ -187,7 +187,8 @@ static int persistent_ram_init_ecc(struct persistent_ram_zone *prz,
|
|||
prz->ecc_block_size = 128;
|
||||
prz->ecc_size = ecc_size;
|
||||
|
||||
ecc_blocks = DIV_ROUND_UP(prz->buffer_size, prz->ecc_block_size);
|
||||
ecc_blocks = DIV_ROUND_UP(prz->buffer_size - prz->ecc_size,
|
||||
prz->ecc_block_size + prz->ecc_size);
|
||||
ecc_total = (ecc_blocks + 1) * prz->ecc_size;
|
||||
if (ecc_total >= prz->buffer_size) {
|
||||
pr_err("%s: invalid ecc_size %u (total %zu, buffer size %zu)\n",
|
||||
|
|
Загрузка…
Ссылка в новой задаче