Re: [PATCH] md/bitmap: fix GPF in write_page caused by resize race
Jinpu Wang <[email protected]>
| Newsgroups | gmane.linux.kernel.stable,gmane.linux.raid,gmane.linux.kernel |
|---|---|
| Message-ID | <CAMGffEmMO59xc2DOVo2A4dat7Vm7N6E+tHH2ZM0GpVCD796mtw@mail.gmail.com> |
On Mon, Jan 26, 2026 at 6:33 AM Yu Kuai <[email protected]> wrote: > > 在 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 Hi Kuai, Thanks for applying the fix with the fixes tag. Best, Jinpu