[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJwJo6bu0Hkmneg=DuwN=v_G4pkm1JQnUWKEVcudJD5L0pjLiw@mail.gmail.com>
Date: Thu, 21 Nov 2019 22:58:21 +0000
From: Dmitry Safonov <0x7f454c46@...il.com>
To: Francesco Ruggeri <fruggeri@...sta.com>
Cc: lenb@...nel.org, "Rafael J. Wysocki" <rjw@...ysocki.net>,
open list <linux-kernel@...r.kernel.org>,
linux-acpi@...r.kernel.org
Subject: Re: [PATCH] ACPI: only free map once in osl.c
On Wed, 20 Nov 2019 at 05:50, Francesco Ruggeri <fruggeri@...sta.com> 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 <fruggeri@...sta.com>
Reviewed-by: Dmitry Safonov <0x7f454c46@...il.com>
Thanks,
Dmitry
Powered by blists - more mailing lists