xfs: fix iclog allocation size
Properly allocate the space for the bio_vecs instead of just one byte
per bio_vec.
Fixes: 79b54d9bfc
("xfs: use bios directly to write log buffers")
Reported-by: syzbot+b75afdbe271a0d7ac4f6@syzkaller.appspotmail.com
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
This commit is contained in:
Родитель
250d4b4c40
Коммит
89b171acb2
|
@ -1411,7 +1411,8 @@ xlog_alloc_log(
|
|||
*/
|
||||
ASSERT(log->l_iclog_size >= 4096);
|
||||
for (i = 0; i < log->l_iclog_bufs; i++) {
|
||||
size_t bvec_size = howmany(log->l_iclog_size, PAGE_SIZE);
|
||||
size_t bvec_size = howmany(log->l_iclog_size, PAGE_SIZE) *
|
||||
sizeof(struct bio_vec);
|
||||
|
||||
iclog = kmem_zalloc(sizeof(*iclog) + bvec_size, KM_MAYFAIL);
|
||||
if (!iclog)
|
||||
|
|
Загрузка…
Ссылка в новой задаче