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 Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 81496ECAAA1 for ; Mon, 24 Oct 2022 09:34:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230169AbiJXJez convert rfc822-to-8bit (ORCPT ); Mon, 24 Oct 2022 05:34:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56876 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230177AbiJXJev (ORCPT ); Mon, 24 Oct 2022 05:34:51 -0400 Received: from eu-smtp-delivery-151.mimecast.com (eu-smtp-delivery-151.mimecast.com [185.58.86.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 69CA3E019 for ; Mon, 24 Oct 2022 02:34:47 -0700 (PDT) Received: from AcuMS.aculab.com (156.67.243.121 [156.67.243.121]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id uk-mta-265-wp9O9KnaPFS-OBtI_B4QqQ-1; Mon, 24 Oct 2022 10:34:44 +0100 X-MC-Unique: wp9O9KnaPFS-OBtI_B4QqQ-1 Received: from AcuMS.Aculab.com (10.202.163.6) by AcuMS.aculab.com (10.202.163.6) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Mon, 24 Oct 2022 10:34:42 +0100 Received: from AcuMS.Aculab.com ([::1]) by AcuMS.aculab.com ([::1]) with mapi id 15.00.1497.042; Mon, 24 Oct 2022 10:34:42 +0100 From: David Laight To: 'Andy Shevchenko' , Sakari Ailus CC: Greg Kroah-Hartman , "linux-kernel@vger.kernel.org" , "Rafael J. Wysocki" Subject: RE: [PATCH 1/1] linux/container_of.h: Warn about loss of constness Thread-Topic: [PATCH 1/1] linux/container_of.h: Warn about loss of constness Thread-Index: AQHY54ozH4qdMwC1Yk+S6+0KOnujn64dR6XQ Date: Mon, 24 Oct 2022 09:34:42 +0000 Message-ID: References: <20221024082610.74990-1-sakari.ailus@linux.intel.com> In-Reply-To: Accept-Language: en-GB, 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-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Andy Shevchenko > Sent: 24 October 2022 10:23 ... > > > Wait, no one uses this macro, so why not just remove it entirely? > > > > Good question. It appears to be a (relatively) common pattern to look up > > something and the return its containing object if the lookup was > > successful. Doing a quick > > > > $ git grep 'container_of.*:' drivers include > > > > reveals more than 20 instances of the pattern. There are probably more > > those that use if for testing for NULL. I guess people don't know about > > this macro, apart from the developers of the staging driver it was added > > for (commit 05e6557b8ed833546ee2b66ce6b58fecf09f439e). > > Maybe we can provide an example to keep this macro in the kernel, meaning > convert one of the drivers / subsystem to actually use it? Adding _safe() to a function name doesn't actually tell you anything. You still need to look up what it is 'safe' against. In this case the full code pattern is actually much clearer. It is also quite likely that it is followed by an: if (!ptr) return xxx; You that can/should really be put before the container_of() call. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)