lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <20130308124521.GA18949@gmail.com> Date: Fri, 8 Mar 2013 20:45:21 +0800 From: Zheng Liu <gnehzuil.liu@...il.com> To: Jan Kara <jack@...e.cz> Cc: Ted Tso <tytso@....edu>, linux-ext4@...r.kernel.org Subject: Re: [PATCH] ext4: Fix WARN_ON from ext4_releasepage() On Thu, Mar 07, 2013 at 03:52:49PM +0100, Jan Kara wrote: > ext4_releasepage() warns when it is passed a page with PageChecked set. > However this can correctly happen when invalidate_inode_pages2_range() > invalidates pages - and we should fail the release in that case. Since > the page was dirty anyway, it won't be discarded and no harm has > happened but it's good to be safe. Also remove bogus page_has_buffers() > check - we are guaranteed page has buffers in this function. > > Reported-by: Zheng Liu <gnehzuil.liu@...il.com> > Signed-off-by: Jan Kara <jack@...e.cz> Thanks for fixing it. I can confirm that the warning disappears. Tested-by: Zheng Liu <wenqing.lz@...bao.com> Regards, - Zheng > --- > fs/ext4/inode.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c > index 9c4f4b1..34cc72d 100644 > --- a/fs/ext4/inode.c > +++ b/fs/ext4/inode.c > @@ -2912,8 +2912,8 @@ static int ext4_releasepage(struct page *page, gfp_t wait) > > trace_ext4_releasepage(page); > > - WARN_ON(PageChecked(page)); > - if (!page_has_buffers(page)) > + /* Page has dirty journalled data -> cannot release */ > + if (PageChecked(page)) > return 0; > if (journal) > return jbd2_journal_try_to_free_buffers(journal, page, wait); > -- > 1.7.1 > -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists