Received: by 2002:a05:6a10:413:0:0:0:0 with SMTP id 19csp767080pxp; Fri, 11 Mar 2022 14:35:01 -0800 (PST) X-Google-Smtp-Source: ABdhPJxUqtGtuG50MYdcnSnwQP5NYtkR6BtDU8Djlc8YkMwW0U+J/aOUQORVbRMlCTAg4rlKK1TU X-Received: by 2002:a17:902:8ec9:b0:14f:11f7:db77 with SMTP id x9-20020a1709028ec900b0014f11f7db77mr12416988plo.136.1647038101294; Fri, 11 Mar 2022 14:35:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1647038101; cv=none; d=google.com; s=arc-20160816; b=UtsdCEpeoxKKrvt3sCqw8MAE0X2vYEZbg7CQAH4PvsfBmkkG5d7QDEsA87pL6ySpmG /XxD6ssNuR0d1F4Ome9gv4PWCsYUEEDOwn8TEoIdFCdZ/8pbuMSJQGsd0rG4iVK2mNJd HuNydrWA7Xf7MYuW6z8SdW6LnQzev5FkUEaorlK7TofciGZIZx0c1JqckpzvCMZuEsX5 GKW7rHRv28WGexGz/QQewpG1ZdhV+iK0opIU/D0trfwlaXsndrcZQ77hx2/Cc86OK0aj Q6bUuJQzmW0Ba3Cm5Uzj6Sh/Sla+pC0l+McdpNtIdD75kiZTVTtBFt60NdNKmZPZon/W Qf/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=hLFNo3h1Zc1UQ8/DMGxbZedolKRWk33TAyloll9SclM=; b=ioPyM6C+1OmZ5EgKjj+32goNylheaSjOqhY4OhF8RqMLka64+tvTrPOdzNkFcLDePr 1AAdR5LmDhmHqWVHa7rPUAoHo7ePYL6Xh4WXnFnnTprIH/Cnz6fKLuRqvjMVvxW43j7Z 4eKXMfBg+P8+c/FKUCyu9TQUO2i5fg7X83aZttKbi3wBg/mDFd7x0vfNnjMZWuz/4hvr LMHc+hF8upEOfvx911pdHjaiU5Bj3aNi6K52DGEUyQqxoNXITVqJ7cXclzczR3DSUvk9 7A0KXE1bz7NNSRhkVOd/sjVZAYTzdi+EpktVkGVQjbfwp3nyZJ3pdHxukUddqKyKCrfb eQdw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux-foundation.org header.s=google header.b=OE5VsEvE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id c2-20020a170903234200b00151ec830d9dsi9624792plh.199.2022.03.11.14.35.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Mar 2022 14:35:01 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@linux-foundation.org header.s=google header.b=OE5VsEvE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id AD76631A1FF; Fri, 11 Mar 2022 13:41:06 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244926AbiCKBn6 (ORCPT + 99 others); Thu, 10 Mar 2022 20:43:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38500 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233427AbiCKBn4 (ORCPT ); Thu, 10 Mar 2022 20:43:56 -0500 Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com [IPv6:2a00:1450:4864:20::231]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EACB6CD5ED for ; Thu, 10 Mar 2022 17:42:53 -0800 (PST) Received: by mail-lj1-x231.google.com with SMTP id z26so10207523lji.8 for ; Thu, 10 Mar 2022 17:42:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=hLFNo3h1Zc1UQ8/DMGxbZedolKRWk33TAyloll9SclM=; b=OE5VsEvE8fNq3LsGKordr6ba8Tdtd+y1Hr2unD/Fou1X8hPFiu9jdXoAySW70trnHB 5bHvv5uJJqE3XIGPi7PN3K+Fk1aSiJMip7DcYsVGaTUNLioDaM0dE/5qbAk/h3gYjDHk J9+SSoZL6kxWzHw+8D0Z35q12aMUKOtm29dB8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=hLFNo3h1Zc1UQ8/DMGxbZedolKRWk33TAyloll9SclM=; b=JVoO2BXIjUMMREAp6cCr8FdUqpPlEMsLv9jXrvxWZWVZzf4TP6XFBJHAj8Wm46QHa5 xcWSSsZgCxfiSlRNSlcZRhAxJGQ0eqgvv4eOBU0THnoWF3wl3k0gsEYd7n8/OKNk47Q1 wXI/e/GEgFoOlsf3yhCGCjvsi1T3CdkI5tZnNReRPqc46U42fYsCJ0GhdCBUHoxp/gcC m4v/pFtZzhvn7KyIWA0QKsGf8yZgrJD9e2et9GWnyT5p+wwPGFMDN4wrFvrhYAF2f1DN O7AKsQrAgOceb4VQphY5xpae3Bjub0dt+HcDlGFqURbV3PearnwD7jDS8q+ZuMkpBlTw xL+w== X-Gm-Message-State: AOAM531IYmv/ov+V7wsJwR32YW2Z/6woI7pyuTi8BjPVtdHRFqEutLjG lGnA3ziKHodzu4w8qeldQuQbdFR+SEB+Hv6aUOs= X-Received: by 2002:a2e:5009:0:b0:247:d738:3e8e with SMTP id e9-20020a2e5009000000b00247d7383e8emr4646078ljb.281.1646962972057; Thu, 10 Mar 2022 17:42:52 -0800 (PST) Received: from mail-lj1-f171.google.com (mail-lj1-f171.google.com. [209.85.208.171]) by smtp.gmail.com with ESMTPSA id d4-20020a193844000000b0044315cbf157sm127572lfj.64.2022.03.10.17.42.50 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 10 Mar 2022 17:42:50 -0800 (PST) Received: by mail-lj1-f171.google.com with SMTP id 25so10215626ljv.10 for ; Thu, 10 Mar 2022 17:42:50 -0800 (PST) X-Received: by 2002:a2e:804b:0:b0:247:e81f:87e9 with SMTP id p11-20020a2e804b000000b00247e81f87e9mr4803701ljg.176.1646962970388; Thu, 10 Mar 2022 17:42:50 -0800 (PST) MIME-Version: 1.0 References: <20220311013238.3387227-1-pobrn@protonmail.com> <20220311013238.3387227-2-pobrn@protonmail.com> In-Reply-To: <20220311013238.3387227-2-pobrn@protonmail.com> From: Linus Torvalds Date: Thu, 10 Mar 2022 17:42:34 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RFC PATCH v1 1/2] list: add type-safer list_head wrapper To: =?UTF-8?B?QmFybmFiw6FzIFDFkWN6ZQ==?= Cc: Linux Kernel Mailing List , Greg Kroah-Hartman , Andrew Morton , Xiaomeng Tong , Kees Cook , Jakob Koschel , Arnd Bergmann Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Mar 10, 2022 at 5:33 PM Barnab=C3=A1s P=C5=91cze wrote: > > The underlying idea is to define each list head using an anonymous struct= : Why struct? Union is much better, and doesn't pointlessly waste memory for members that are only used for their type. Anyway, as far as I can tell, your model is unworkable as-is, since it only works for a list that is external to the types in question. Which is not even remotely the interesting case. All serious list uses are inside other types, and refer to each other. So this seems to be fundamentally broken, in that it only works for trivial things, and is not even as good as https://lore.kernel.org/all/CAHk-=3DwiacQM76xec=3DHr7cLchVZ8Mo9VDHmXRJzJ= _EX4sOsApEA@mail.gmail.com/ that actually converted a real case. That one didn't do the automatic offset thing, but see https://lore.kernel.org/all/CAADWXX-Pr-D3wSr5wsqTEOBSJzB9k7bSH+7hnCAj0Ae= L0=3DU4mg@mail.gmail.com/ on the problems that has. Again, you avoided those problems by making the use-case a narrow and uninteresting one. Linus