On Sun, Apr 26, 2020 at 05:12:34PM -0700, Matthew Wilcox wrote:
On Mon, Apr 27, 2020 at 08:24:55AM +1000, Dave Chinner wrote:That could be done, yes. I was really just trying to point out the
You don't want to be as succinct as the btrfs change you suggested?@@ -460,17 +456,13 @@ static void orangefs_invalidatepage(struct page *page,Ditto:
if (offset == 0 && length == PAGE_SIZE) {
kfree((struct orangefs_write_range *)page_private(page));
- set_page_private(page, 0);
- ClearPagePrivate(page);
- put_page(page);
+ clear_fs_page_private(page);
wr = clear_fs_page_private(page);
kfree(wr);
kfree(clear_fs_page_private(page));
use after free that was occurring here rather than write compact
code...