Received: by 2002:a05:7412:a9a2:b0:e2:908c:2ebd with SMTP id o34csp711445rdh; Thu, 26 Oct 2023 13:33:36 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEK8o0jT5ms4LCOkv4mpSdQ6oUoet/jOSEWAqs70fz+rzZaVxKdFaTiKoDys0IQZXu4zoUG X-Received: by 2002:a05:6870:11c3:b0:1e9:9833:daad with SMTP id 3-20020a05687011c300b001e99833daadmr627566oav.4.1698352416631; Thu, 26 Oct 2023 13:33:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698352416; cv=none; d=google.com; s=arc-20160816; b=LqwuGAkUABb8Ex0MalQQSLqkyZmFNcIUJedmz5UuPiit5wOFSOu9yvBzjGcltcKH8H dW+9aySaCU/GXud/ilQxQX444YcrmsUSd7VgqkIPqiWQx5s8e/6+6HpWLFNTiqWXpLr+ dVDLh7EViUY/hkV5CCcbpGD9JO0vXdmsnqOKSZt7eVICfwxD5hSg2z9OteGSkURTrL8H DnEz8SVEV5ht095QyG9fptxT1Qs1tW9LPYIgq9+XPhnyyJv6xC2U9Kf91xuKyTfuAKhj XvlhSbBg1d5QNifvJYtUDBtATSagFTULV1k7eapPP/3K4EgFUZSP2Q552Aw6e6+RizsQ s5CQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date; bh=+dOpZfN9wBglmrqSD2qfT4ClF1kzE2Y6lLVj3posS+A=; fh=ION5awFoQqcRxqHMDiSNyKpvRowP3LbF4KN8jlJ/2SE=; b=quhKDrpFKBYw9Jf0+wdS35AuZBX2aU1g4yuSINvwbwpcIRxL1eE5ydAkIdWljQbddV QsKRMllsRIfylA5fIwA2vPyjqmTNpIaftDKNvjm8J6efkS6j7qLkHJYUXo50qwGf//V+ W3kyejWDdbH/UU3OG4W98SCfJ6vTH3xGHutWK1rLYbW+i5HAlz5ZtgoGbvMPIEcZlqGR jL5TyjhxcLYLVZKgkZ5dRLzQ6UHbo27w91rJkcSW7iWN3jlJgqM7UBRP1fe2snUsuwvo 4BcRVs05NyI94fYemXhnSDUgbIJWcmS1N8pYVwqgogpC5QL0HWaFXaN78KGY/RX0NKSe WUNg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id l185-20020a0dfbc2000000b005771f9b1015si120925ywf.500.2023.10.26.13.33.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Oct 2023 13:33:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id CFFC982A39BB; Thu, 26 Oct 2023 13:33:32 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229680AbjJZUdZ (ORCPT + 99 others); Thu, 26 Oct 2023 16:33:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38936 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229501AbjJZUdY (ORCPT ); Thu, 26 Oct 2023 16:33:24 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 39BCB191 for ; Thu, 26 Oct 2023 13:33:22 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8FCF0C433C8; Thu, 26 Oct 2023 20:33:19 +0000 (UTC) Date: Thu, 26 Oct 2023 16:33:17 -0400 From: Steven Rostedt To: Andy Shevchenko Cc: Kees Cook , "Matthew Wilcox (Oracle)" , Christoph Hellwig , Justin Stitt , Kent Overstreet , Petr Mladek , Rasmus Villemoes , Sergey Senozhatsky , Masami Hiramatsu , Greg Kroah-Hartman , Arnd Bergmann , Jonathan Corbet , Yun Zhou , Jacob Keller , Zhen Lei , linux-trace-kernel@vger.kernel.org, Yosry Ahmed , linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org Subject: Re: [PATCH v2] seq_buf: Introduce DECLARE_SEQ_BUF and seq_buf_str() Message-ID: <20231026163317.4516369a@gandalf.local.home> In-Reply-To: References: <20231026194033.it.702-kees@kernel.org> X-Mailer: Claws Mail 3.19.1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on howler.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Thu, 26 Oct 2023 13:33:33 -0700 (PDT) On Thu, 26 Oct 2023 23:20:15 +0300 Andy Shevchenko wrote: > > +#define DECLARE_SEQ_BUF(NAME, SIZE) \ > > + char __ ## NAME ## _buffer[SIZE] = ""; \ > > + struct seq_buf NAME = { .buffer = &__ ## NAME ## _buffer, \ > > + .size = SIZE } > > Hmm... Wouldn't be more readable to have it as > > #define DECLARE_SEQ_BUF(NAME, SIZE) \ > char __ ## NAME ## _buffer[SIZE] = ""; \ > struct seq_buf NAME = { \ > .buffer = &__ ## NAME ## _buffer, \ > .size = SIZE, \ > } > > ? I agree with the above. > > ... > > > +static inline char *seq_buf_str(struct seq_buf *s) > > { > > if (WARN_ON(s->size == 0)) > > - return; > > + return ""; > > I'm wondering why it's a problem to have an empty string? Not sure what you mean? With s->size = 0, s->buffer may not have been assigned. That shouldn't be the case, but it does make it more robust. -- Steve > > > if (seq_buf_buffer_left(s)) > > s->buffer[s->len] = 0; > > else > > s->buffer[s->size - 1] = 0; > > + > > + return s->buffer; > > } >