From patchwork Tue Aug 21 17:02:08 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 960628 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="mBt+dxDj"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41vyHq4rtpz9s3Z for ; Wed, 22 Aug 2018 03:25:43 +1000 (AEST) Received: from localhost ([::1]:55052 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fsAPV-00072L-7C for incoming@patchwork.ozlabs.org; Tue, 21 Aug 2018 13:25:41 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33321) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fsA4V-0001nF-6J for qemu-devel@nongnu.org; Tue, 21 Aug 2018 13:04:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fsA4S-0006fg-0g for qemu-devel@nongnu.org; Tue, 21 Aug 2018 13:03:58 -0400 Received: from mail-wm0-x243.google.com ([2a00:1450:400c:c09::243]:40212) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fsA4K-0006Oi-Db for qemu-devel@nongnu.org; Tue, 21 Aug 2018 13:03:53 -0400 Received: by mail-wm0-x243.google.com with SMTP id y9-v6so3497868wma.5 for ; Tue, 21 Aug 2018 10:03:44 -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=7FmXE4eQEImiTN97an4Cc1otDZCwSyJJCxAFM7Sko3o=; b=mBt+dxDjv6U//iit0ezEOHDb9f9q3vY6lwd7BQ8ypJgMD4lTN1J5HXoPR0WXc35ORe LE15ufGwhcZSRdUoL93RIpH4KjIDjwCbHIIA/971BWKrb6ftwXSYda0jI9mAgbFFGy2V EpNmCE2IDICQsdXi6I3htzgaGWfYYRZqoQAVME3HUo97eNkUFhdvErqED9SvK1PNcI7v FMluNyTTG5nT3h/zXAVLFvDC/x6HIhep92cBk+8p+4kD+bwVKq+2Kc7dN0F71Xj51JF9 d1YTfETAoSWK/qC0SQ8pk4CwqbbJA3ivcAWsYRcs2f7Uhkfv9rWTqZVDwSvaAxujC887 nAOw== 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=7FmXE4eQEImiTN97an4Cc1otDZCwSyJJCxAFM7Sko3o=; b=Dw+1SVLUPhdKpSRbSE53XT9K6Fa1YC4Y0WtmtObRbSaYAmggBcVAPDLpX3M2DVtdOq 7gPTuwf5dp3c+Ct3MVQBy3zTS1kGnCNJh+zeu4rQAZlJqpEFqvHFpmHy85QB9+CbFdGi geskoye3tq1q6ZokF5oKEYpxzwsDCuSSPhLcHyYvRy0qDhsqOP6+09/HxBxpIBWRvO76 w0dVgfhSiPyiE8mdAAkf/0GmTdOUF4xd6qrdju+jmm1nPRQM8Ap72stoRF2zBJ1ow4Ic 3/N4Nvzc8HaEyaqECLAv2fE3hRGV8S4BDM1S1WaQEFHCWokbxwOQaxn4OrhFhDYmhf9m pWxw== X-Gm-Message-State: APzg51D5ycdN1vXmebIKsSpHmjIKPc0PViT3OLW4loXNJKTJMUbE0S2q P8z/bmvyihjZsvml0Vz1PcJocQgh X-Google-Smtp-Source: ANB0VdaCZLM9QevXVzpPxSPQQ2TJBt8FAiDlBRNii+hqOihqBZTy7SsXz8WnDcRzLuCq5XwZJ2Xe+A== X-Received: by 2002:a1c:13ca:: with SMTP id 193-v6mr119101wmt.127.1534871023191; Tue, 21 Aug 2018 10:03:43 -0700 (PDT) Received: from 640k.lan (dynamic-adsl-78-12-184-244.clienti.tiscali.it. [78.12.184.244]) by smtp.gmail.com with ESMTPSA id v6-v6sm2608955wmc.43.2018.08.21.10.03.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 21 Aug 2018 10:03:42 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 21 Aug 2018 19:02:08 +0200 Message-Id: <1534870966-9287-37-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1534870966-9287-1-git-send-email-pbonzini@redhat.com> References: <1534870966-9287-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:400c:c09::243 Subject: [Qemu-devel] [PULL 36/74] rcu_queue: use atomic_set in QLIST_REMOVE_RCU 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: "Emilio G. Cota" Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: "Emilio G. Cota" To avoid undefined behaviour. Signed-off-by: Emilio G. Cota Message-Id: <20180819091335.22863-2-cota@braap.org> Signed-off-by: Paolo Bonzini --- include/qemu/rcu_queue.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/qemu/rcu_queue.h b/include/qemu/rcu_queue.h index 01be774..dd7b3be 100644 --- a/include/qemu/rcu_queue.h +++ b/include/qemu/rcu_queue.h @@ -112,7 +112,7 @@ extern "C" { (elm)->field.le_next->field.le_prev = \ (elm)->field.le_prev; \ } \ - *(elm)->field.le_prev = (elm)->field.le_next; \ + atomic_set((elm)->field.le_prev, (elm)->field.le_next); \ } while (/*CONSTCOND*/0) /* List traversal must occur within an RCU critical section. */