From nobody Wed Feb 11 02:54:00 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; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1520239126940217.35910625127678; Mon, 5 Mar 2018 00:38:46 -0800 (PST) Received: from localhost ([::1]:47814 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1esldu-0005LJ-3C for importer@patchew.org; Mon, 05 Mar 2018 03:38:46 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35165) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eslcG-0004NT-C8 for qemu-devel@nongnu.org; Mon, 05 Mar 2018 03:37:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eslcF-0004T4-Jz for qemu-devel@nongnu.org; Mon, 05 Mar 2018 03:37:04 -0500 Received: from mail-wr0-x242.google.com ([2a00:1450:400c:c0c::242]:40588) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eslcF-0004Rn-Dq; Mon, 05 Mar 2018 03:37:03 -0500 Received: by mail-wr0-x242.google.com with SMTP id o76so16280456wrb.7; Mon, 05 Mar 2018 00:37:03 -0800 (PST) Received: from donizetti.lan (94-36-191-219.adsl-ull.clienti.tiscali.it. [94.36.191.219]) by smtp.gmail.com with ESMTPSA id y23sm13206739wra.9.2018.03.05.00.37.00 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 05 Mar 2018 00:37:01 -0800 (PST) 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=89YcEWylgMMEp0xmHw1e/4h52Ti1rK2gOMzo7Fad6gQ=; b=JxE9Wy00rzZNgNiKjxDmbO6ULbc1rL7nZkU+eawmqL+wtVvLnaOjpBUx8fs7Rj5mLH nfiekwBZXu+iFv/rZaGKK5jkDSfMdq2WlFEbbeIx/Ubqw227BPzBAl8oCHOdnfSp8FBx TMlxtrt5sWqJQk5VaMMPz5CYRI8od4vHs5IIZb8cC8BMVyOU4jbqCvIT98qVLnXU2aMz sTkCBpUB0qL6ngUu6YzsdIbx7O/KcsvcUfy11mfyw7miE/Jb3uQ74J7WKkUantv7FAOL 83ycGM84rOMNvzGtPdx1FQtCewtMeeNpIjp4T+2AHFtqqgsQ3TyV+TCEUJbE2r2bq3Iw FPCg== 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=89YcEWylgMMEp0xmHw1e/4h52Ti1rK2gOMzo7Fad6gQ=; b=tHsbQ9wlmRqCIJoAzEaNz2ODtdNMe/sFxaZvtJVKWwYpU9qWgOIPgv9COv7rJG66Ec P8nWvcMyRJtcWqkBui3lwxUmAZ+wVDgFCx++bdnpoMd5mvWY2y1UWkoYjNIqYx5JZ+cr ZLmqD/jZhzXl3voZKBHff5se2P+XI341M+Iqc41lkA2zJKbQ0WOlZdNN+XVqzIyQ0LWX ubqw4ZJd1tagPHtJJ6xzMe3q259tv93FqP8lQ/vd7ERiA3uXPMq3oLl374Zm5CpHwhIS B6gE7DmDXLY2KfVxXl+CBlenhQ93o4fBfcElr8lUB8gKfCifcZmF7tGa2gjUAF/zcjEh o0eA== X-Gm-Message-State: APf1xPAnR7f8iqNe5QXMceQWcQx/NKOz/6FaJCICE0mEupcp43an0bBv 3nXIKw57V6vhawkMcR3XmqN8ZQPF X-Google-Smtp-Source: AG47ELulIJ/K3guPueXra3iVUuttVM6VX0UgCy0WsCjvxAJyM3m94jepwXBLPmnQJFuK+4/dENPfpg== X-Received: by 10.223.135.136 with SMTP id b8mr11675675wrb.72.1520239022003; Mon, 05 Mar 2018 00:37:02 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 5 Mar 2018 09:36:53 +0100 Message-Id: <20180305083655.6186-6-pbonzini@redhat.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180305083655.6186-1-pbonzini@redhat.com> References: <20180305083655.6186-1-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:400c:c0c::242 Subject: [Qemu-devel] [PATCH 5/7] 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: Alexey Kardashevskiy , qemu-stable@nongnu.org, David Gibson 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" 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. Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini Reviewed-by: Alexey Kardashevskiy --- exec.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/exec.c b/exec.c index 55b7452bd7..177583c2ee 100644 --- a/exec.c +++ b/exec.c @@ -3391,7 +3391,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); @@ -3406,15 +3405,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.14.3