Received: by 2002:a25:ca44:0:0:0:0:0 with SMTP id a65csp1510713ybg; Wed, 29 Jul 2020 16:36:03 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzTamrDQAs7O5zqbyEUBk++s6gXkESY9s0wLOzW4oFS+rLnGhskkzAgcshHRiJ7RUhu1orV X-Received: by 2002:a05:6402:6cc:: with SMTP id n12mr177550edy.258.1596065763272; Wed, 29 Jul 2020 16:36:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1596065763; cv=none; d=google.com; s=arc-20160816; b=eW/3PnBynB5t1OOV4iM9KPUKHmpkKKtZNS2+mqcQWro4yI0t1z6j29C9+Zx4DNf2CD PpZJcKdXTJOYW0Vz2PucITtjPANrU/2qRRRLGxadOLLUETzEhu+FtKSTzDJuYQsPkWYV LYEHkSXvJ4WQ+F08CBFv3hFZAOOeyDPOVfDand65PZZnR0+lLzLWnIebX0F57C7KP8oP wcqMcwkkXzG3sSQs3OXyGgfk7k8a6h+ZO9BhWmn4YwShvx089l0liUyDm0REji1n7K/M n+LbZ+xD+2m/r32lgMJeCAYMI3Wh5eSI+zrak9+V+eghSZSy7GUZFysBTn2YmBc0mB4c ZHcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :message-id:in-reply-to:subject:cc:to:from:date:dkim-signature; bh=2e8RCHR7zK7mYDiJHIGb9P5RdtY7eXETdj3bdIaDpFg=; b=AQ28/0l9MkChtumLo1aQExFvxClrz+y35b8y4Dbn8FfoPSZW4XEbwY33Alk4jm+/yX FwqCnakInJbvgbn8cPoSqn30KRTSYauRRD0mQjit2rQQR9jRUzAlxSD0PIZMq1ysjQx8 wlQ4EhYlaOcJXz21ydErypV/90OYwXVQLEY0YOKXHqaLtPyprnvLDdURXii3mAJdtT9W q1trxFkz/EdJxWR/vX100kc7C/75ZDVpXvNkfmvHiizAZAqg4H6FaUD4KKIwpxgOPnc7 UVAq7b/UelLlWrTPzWKS/ZkbThlKw2BOic8skewawMC64q9WtoOTKSu8oETC3K2oQb6E zN7A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b="Y+/zYiBG"; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w13si1885758ejk.175.2020.07.29.16.35.41; Wed, 29 Jul 2020 16:36:03 -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; dkim=pass header.i=@google.com header.s=20161025 header.b="Y+/zYiBG"; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727858AbgG2Xct (ORCPT + 99 others); Wed, 29 Jul 2020 19:32:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58916 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726718AbgG2Xct (ORCPT ); Wed, 29 Jul 2020 19:32:49 -0400 Received: from mail-pf1-x435.google.com (mail-pf1-x435.google.com [IPv6:2607:f8b0:4864:20::435]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 22573C061794 for ; Wed, 29 Jul 2020 16:32:49 -0700 (PDT) Received: by mail-pf1-x435.google.com with SMTP id 74so5693140pfx.13 for ; Wed, 29 Jul 2020 16:32:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:from:to:cc:subject:in-reply-to:message-id:references :user-agent:mime-version; bh=2e8RCHR7zK7mYDiJHIGb9P5RdtY7eXETdj3bdIaDpFg=; b=Y+/zYiBG7yMH/+zZtdcZc8UNqZQCaiJqXOM/7Ca/i9kg7Hrs3+s40fsGgMEBvIMQrf GaS7whhngR/dRIRLunl1B1JB1KAjc+sL7s2Frxx47H6ps6B2dnp9uTHXnWWBtVYT+IPL VcRu4VxfagbTG7nKFBB4+Rdt82IcUrF5IUINpoaJqvQW7RW1/OAlEM87X8Chc0+eQpv9 X/IxFSihmb0tyufAMxSxpLycnqASvWxM9MvYefrOVlrVqAoD4NMw8S+OetrDTQJiRigB 6eViD66WmlPn4L3pCIhYL59sgMfsTIO8j2I79666hKZPMbmfkn5ZHveqvPCiFS8dzfqS D4ug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:in-reply-to:message-id :references:user-agent:mime-version; bh=2e8RCHR7zK7mYDiJHIGb9P5RdtY7eXETdj3bdIaDpFg=; b=A2TQMtTaG4kM96KAOh0KWQb78HNC5SgHyxuMyYRsI5Osopt2pgaIRsHn0mScnuVyyt 55vyZ0lJ7iQJwqIIKChZqDURYkk27ab4nLpwE4TcTRCAnXhw8aFZUUoZzsGYKuAKna0C hIfqe7jaD1gkXFO8z/xXpHKRuqxFv6/VKplb+x+f3J/t5O1L39b3NWhCLx2JfdwTNMZl nGDjJdL1N3GZH9VPpWzWGPqnsnY5WPkhmnKxvtitMneyzuTeT55uUOyxTXEW4lWAXL+w aHkkMb/dO6NiCpMINQmwiq/qFt3FMiLXHNYkFIR/c5rQ21HjQHh07I390XYkulbK37nE 6k+g== X-Gm-Message-State: AOAM531m/1pyJ56VeLFqM6TWztETjzBpBYb4sVoOvRSFQ2CommbykfXv SQwpWVGOER14qOj9ZUWUKfExlQ== X-Received: by 2002:a63:e50a:: with SMTP id r10mr30978179pgh.285.1596065568352; Wed, 29 Jul 2020 16:32:48 -0700 (PDT) Received: from [2620:15c:17:3:4a0f:cfff:fe51:6667] ([2620:15c:17:3:4a0f:cfff:fe51:6667]) by smtp.gmail.com with ESMTPSA id l62sm3386842pjb.7.2020.07.29.16.32.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Jul 2020 16:32:47 -0700 (PDT) Date: Wed, 29 Jul 2020 16:32:46 -0700 (PDT) From: David Rientjes X-X-Sender: rientjes@chino.kir.corp.google.com To: "Zhang, Qiang" cc: "cl@linux.com" , "penberg@kernel.org" , "iamjoonsoo.kim@lge.com" , "akpm@linux-foundation.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" Subject: =?UTF-8?Q?Re=3A_=E5=9B=9E=E5=A4=8D=3A_=5BPATCH=5D_mm=2Fslab=2Ec=3A?= =?UTF-8?Q?_add_node_spinlock_protect_in_=5F=5Fcache=5Ffree=5F?= =?UTF-8?Q?alien?= In-Reply-To: Message-ID: References: <20200728095551.30634-1-qiang.zhang@windriver.com>, User-Agent: Alpine 2.23 (DEB 453 2020-06-18) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 29 Jul 2020, Zhang, Qiang wrote: > > From: Zhang Qiang > > > > We should add node spinlock protect "n->alien" which may be > > assigned to NULL in cpuup_canceled func. cause address access > > exception. > > > > >Hi, do you have an example NULL pointer dereference where you have hit > >this? > If you have a NULL pointer dereference or a GPF that occurred because of this, it would be helpful to provide as rationale. > >This rather looks like something to fix up in cpuup_canceled() since it's > >currently manipulating the alien cache for the canceled cpu's node. > > yes , it is fix up in cpuup_canceled it's > currently manipulating the alien cache for the canceled cpu's node which may be the same as the node being operated on in the __cache_free_alien func. > > void cpuup_canceled > { > n = get_node(cachep, node); > spin_lock_irq(&n->list_lock); > ... > n->alien = NULL; > spin_unlock_irq(&n->list_lock); > .... > } > Right, so the idea is that this should be fixed in cpuup_canceled() instead -- why would we invaliate the entire node's alien cache because a single cpu failed to come online?