]> git.baikalelectronics.ru Git - kernel.git/commit
Btrfs: ulist realloc bugfix
authorJan Schmidt <list.btrfs@jan-o-sch.net>
Tue, 22 May 2012 12:56:50 +0000 (14:56 +0200)
committerJan Schmidt <list.btrfs@jan-o-sch.net>
Sat, 26 May 2012 10:17:49 +0000 (12:17 +0200)
commit5438d779709dd5dd4de10b0e857f5fa264680943
treea433c13c530c487f2d7e209402ef72ec67e48647
parentcb3d3e26b9220216b047f04bdcf796b9a4c098eb
Btrfs: ulist realloc bugfix

ulist_next gets the pointer to the previously returned element to find the
next element from there. However, when we call ulist_add while iteration
with ulist_next is in progress (ulist explicitly supports this), we can
realloc the ulist internal memory, which makes the pointer to the previous
element useless.

Instead, we now use an iterator parameter that's independent from the
internal pointers.

Reported-by: Alexander Block <ablock84@googlemail.com>
Signed-off-by: Jan Schmidt <list.btrfs@jan-o-sch.net>
fs/btrfs/backref.c
fs/btrfs/ulist.c
fs/btrfs/ulist.h