From nobody Mon Feb 9 23:01:04 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1529375357934489.5539386914911; Mon, 18 Jun 2018 19:29:17 -0700 (PDT) Received: from localhost ([::1]:38631 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fV6OT-0001OJ-5i for importer@patchew.org; Mon, 18 Jun 2018 22:29:17 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45638) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fV5hp-0001Px-Ji for qemu-devel@nongnu.org; Mon, 18 Jun 2018 21:45:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fV5ho-0008Jd-Mt for qemu-devel@nongnu.org; Mon, 18 Jun 2018 21:45:13 -0400 Received: from mail-oi0-x22d.google.com ([2607:f8b0:4003:c06::22d]:38222) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fV5ho-0008Iw-Hj; Mon, 18 Jun 2018 21:45:12 -0400 Received: by mail-oi0-x22d.google.com with SMTP id d5-v6so16697294oib.5; Mon, 18 Jun 2018 18:45:12 -0700 (PDT) Received: from localhost ([2600:1700:70:e488:b0ee:9bda:ee6f:91be]) by smtp.gmail.com with ESMTPSA id c71-v6sm10092670oig.44.2018.06.18.18.45.10 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 18 Jun 2018 18:45:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=5JH3eIoeGEoP+GHKl6BWNAD6bBnrrVa66Kqg/80H1BA=; b=go1ErG8//FZJtwk/5ZFUhyqC322nghV4IIh2K6Q1oitAp8tCQ6QKMMHeZjW0Rvk++7 nZBSB0geDrQ0nNUsAe9hHrFKJ6GmKPaRdXg5LbP108gp2P/ayZJ6BWNg+MQ3nlAhi5ah qoI5CSgvkY3aWoN034ZDbEhlIXS0U8hxs76qxz6scokMwcIsddLIJKh8rRvzKnP4Leq8 C99vUXyowx5X0v4AHSjqGJKOMwshTqk6E3bxF3Dmb1AFWVAj1FNuN8sTIR7wUw9AuJK8 EK6tVtgqJud13NbBSjIiQpO/8WGSG0/2IH6/OtUvZJkdNlLFHHNGmCphwvi5wZVsptgv qHSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=5JH3eIoeGEoP+GHKl6BWNAD6bBnrrVa66Kqg/80H1BA=; b=Mpxr1j4vmaQTbPQhrR8lQhYAIo99S4ALTr3GQX8V6IMCGteD01MQ4mPctF7RLKznYh ruUsOzmXuvJRUyDn8v5/kd6RDCaHoIOBcGQHqpwejpBmk7HHbphYOYs4qSV2fSUSGyzk QALMl+sI3wq1Woj1EjXks7yMugBaeADQltG6xCH6tyUNfYCUr6A4jlEEiUs3yPhaXNIL Lu/HtYi0B7RNp9VALOGJY/rLfVo3cUZ68WiJXGBqj/7TzPXrZEEaLUiWtpgRTa81YITr jabfUfJPF/WMmh7825ztAUkKCjAk4HFOuxf5OzyU8bQ2qvVfGtEZMFy9YUdcfyuqaKKa jqtA== X-Gm-Message-State: APt69E1n84R845x6Z2PJTpDw8k9bKdDoI+owH2GO516+GjHojo7Jyd8H fsmuWnGbObG3tIe8bCvGMYFni2iq X-Google-Smtp-Source: ADUXVKI3w9xZwqJtHZ5OBSDJOWe6/SbLmBsBCFWGRxozTGgOKFSpwcpbjb4bX8LOJgY/PQRJWFVesQ== X-Received: by 2002:aca:5c46:: with SMTP id q67-v6mr7875382oib.17.1529372711308; Mon, 18 Jun 2018 18:45:11 -0700 (PDT) From: Michael Roth To: qemu-devel@nongnu.org Date: Mon, 18 Jun 2018 20:41:57 -0500 Message-Id: <20180619014319.28272-32-mdroth@linux.vnet.ibm.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180619014319.28272-1-mdroth@linux.vnet.ibm.com> References: <20180619014319.28272-1-mdroth@linux.vnet.ibm.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4003:c06::22d Subject: [Qemu-devel] [PATCH 031/113] address_space_access_valid: address_space_to_flatview needs RCU lock X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , qemu-stable@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Paolo Bonzini address_space_access_valid is calling address_space_to_flatview but it can be called outside the RCU lock. To fix it, push the rcu_read_lock/unlock pair up from flatview_access_valid to address_space_access_valid. Reviewed-by: Alexey Kardashevskiy Signed-off-by: Paolo Bonzini (cherry picked from commit 11e732a5ed46903f997985bed4c3767ca28a7eb6) Signed-off-by: Michael Roth --- exec.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/exec.c b/exec.c index 7e3c5c67f0..7c4fb68368 100644 --- a/exec.c +++ b/exec.c @@ -3322,7 +3322,6 @@ static bool flatview_access_valid(FlatView *fv, hwadd= r addr, int len, MemoryRegion *mr; hwaddr l, xlat; =20 - rcu_read_lock(); while (len > 0) { l =3D len; mr =3D flatview_translate(fv, addr, &xlat, &l, is_write); @@ -3337,15 +3336,20 @@ static bool flatview_access_valid(FlatView *fv, hwa= ddr addr, int len, len -=3D l; addr +=3D l; } - rcu_read_unlock(); return true; } =20 bool address_space_access_valid(AddressSpace *as, hwaddr addr, int len, bool is_write) { - return flatview_access_valid(address_space_to_flatview(as), - addr, len, is_write); + FlatView *fv; + bool result; + + rcu_read_lock(); + fv =3D address_space_to_flatview(as); + result =3D flatview_access_valid(fv, addr, len, is_write); + rcu_read_unlock(); + return result; } =20 static hwaddr --=20 2.11.0