Re: [PATCH] md/bitmap: fix GPF in write_page caused by resize race
"Yu Kuai" <[email protected]>
| Newsgroups | gmane.linux.kernel.stable,gmane.linux.raid,gmane.linux.kernel |
|---|---|
| Message-ID | <[email protected]> |
在 2026/1/20 18:24, Jack Wang 写道: > A General Protection Fault occurs in write_page() during array resize: > RIP: 0010:write_page+0x22b/0x3c0 [md_mod] > > This is a use-after-free race between bitmap_daemon_work() and > __bitmap_resize(). The daemon iterates over `bitmap->storage.filemap` > without locking, while the resize path frees that storage via > md_bitmap_file_unmap(). `quiesce()` does not stop the md thread, > allowing concurrent access to freed pages. > > Fix by holding `mddev->bitmap_info.mutex` during the bitmap update. > > Closes:https://lore.kernel.org/linux-raid/CAMGffE=Mbfp=7xD_hYxXk1PAaCZNSEAVeQGKGy7YF9f2S4=NEA@mail.gmail.com/T/#u > Cc:[email protected] > Signed-off-by: Jack Wang<[email protected]> > --- > drivers/md/md-bitmap.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) Applied with a fixtag: Fixes: d60b479d177a ("md/bitmap: add bitmap_resize function to allow bitmap resizing.") -- Thansk, Kuai