From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 72743C18E5B for ; Tue, 10 Mar 2020 11:36:47 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 48D3524655 for ; Tue, 10 Mar 2020 11:36:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726380AbgCJLgq convert rfc822-to-8bit (ORCPT ); Tue, 10 Mar 2020 07:36:46 -0400 Received: from eu-smtp-delivery-151.mimecast.com ([146.101.78.151]:38996 "EHLO eu-smtp-delivery-151.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725937AbgCJLgq (ORCPT ); Tue, 10 Mar 2020 07:36:46 -0400 Received: from AcuMS.aculab.com (156.67.243.126 [156.67.243.126]) (Using TLS) by relay.mimecast.com with ESMTP id uk-mta-59-qJx50LcXOruXxnxninM0kQ-1; Tue, 10 Mar 2020 11:36:42 +0000 X-MC-Unique: qJx50LcXOruXxnxninM0kQ-1 Received: from AcuMS.Aculab.com (fd9f:af1c:a25b:0:43c:695e:880f:8750) by AcuMS.aculab.com (fd9f:af1c:a25b:0:43c:695e:880f:8750) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Tue, 10 Mar 2020 11:36:41 +0000 Received: from AcuMS.Aculab.com ([fe80::43c:695e:880f:8750]) by AcuMS.aculab.com ([fe80::43c:695e:880f:8750%12]) with mapi id 15.00.1347.000; Tue, 10 Mar 2020 11:36:41 +0000 From: David Laight To: 'Chris Wilson' , "linux-kernel@vger.kernel.org" CC: "intel-gfx@lists.freedesktop.org" , Andrew Morton , "Paul E. McKenney" , Randy Dunlap , "stable@vger.kernel.org" Subject: RE: [PATCH] list: Prevent compiler reloads inside 'safe' list iteration Thread-Topic: [PATCH] list: Prevent compiler reloads inside 'safe' list iteration Thread-Index: AQHV9r1KBrT+D4Vo2U+Op9v/Nv0od6hBsdzw Date: Tue, 10 Mar 2020 11:36:41 +0000 Message-ID: <2e936d8fd2c445beb08e6dd3ee1f3891@AcuMS.aculab.com> References: <20200310092119.14965-1-chris@chris-wilson.co.uk> In-Reply-To: <20200310092119.14965-1-chris@chris-wilson.co.uk> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.202.205.107] MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: aculab.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Chris Wilson > Sent: 10 March 2020 09:21 > Instruct the compiler to read the next element in the list iteration > once, and that it is not allowed to reload the value from the stale > element later. This is important as during the course of the safe > iteration, the stale element may be poisoned (unbeknownst to the > compiler). Eh? I thought any function call will stop the compiler being allowed to reload the value. The 'safe' loop iterators are only 'safe' against called code removing the current item from the list. > This helps prevent kcsan warnings over 'unsafe' conduct in releasing the > list elements during list_for_each_entry_safe() and friends. Sounds like kcsan is buggy ???? David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)