Received: by 2002:a05:7412:8d09:b0:fa:4c10:6cad with SMTP id bj9csp660120rdb; Tue, 16 Jan 2024 11:40:58 -0800 (PST) X-Google-Smtp-Source: AGHT+IH93EkOkSnkNne2ONibYibjUHqUG/RPqx9nTA4x+yKlUzGdqJy31KuJbGPeVKKWVo0dcxVV X-Received: by 2002:a05:6214:1d27:b0:680:f945:5d5c with SMTP id f7-20020a0562141d2700b00680f9455d5cmr9555101qvd.40.1705434058743; Tue, 16 Jan 2024 11:40:58 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1705434058; cv=pass; d=google.com; s=arc-20160816; b=DGGTHfG6W3IqgEc+frBHqr2BNUgYr++ju13M5oQCJgm6BrlsFRQPUYzF6CdaCbB0Gz eZ4vJ6xNH5WXb/0sSX3HXk6/6961cGAuEhU//RP61D3q95OSjHkTEVYOzieeuDrZeMqE rXu5H5fI1Lz7bHQwVig6W9exheM8m9O5+j0IJtlOW0LYluQK5GiURbotDlpRPjxGtIWP IN9h76538Aq6M3Zxl7nxTtcQ1VHvjqZNwf2vlkN9dd08479nJ4q+v1uw+1EdBEvTbUdb ljcrb3mAdorJbNSacsBFrmAqpKyUSMElaVFPrOiNrLocTn20SulXk70BOVeFfF0veEF+ wftg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:date:message-id:dkim-signature; bh=CdQDLNKrvD6zhAnp7AsYeXLbtX89HnZlN485MGZzLLA=; fh=/FLZ81fwaUvbY60Si/9h37KKSmYN2xfxMfnq5zBHTxw=; b=Ixjv1WMuPwfZpd4YMWpKBZzI81WDsA5mj5RYUBDxJXXELbw1d1nC4PUuRCUbnrZDUw Jk+gKqCYFKt0KOHIQ38thAsn92XaDjJ50GQ2oL9GxcIvd4FtMGI/vVaQdITZ9YlQ1Djv aNygBtLF2n4ilEOyIo1qxNjn2oSV9qWfVvX8bSUEpk2Q9Xfn3Tj5g8C96XBFaUuvgcqT 7ZeQTdeOOVW6FUCeyABW2pvBvhMC0PNVd4r5KVwRSShR0zPRRPo9cPOc5DfBVXjgIuaR IKF45/4m5lRVtOQz+ur/xSMqyQKhBHZDyT2M061DUYouzqP/FCHIKwwb2jmDVuAFLfnK uFuQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@wanadoo.fr header.s=t20230301 header.b=tu5U1NHM; arc=pass (i=1 spf=pass spfdomain=wanadoo.fr dkim=pass dkdomain=wanadoo.fr dmarc=pass fromdomain=wanadoo.fr); spf=pass (google.com: domain of linux-kernel+bounces-27769-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-27769-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=wanadoo.fr Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id m3-20020a0cdb83000000b0067aad4f088dsi10603980qvk.118.2024.01.16.11.40.58 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Jan 2024 11:40:58 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-27769-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@wanadoo.fr header.s=t20230301 header.b=tu5U1NHM; arc=pass (i=1 spf=pass spfdomain=wanadoo.fr dkim=pass dkdomain=wanadoo.fr dmarc=pass fromdomain=wanadoo.fr); spf=pass (google.com: domain of linux-kernel+bounces-27769-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-27769-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=wanadoo.fr Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id A6D3F1C23E73 for ; Tue, 16 Jan 2024 19:40:54 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 2B3FA1D6A4; Tue, 16 Jan 2024 19:40:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=wanadoo.fr header.i=@wanadoo.fr header.b="tu5U1NHM" Received: from smtp.smtpout.orange.fr (smtp-13.smtpout.orange.fr [80.12.242.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E0AC31D68C for ; Tue, 16 Jan 2024 19:40:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=80.12.242.13 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1705434037; cv=none; b=flFIGOToWMG8ayqj52VAMWjauVpiniLhfDBcCmQOSP2ZvcUYdcSW26hz59AVDA/L0zafYh55MyJ/OpbUdxQ1EnYwnGLCtFejtB92x4boE6lG2Z6QO9kgWHmrDIYZvjF06nPBYF/jIGfTevUXg/N5vaiCqqYlvRxecZh/U32Bh5g= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1705434037; c=relaxed/simple; bh=HDuB7jq0mLFOFRxAL2ZW5svv4REg+HwB2Qw+eBWDlRo=; h=Received:DKIM-Signature:X-ME-Helo:X-ME-Auth:X-ME-Date:X-ME-IP: Message-ID:Date:MIME-Version:User-Agent:Subject:To:Cc:References: Content-Language:From:In-Reply-To:Content-Type: Content-Transfer-Encoding; b=pT+OUsNnxVRMfDU4LdHB88WhBSRdYDxK7C/KiP705MSmjI6IiIvrFuMcxjanJBTQRvy5CzIahy/dpbTR6+2ESSqIbdA7FiF6GJdqQLwnu+8wvYheSU0MsZwJ17vr8Wmyjcr8THMjt3p4GWGFHdF6eNKSmU2Bs7BkS44EddyFNdw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=wanadoo.fr; spf=pass smtp.mailfrom=wanadoo.fr; dkim=pass (2048-bit key) header.d=wanadoo.fr header.i=@wanadoo.fr header.b=tu5U1NHM; arc=none smtp.client-ip=80.12.242.13 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=wanadoo.fr Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=wanadoo.fr Received: from [192.168.1.18] ([92.140.202.140]) by smtp.orange.fr with ESMTPA id PpIUrqTO1ZHPAPpIUrImvr; Tue, 16 Jan 2024 20:40:31 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wanadoo.fr; s=t20230301; t=1705434031; bh=CdQDLNKrvD6zhAnp7AsYeXLbtX89HnZlN485MGZzLLA=; h=Date:Subject:To:Cc:References:From:In-Reply-To; b=tu5U1NHMbRE0dtBT3se5XiQCmX5+WXBRFrgs3c0VMdz1UEBvmXdCqcljv218yqiMp 7JNrdn2Dk7Nh6J/Iah9lsnBqzYrwv6YUubVCSSfGT+AAIkBVPXBseYDpaOvMUEnKsx 5ukEXrvEj13sjgjXrCLfu1gp25GKZsJrarYIDzjVkFKM6djhFVqwP7PZeir4vXYOF/ uqcoZ+0mc3Q87OYkEQ6FIAoV04cllTtOWHWc1aFnPvsjtzAC/gMXkazcP7ivnreB6Z alOYNJdYgXpPSFJ2f+Xm9251dSAIIQe/nAgGTcEMjerQ8q/3S+rP6H7Uv93X09wSrg bcXHwikAaXIcA== X-ME-Helo: [192.168.1.18] X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Tue, 16 Jan 2024 20:40:31 +0100 X-ME-IP: 92.140.202.140 Message-ID: <407c467e-1f0b-4549-951a-83c295b27733@wanadoo.fr> Date: Tue, 16 Jan 2024 20:40:29 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] seq_buf: make DECLARE_SEQ_BUF() usable To: nathanl@linux.ibm.com, "Steven Rostedt (Google)" , Kees Cook Cc: linux-kernel@vger.kernel.org References: <20240116-declare-seq-buf-fix-v1-1-915db4692f32@linux.ibm.com> Content-Language: en-MW From: Christophe JAILLET In-Reply-To: <20240116-declare-seq-buf-fix-v1-1-915db4692f32@linux.ibm.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Le 16/01/2024 à 15:09, Nathan Lynch via B4 Relay a écrit : > From: Nathan Lynch > > Using the address operator on the array doesn't work: > > /include/linux/seq_buf.h:27:27: error: initialization of ‘char *’ > from incompatible pointer type ‘char (*)[128]’ > [-Werror=incompatible-pointer-types] > 27 | .buffer = &__ ## NAME ## _buffer, \ > | ^ > > Apart from fixing that, we can improve DECLARE_SEQ_BUF() by using a > compound literal to define the buffer array without attaching a name > to it. This makes the macro a single statement, allowing constructs > such as: > > static DECLARE_SEQ_BUF(my_seq_buf, MYSB_SIZE); > > to work as intended. > > Signed-off-by: Nathan Lynch > Fixes: dcc4e5728eea ("seq_buf: Introduce DECLARE_SEQ_BUF and seq_buf_str()") > --- > include/linux/seq_buf.h | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/include/linux/seq_buf.h b/include/linux/seq_buf.h > index 5fb1f12c33f9..c44f4b47b945 100644 > --- a/include/linux/seq_buf.h > +++ b/include/linux/seq_buf.h > @@ -22,9 +22,8 @@ struct seq_buf { > }; > > #define DECLARE_SEQ_BUF(NAME, SIZE) \ > - char __ ## NAME ## _buffer[SIZE] = ""; \ > struct seq_buf NAME = { \ > - .buffer = &__ ## NAME ## _buffer, \ > + .buffer = (char[SIZE]) { 0 }, \ > .size = SIZE, \ > } Hi, just removing the & in ".buffer = __ ## NAME ## _buffer, \" also works IIRC. See [1], which unfortunately has been unnoticed. CJ [1]: https://lore.kernel.org/all/2a534333-b5f6-4b1d-b4b8-a1a71f91c3ff@wanadoo.fr/ > > > --- > base-commit: 70d201a40823acba23899342d62bc2644051ad2e > change-id: 20240112-declare-seq-buf-fix-9803b7e679bc > > Best regards,