Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp414904pxb; Wed, 11 Nov 2020 06:56:10 -0800 (PST) X-Google-Smtp-Source: ABdhPJwazWXlneKRkDDSQdYSDGcmKcHO0/l9Guf9OQpXDqvDJIDJ+VLSflf/lWc+cGIsW3mZGyl/ X-Received: by 2002:aa7:c508:: with SMTP id o8mr5505262edq.339.1605106570354; Wed, 11 Nov 2020 06:56:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605106570; cv=none; d=google.com; s=arc-20160816; b=cQCz++CsYClHB61x26vZy2JpiYx11mMScWKeOKx6pdNyi8aXWU1I+Jr0MpCqMDmEY8 fzj8jtQSZpfu55StXRV37kv1AReEsAucC/oBKTJVOy7cwMRyNwE/Co6y81ueB9LiwsAp vgOp+iEj9dJTQR/dBpoiUuJIytpGcTXsAM07esDVNS/UWgQHIZzrKDgezx6FJwhP2HYG vKf5m1tcDWtcKrntkMrhdMteO2SZklcrLMOmhkmnN+lh+lGwYWBIqXOfvfQFxQH45D7O o+wkfPrcTycjPSoVPib3E1F57dk9Dh/mcemRyzNFtmLX6IOKgt4rvW/gMYxK6zFeiLd0 M5HQ== 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 :dkim-signature; bh=fTr+/Mo7A/OWFCAINZDpEhKbJKnb8/ThWo0P+Rz3KkY=; b=KlimmJz2cI/JQToNrV8VCJLXhZbWk1CFUtK+XuzTasZTGn16JV7OyWUi1vBUC4w7fp QFrKoHc4vye6QkPSoYqZJYoDaVyBginjsYDBikSqI2J2bT678GeNB9xKLbQ6CQqWPG1O jF+/1vdtBORPrVJQP5qX65XkgfbKGbFzhUAYDMhqlk7vHzWFJDfIoH5CVy9kpwcfKaI8 zAzRqwEz4AmMRwt95cxgzA8rqfLu+mo/k5ks7Syld2MvrZs9Jtqb3XiRAArAkZiynJNU 3jLBiy/xB20W72+4GAgWjgaIiJhsV7hn7zOGKf0bLxoUczsyh7NFpfif+XjyKowfw5nt /lfg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=YiWS3hvz; 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=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p60si1659835edd.331.2020.11.11.06.55.46; Wed, 11 Nov 2020 06:56:10 -0800 (PST) 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; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=YiWS3hvz; 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=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727382AbgKKOyD (ORCPT + 99 others); Wed, 11 Nov 2020 09:54:03 -0500 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:32607 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727365AbgKKOyB (ORCPT ); Wed, 11 Nov 2020 09:54:01 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1605106440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fTr+/Mo7A/OWFCAINZDpEhKbJKnb8/ThWo0P+Rz3KkY=; b=YiWS3hvz6Iiog/cN4isrKfLyvmpHUdqEvdTm2FfpbtUrFhW9RQMofMEn4/cPy68wPdqXsb K6Opb4gPIosd4J9kFShtAoB5ZeBE3C8eBHZ6JPr9C5aQSrl6mGxVhhjVX9jfAi5wIyiSz7 IYxdPzshQM1MYEzUqhrC0hxxbqLUEdY= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-547-EcELwFGIN7O47Ob1DalZvQ-1; Wed, 11 Nov 2020 09:53:56 -0500 X-MC-Unique: EcELwFGIN7O47Ob1DalZvQ-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 1F04C805EF7; Wed, 11 Nov 2020 14:53:54 +0000 (UTC) Received: from t480s.redhat.com (ovpn-114-151.ams2.redhat.com [10.36.114.151]) by smtp.corp.redhat.com (Postfix) with ESMTP id 80D58380; Wed, 11 Nov 2020 14:53:51 +0000 (UTC) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org, David Hildenbrand , Michael Ellerman , Benjamin Herrenschmidt , Paul Mackerras , Rashmica Gupta , Andrew Morton , Mike Rapoport , Michal Hocko , Oscar Salvador , Wei Yang Subject: [PATCH v2 7/8] powerpc/mm: remove linear mapping if __add_pages() fails in arch_add_memory() Date: Wed, 11 Nov 2020 15:53:21 +0100 Message-Id: <20201111145322.15793-8-david@redhat.com> In-Reply-To: <20201111145322.15793-1-david@redhat.com> References: <20201111145322.15793-1-david@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Let's revert what we did in case seomthing goes wrong and we return an error - as already done on arm64 and s390x. Cc: Michael Ellerman Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Rashmica Gupta Cc: Andrew Morton Cc: Mike Rapoport Cc: Michal Hocko Cc: Oscar Salvador Cc: Wei Yang Signed-off-by: David Hildenbrand --- arch/powerpc/mm/mem.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c index c5755b9efb64..8b946ec68d1b 100644 --- a/arch/powerpc/mm/mem.c +++ b/arch/powerpc/mm/mem.c @@ -170,7 +170,10 @@ int __ref arch_add_memory(int nid, u64 start, u64 size, rc = arch_create_linear_mapping(nid, start, size, params); if (rc) return rc; - return __add_pages(nid, start_pfn, nr_pages, params); + rc = __add_pages(nid, start_pfn, nr_pages, params); + if (rc) + arch_remove_linear_mapping(start, size); + return rc; } void __ref arch_remove_memory(int nid, u64 start, u64 size, -- 2.26.2