From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 833F9C388F7 for ; Wed, 11 Nov 2020 00:40:00 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 8258220679 for ; Wed, 11 Nov 2020 00:39:59 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="qMst+Ehy" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8258220679 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id C15306B0036; Tue, 10 Nov 2020 19:39:58 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BC68A6B005D; Tue, 10 Nov 2020 19:39:58 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ADBD56B0068; Tue, 10 Nov 2020 19:39:58 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0254.hostedemail.com [216.40.44.254]) by kanga.kvack.org (Postfix) with ESMTP id 7FB896B0036 for ; Tue, 10 Nov 2020 19:39:58 -0500 (EST) Received: from smtpin19.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 2B234181AEF00 for ; Wed, 11 Nov 2020 00:39:58 +0000 (UTC) X-FDA: 77470280076.19.fold82_04095b8272f9 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin19.hostedemail.com (Postfix) with ESMTP id 0EEFE1AD1A3 for ; Wed, 11 Nov 2020 00:39:58 +0000 (UTC) X-HE-Tag: fold82_04095b8272f9 X-Filterd-Recvd-Size: 2545 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf14.hostedemail.com (Postfix) with ESMTP for ; Wed, 11 Nov 2020 00:39:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:To:From:Date:Sender:Reply-To:Cc: Content-Transfer-Encoding:Content-ID:Content-Description; bh=F/fBxQuM3p3a8aklCUSIwZC5aitHsLsNXiFSDumBsfo=; b=qMst+EhyddNO4j2z/bs50bxByy lAOC629Df7Tm9bYXp6JAvP4KFuaCxwC1d9ME2+vPT/QJoI7ke+TVMAPHNhMQo1kvTem6/cyyodeQp h87UjUVJJP3/E3v0cvrF3K1XyIkf984RtZ2CiWlYVkaujc5FyUW/VEnt5qDQyZt+LRz5l0/rvj/nn 3uS4SDbZrM3DRwTXZaeJprFfAMVhz37YOlvdEfEEaMLA3WIvSEi4uciSN3rpdc8SjWVXJCwnqKRZq UDPLemDtCuXVXaE7uNKypTu4FO0ebrXQUKdikTau6TmuU1QAO6tQI01zwwLKD64Y1s9PzgUoDlCwR VvRzjsYg==; Received: from willy by casper.infradead.org with local (Exim 4.92.3 #3 (Red Hat Linux)) id 1kceAx-0007ng-9i for linux-mm@kvack.org; Wed, 11 Nov 2020 00:39:51 +0000 Date: Wed, 11 Nov 2020 00:39:51 +0000 From: Matthew Wilcox To: linux-mm@kvack.org Subject: Re: [PATCH] Assert that pages being written back are locked Message-ID: <20201111003951.GP17076@casper.infradead.org> References: <20201027224645.GY20115@casper.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20201027224645.GY20115@casper.infradead.org> X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Anyone want to review this for me? On Tue, Oct 27, 2020 at 10:46:45PM +0000, Matthew Wilcox wrote: > From: Matthew Wilcox (Oracle) > > In write_cache_pages(), we rely on PageLock to prevent writeback from > starting on locked pages. I'm not sure if we document anywhere that pages > that we're starting writes on must be locked, but having an assertion > will make it clear to users that this is required. > > Signed-off-by: Matthew Wilcox (Oracle) > > diff --git a/mm/page-writeback.c b/mm/page-writeback.c > index 3671568d433f..f83dd855594d 100644 > --- a/mm/page-writeback.c > +++ b/mm/page-writeback.c > @@ -2774,6 +2774,8 @@ int __test_set_page_writeback(struct page *page, bool keep_write) > struct address_space *mapping = page_mapping(page); > int ret, access_ret; > > + VM_BUG_ON_PGFLAGS(!PageLocked(page), page); > + > lock_page_memcg(page); > if (mapping && mapping_use_writeback_tags(mapping)) { > XA_STATE(xas, &mapping->i_pages, page_index(page)); >