From nobody Tue May 7 13:59:27 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.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 209.51.188.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 (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 1549295604071354.60140039401995; Mon, 4 Feb 2019 07:53:24 -0800 (PST) Received: from localhost ([127.0.0.1]:44905 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gqgYf-0003Co-Vl for importer@patchew.org; Mon, 04 Feb 2019 10:53:18 -0500 Received: from eggs.gnu.org ([209.51.188.92]:39173) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gqgWB-0001av-9O for qemu-devel@nongnu.org; Mon, 04 Feb 2019 10:50:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gqgP3-0007i5-1c for qemu-devel@nongnu.org; Mon, 04 Feb 2019 10:43:24 -0500 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:33620) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gqgP1-0007YR-06 for qemu-devel@nongnu.org; Mon, 04 Feb 2019 10:43:20 -0500 Received: by mail-wr1-x441.google.com with SMTP id a16so355484wrv.0 for ; Mon, 04 Feb 2019 07:43:16 -0800 (PST) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id t12sm12453002wrr.65.2019.02.04.07.43.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 Feb 2019 07:43:13 -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; bh=H/3EnG2Q5bHC919z65WXtKisf1BoTIoIybSpV2ZlS9g=; b=Dgv1jMfRZ6lM3SA0e3btICe+lIWqS8TbBNiLtVqjdfLge8/E1f49MOibGqHAcrWYNu mCUA7Oo79Hz4H2LBkxZrygj7ULyAjKn+LbcLjAqyeJUACMBTEmiA0XjTrXCUWV21JlnU R+kfU9wGgpqxetrzLCiFbdC/XAse1ju1PAJ3xcYCUALjwMaOy0/bq/uFREaMvekHhZGW hukhWWW4h+QQkAW4tVQrEJkjGulYL93csUD4aLozh42M/TAZ7PFfi4IA5ERc+xXNnSwP MGLLb3RbXfDkBu6Ie5iM3SWIWaBV2vsZA/f1GDLvLYJzwAurBCMOzDvRiK3N7xO0jhyC eBSg== 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; bh=H/3EnG2Q5bHC919z65WXtKisf1BoTIoIybSpV2ZlS9g=; b=VVSPxK56589z2C1ThBdMJD0vkeu+x5HDQ2U6rP2urCXORVMfnpNPcirF+EEx1wt9cv cEJ8eoUptWIQXixzuoozn1kInEXJg6tsbGDLSzGSkakmFsxqS1AtLICFkku4WEYhd01q Ez+Nz8VRYxlVfai4UuAKpbdzbogMmaeitsbMRwV5b//XQo76RWg+YyDacNfd3mVYdLuk V7SC7MQARfkhLrB4VQBjMqJPWzYjZsRQ4m72KD1wHIZzcpZC0cpY0kSImdeV+mBkJ6hm aA0qnect2YOcnQ/5LNjrfzlfwYTJB8i3Ec+OkFFFOuuuHRHSsT2SctjLd+Zui5VjSuLy wzWQ== X-Gm-Message-State: AHQUAuY68N91K7+M0vPAJM0CayS1aOY6ZlTnMPhIQzhTmuBOjwmvojzd cClF6jjoA5lduayFMqll5aG4KHYCCJY= X-Google-Smtp-Source: AHgI3IbL9DjbtuI8QC2NTHSz23jcyirUU520RDK1bjfYH6vf000BKB9tV6vZXTKyZZRDnaY7h9qQZA== X-Received: by 2002:a5d:5405:: with SMTP id g5mr2765wrv.138.1549294994357; Mon, 04 Feb 2019 07:43:14 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 4 Feb 2019 16:43:12 +0100 Message-Id: <1549294992-46543-1-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::441 Subject: [Qemu-devel] [PATCH] queue: fix QTAILQ_FOREACH_REVERSE_SAFE 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: thuth@redhat.com, Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" The iteration was stopping as soon as prev_var was set to NULL, and therefore it skipped the first element. Fortunately, or unfortunately, we have only one use of QTAILQ_FOREACH_REVERSE_SAFE. Thus this only showed up as incorrect register preferences on the very first translation block that was compiled. Reported-by: Thomas Huth Signed-off-by: Paolo Bonzini Reviewed-by: Emilio G. Cota Reviewed-by: Richard Henderson --- include/qemu/queue.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/qemu/queue.h b/include/qemu/queue.h index 1f8e219..0379bd8 100644 --- a/include/qemu/queue.h +++ b/include/qemu/queue.h @@ -439,7 +439,7 @@ union { = \ =20 #define QTAILQ_FOREACH_REVERSE_SAFE(var, head, field, prev_var) \ for ((var) =3D QTAILQ_LAST(head); \ - (var) && ((prev_var) =3D QTAILQ_PREV(var, field)); \ + (var) && ((prev_var) =3D QTAILQ_PREV(var, field), 1); \ (var) =3D (prev_var)) =20 /* --=20 1.8.3.1