Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp376177pxf; Thu, 25 Mar 2021 06:18:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyRSVY0b2Dq95Y85JfJPzIC+02xBL9psnE0heWKpjodPP+DC8nfShzxkrsM6bVQ23kGh3Rc X-Received: by 2002:adf:e481:: with SMTP id i1mr9286921wrm.63.1616678296236; Thu, 25 Mar 2021 06:18:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616678296; cv=none; d=google.com; s=arc-20160816; b=rNQ9Vi8pHnqMkbTOLkMxoBS09jhePlOnzPQpg/183EHcEjqRZ1V0abWHKZYt/x6JBs oIdAbmqbs3Zl2CqDE8fm6ns36CzTzVD4j2Xs227AYud3k3vw9ky4jR4wzz3z8SChrLaJ FELJl5rP2pswDRvjZlPLrJd5Ql613AS7qn8uTfbXuCLLsMfxyozV/7Q/whsbj2JFADU5 SzeJRWmmkvkKQ5bvXQrIeZKAAHxXMo3+ICBzuyUu18bgp5AwTY6rpZDqB8a/Y3OJ1kIn 3plG7hkFAncZ2WuApPdq4YYFneNzi4qQPkYT8Rpz9cxpbb1aBu2h9+b3Ayg1cZjUPX2j OfAA== 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=2gTqissn4jv6Fo/jRg+SS47uoByMpflg8VrrDkzwttY=; b=MfEGrlojqFeYsh8OZBGXv/lQpN9aIj3lxq7YOT9P/He21tPzY6vuNVWcGB7SQrpIJO 9gAvQ0GJoA+F8AhRZZqwIqKt4S6HpPNODTGlcgNGb4ma5F49Ov13v5QrK2aOZsfDUawo 8oJYBr8eGmbFoWVOolf8RQ8dmWvDdSkj8+J+OrLQU78z2Mu7vwgcshkhufs63Mz+PeEH nKoURc/LW0NYXqnqUeoCVNXxvAjajXYyymfTzLDyScZMluGvcg9+28zkuE1MhX7Ufne/ 7aSRAWg21QADHp7NIROzh2SKXHOtIGaP0x6u8XHWhFEd63hyS2a4utkdCixYBHh6FDw3 rtRw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v7si5271722edd.479.2021.03.25.06.17.49; Thu, 25 Mar 2021 06:18:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230155AbhCYNQs (ORCPT + 99 others); Thu, 25 Mar 2021 09:16:48 -0400 Received: from szxga06-in.huawei.com ([45.249.212.32]:14903 "EHLO szxga06-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230134AbhCYNQP (ORCPT ); Thu, 25 Mar 2021 09:16:15 -0400 Received: from DGGEMS414-HUB.china.huawei.com (unknown [172.30.72.60]) by szxga06-in.huawei.com (SkyGuard) with ESMTP id 4F5ltz6GJGzkfcn; Thu, 25 Mar 2021 21:14:35 +0800 (CST) Received: from huawei.com (10.175.104.175) by DGGEMS414-HUB.china.huawei.com (10.3.19.214) with Microsoft SMTP Server id 14.3.498.0; Thu, 25 Mar 2021 21:16:03 +0800 From: Miaohe Lin To: CC: , , , , , , , Subject: [PATCH v3 3/5] mm/migrate.c: fix potential indeterminate pte entry in migrate_vma_insert_page() Date: Thu, 25 Mar 2021 09:15:22 -0400 Message-ID: <20210325131524.48181-4-linmiaohe@huawei.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20210325131524.48181-1-linmiaohe@huawei.com> References: <20210325131524.48181-1-linmiaohe@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-Originating-IP: [10.175.104.175] X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If the zone device page does not belong to un-addressable device memory, the variable entry will be uninitialized and lead to indeterminate pte entry ultimately. Fix this unexpected case and warn about it. Fixes: df6ad69838fc ("mm/device-public-memory: device memory cache coherent with CPU") Signed-off-by: Miaohe Lin --- mm/migrate.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/mm/migrate.c b/mm/migrate.c index dacbdc9710ac..87bbad578127 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -2968,6 +2968,13 @@ static void migrate_vma_insert_page(struct migrate_vma *migrate, swp_entry = make_device_private_entry(page, vma->vm_flags & VM_WRITE); entry = swp_entry_to_pte(swp_entry); + } else { + /* + * For now we only support migrating to un-addressable + * device memory. + */ + pr_warn_once("Unsupported ZONE_DEVICE page type.\n"); + goto abort; } } else { entry = mk_pte(page, vma->vm_page_prot); -- 2.19.1