Received: by 2002:a05:6358:5282:b0:b5:90e7:25cb with SMTP id g2csp3095196rwa; Mon, 22 Aug 2022 21:25:20 -0700 (PDT) X-Google-Smtp-Source: AA6agR5Yjks843R5ek1dEyGcJxDmgAIyQVdDwKIJQRCMuEN8/2cb8All+cVbVyM4DyoGCwXkHjUs X-Received: by 2002:a17:902:8ec6:b0:172:dc2c:306d with SMTP id x6-20020a1709028ec600b00172dc2c306dmr11538735plo.104.1661228720546; Mon, 22 Aug 2022 21:25:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661228720; cv=none; d=google.com; s=arc-20160816; b=ioxAeqNiAFzmOzkzr2nT+poXigFZMLDblVziAy1haji7cF8IYcslriwmIe6Z5Vb/BE MKG15etJhhjeLp+cfiacv16csaUGzjpifAf5nymnC3KaQUleU2c24dpY14td2FIgv0Fc EdBoDCkcQdqp1TkdD4oMCI6Za/Glc4HKebri8r7CE9qDXWeWwFdEBLkifzXpOWslzFY7 Ls5CGx/etaWeiTyej9Fm54ab+bL9LH8QZRfUojHZQXr+oKD6bzJiJDe8Ou+wemfMbhlu HPaCrTdspbtRPGWRpm/X4QTXhaW/R8ujmfVYfYVHd3tADU+AenIEBTouklJuKTVJhm99 sQKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=NVkGst6K526LP6oQ59e++PJ5St0Zj5qkPKrR+BZ33DI=; b=DoqVHvGIzi3tr3RKL3GfBvHlz7LxBkXo4iizQGj3XNsnSfw9EwLdqySflR2+HZ+8mg eU1dXbOfuBE0xisrgi5hIipeDDkch343CwpAMu4smWiwN3ZFgE8MWdgnQy+I5oD2vH/R 2UTcooi3cjIqwSg8f4HXXWmAHOXGIqc3vK3hUt3/4gLFfceUCwXJBypoN+UtBWRZLDZ5 sXNFLtuw1cl414jgHcglagCaymehJRXRnF1yg0MhLGUH9Dchb67cNPcTtbXafDP2P9ZM 2uKf2yoO8YqY0PhZgD8iAeJBE1UP0IGhVQ8YR1vQ84JHoa0uOxP23FRkAfVaLHJLEADr jbFQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h22-20020a170902ac9600b0016ee1c1df80si13120824plr.366.2022.08.22.21.25.09; Mon, 22 Aug 2022 21:25:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239405AbiHWDYq (ORCPT + 99 others); Mon, 22 Aug 2022 23:24:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51924 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239502AbiHWDYY (ORCPT ); Mon, 22 Aug 2022 23:24:24 -0400 Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 807AE51A2F for ; Mon, 22 Aug 2022 20:24:23 -0700 (PDT) Received: from canpemm500002.china.huawei.com (unknown [172.30.72.55]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4MBZHn2SrszgYpq; Tue, 23 Aug 2022 11:20:53 +0800 (CST) Received: from huawei.com (10.175.124.27) by canpemm500002.china.huawei.com (7.192.104.244) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Tue, 23 Aug 2022 11:24:21 +0800 From: Miaohe Lin To: , CC: , , Subject: [PATCH v2 6/6] mm, hwpoison: avoid trying to unpoison reserved page Date: Tue, 23 Aug 2022 11:23:46 +0800 Message-ID: <20220823032346.4260-7-linmiaohe@huawei.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20220823032346.4260-1-linmiaohe@huawei.com> References: <20220823032346.4260-1-linmiaohe@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-Originating-IP: [10.175.124.27] X-ClientProxiedBy: dggems703-chm.china.huawei.com (10.3.19.180) To canpemm500002.china.huawei.com (7.192.104.244) X-CFilter-Loop: Reflected X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org For reserved pages, HWPoison flag will be set without increasing the page refcnt. So we shouldn't even try to unpoison these pages and thus decrease the page refcnt unexpectly. Add a PageReserved() check to filter this case out and remove the below unneeded zero page (zero page is reserved) check. Signed-off-by: Miaohe Lin Acked-by: Naoya Horiguchi --- mm/memory-failure.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/memory-failure.c b/mm/memory-failure.c index c2910f9af1d4..f3ff2515ccc6 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c @@ -2351,7 +2351,7 @@ int unpoison_memory(unsigned long pfn) goto unlock_mutex; } - if (PageSlab(page) || PageTable(page)) + if (PageSlab(page) || PageTable(page) || PageReserved(page)) goto unlock_mutex; ret = get_hwpoison_page(p, MF_UNPOISON); @@ -2382,7 +2382,7 @@ int unpoison_memory(unsigned long pfn) freeit = !!TestClearPageHWPoison(p); put_page(page); - if (freeit && !(pfn == my_zero_pfn(0) && page_count(p) == 1)) { + if (freeit) { put_page(page); ret = 0; } -- 2.23.0