Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp4783938ybc; Tue, 26 Nov 2019 14:44:10 -0800 (PST) X-Google-Smtp-Source: APXvYqy4hT2+HHsaepotoHYCiNSwf5QMuy8q4vh0uXksdmCIaSczagbU3CuKUMzYm18laLTmMDmz X-Received: by 2002:a17:906:2518:: with SMTP id i24mr46031564ejb.4.1574808250818; Tue, 26 Nov 2019 14:44:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574808250; cv=none; d=google.com; s=arc-20160816; b=Gb4zTm7C6iikgf2zN1BsR8bzVzxTp1x/4cxosB8PLV3N/eeFzP3xothvBY7dqAJBh2 TnPm+17Ij93lzpvzcp2lnDNukBx5AB+Od093f8CpPGOKK0/CQuFE0jJeWpyuN3045Oj6 HjB2LjgQqYxQHVncLPvW8Lf7CQeOTPF2s49k2Kfb8K35MdlW8HIPd7UPxlwxRcRqh1rO dpZ7NzkBfAUqi4h5JCLxYrV26jmfZroW0z/HC1N+E6PK963D0zaO6/KRlY8C2p2zLgMU dBxwvOCkcOIkLWuyfKq7pzmNoZmjOizDKFAcaVs2scuN6x9dQ0BeDEYc1E8yfTvFl2eb GsnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=+3HO6SXo/+LFIGX6UpuuHJPqUR81U5M7JzQUmD7d8F4=; b=miTW5KAvLmKVoEbIOyVvqOmYaRcaU6Cp4BouPFKxKYxNOxdqFz3Y5wdBEscgIZ87vW e/qsBkBI6N5TTz8Rd3ta2Uk5OqP/jsUzJZri85kLnq0LdCh4YC6et5JEqAzvc/zulejX fkTkIkCLCank8KQEKOk3Km+3KohgUVw0bZK7+Kvnz2b8BXwGi6wMyQCWxhObmCLRdByP PyWidq/hjXbVNjVPNl2xJIf5txSIeYfN4qrKQDeRA0tMxlLutZoVGJBQAULDulSvYqkO y+MkUN3F4hB0FpOtCjugn3crfh3bbP3tVjCqr98vBklpNFBpWpggtseg0yxKrxbqaRSW 7RlQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@arista.com header.s=googlenew header.b=JNVoCwtU; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=REJECT dis=NONE) header.from=arista.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g27si1587166ejb.252.2019.11.26.14.43.46; Tue, 26 Nov 2019 14:44:10 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@arista.com header.s=googlenew header.b=JNVoCwtU; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=REJECT dis=NONE) header.from=arista.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726980AbfKZWmN (ORCPT + 99 others); Tue, 26 Nov 2019 17:42:13 -0500 Received: from mail-qk1-f193.google.com ([209.85.222.193]:39173 "EHLO mail-qk1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726200AbfKZWmN (ORCPT ); Tue, 26 Nov 2019 17:42:13 -0500 Received: by mail-qk1-f193.google.com with SMTP id d124so2538255qke.6 for ; Tue, 26 Nov 2019 14:42:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arista.com; s=googlenew; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=+3HO6SXo/+LFIGX6UpuuHJPqUR81U5M7JzQUmD7d8F4=; b=JNVoCwtUcDqcAeJqQG0H4ONEwOBEfkGfYitKpXdn/mUnfBBRk379qcJGQc3WqoMCid mm3lwV8Kv0LCsvmwBNl06bXrsZkWMJlTQyV3eYJiPGGvu+f4yb0q1MjsqX4Llxq/xI85 0Z+imuBHfhFL0ScLxaor4erbJbIQHO0Vr7QGHO2dYpvDQqGTjJWsN7EVBBJTby42RpXj WIt3gRzAJ3B8smrw4M4krpFXD3ARC3mk6ODvCBeCGT1yukOSTC3COI58rAnu0SXVCeIY 6vokY7ppCr4xCWnnMStvZAkAIzsWg3CIce80LROaaScdLzJTS4ouWO+asL3habZg813m w/dA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=+3HO6SXo/+LFIGX6UpuuHJPqUR81U5M7JzQUmD7d8F4=; b=M5kzzQvfrGRLG2IpcU+Vjzj22YFc/VLAzGa57N+ZnBUYvubYtiuN96hAoEWXqs2Fa0 IX6OJoxDXs7+mywmW/lE/IY9S/34VXx52Fid3VCVtzUwXLzRZoij5dbbwkZBO2gCPejU ONxJgyL7+8bSsnbP9pksebgcupOxkDN+f6T395CNTDUnfn8N7n6N6KzLJPT6F2T25DqR CuRpLC/1FHOUZM5qQQrYDAYvb8ZLeAd6UcGGTs7CCWSPP7OPAjv+Q7DT2CBhC1yTrmeO fO1FGzkqrwVKxOcTJxnOzAwJ8Wz0hItypi3RS7m/RLWEqMf97MFCvFEK3gIKjGNHrzd7 MIJw== X-Gm-Message-State: APjAAAXh9Ey457LK7v+7/3NwG1bdsRBAgHTm1dwH7XSlav/beM8py+JO tEtcsQIEXZi8EAiGSzLuRBy57IT8728DMqHr5FdfoA== X-Received: by 2002:ae9:e201:: with SMTP id c1mr954023qkc.416.1574808131615; Tue, 26 Nov 2019 14:42:11 -0800 (PST) MIME-Version: 1.0 References: <20191120054728.0979695C0FE4@us180.sjc.aristanetworks.com> In-Reply-To: From: Francesco Ruggeri Date: Tue, 26 Nov 2019 14:42:00 -0800 Message-ID: Subject: Re: [PATCH] ACPI: only free map once in osl.c To: Dmitry Safonov <0x7f454c46@gmail.com> Cc: lenb@kernel.org, "Rafael J. Wysocki" , open list , linux-acpi@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Nov 21, 2019 at 2:58 PM Dmitry Safonov <0x7f454c46@gmail.com> wrote: > > On Wed, 20 Nov 2019 at 05:50, Francesco Ruggeri wrote: > > > > acpi_os_map_cleanup checks map->refcount outside of acpi_ioremap_lock > > before freeing the map. This creates a race condition the can result > > in the map being freed more than once. > > A panic can be caused by running > > > > for ((i=0; i<10; i++)) > > do > > for ((j=0; j<100000; j++)) > > do > > cat /sys/firmware/acpi/tables/data/BERT >/dev/null > > done & > > done > > > > This patch makes sure that only the process that drops the reference > > to 0 does the freeing. > > > > Fixes: b7c1fadd6c2e ("ACPI: Do not use krefs under a mutex in osl.c") > > Signed-off-by: Francesco Ruggeri > > Reviewed-by: Dmitry Safonov <0x7f454c46@gmail.com> > > Thanks, > Dmitry Any more comments on this? Can this be applied or is more work needed? Thanks, Francesco Ruggeri