Skip to content
Commit edce6820 authored by Jeffrey Carlyle's avatar Jeffrey Carlyle Committed by Jens Axboe
Browse files

scatterlist: prevent invalid free when alloc fails



When alloc fails, free_table is being called. Depending on the number of
bytes requested, we determine if we are going to call _get_free_page()
or kmalloc(). When alloc fails, our math is wrong (due to sg_size - 1),
and the last buffer is wrongfully assumed to have been allocated by
kmalloc. Hence, kfree gets called and a panic occurs.

Signed-off-by: default avatarJeffrey Carlyle <jeff.carlyle@motorola.com>
Signed-off-by: default avatarOlusanya Soyannwo <c23746@motorola.com>
Acked-by: default avatarTejun Heo <tj@kernel.org>
Signed-off-by: default avatarJens Axboe <jaxboe@fusionio.com>
parent b76b4014
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