Received: by 2002:ab2:69cc:0:b0:1f4:be93:e15a with SMTP id n12csp1741582lqp; Mon, 15 Apr 2024 16:19:28 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWK2Kg0RSjnvmYEZ9wrIKlnxhJOUKgjROHdkxmQggZN2Bn4aJmN9jEzQle0paOXQXKqA3YoEyr9K/KlM3KXfzHMXTnNzUtYZm/yHLWEXw== X-Google-Smtp-Source: AGHT+IHknFU2nXmesmBrx0ZtqxFME40leojZbtZB/X6iv/hJprCMziUmDec2itr+QsTZLBvmPPnF X-Received: by 2002:a05:6214:b14:b0:69b:7b95:8ef1 with SMTP id u20-20020a0562140b1400b0069b7b958ef1mr4071606qvj.22.1713223168412; Mon, 15 Apr 2024 16:19:28 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713223168; cv=pass; d=google.com; s=arc-20160816; b=LXDyexhztY2dL8roc/dH/lsploAemNvOEZcYkVZfC++vNxNAtKBgmadAYuDk8zVb/K BinrO5n73zYnhxYHLli6ChPQLwPdvkSiVX3WQVFcTjrZJoZVd1HM/DWI8qNyPMouBifS UhJlmttLG3mfBAC62PY62grH+U4ERI3v8vZd9fIywRZyHj1vqzXUv2ZJVGnPhkkPe4/o gNlKDIX70eaOlKCzaSjL8Qs6Yfq13rAgfyJ3cIW66qDGiQq3cLtzfFVYqmaByqOQ2pnU cH5iAS4l9fKi0oApD3Ecnp2zLpjI0OQfYmuBw9jUqno4EU4Tgh2aCAM0xUzedQzuSM/k 7j7A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=nNllzdqzyM5Bz0YxRI8syNc99amIrBzYYq2sTSmZBPw=; fh=9Ft3xC79e9IHqjHRF+zTZ9DVTjUTHtQUoD6v7NQnpls=; b=IFHAZLxnFghqVicWyNOPstQ9VfYle4x7scV2sPNtbooIJP34KUhWm0+UCfSb6g1rGN naM3/KSM1NBajx/HNElRMKcglcZm4zMQZNbk3qGwSPR4i+lFltnoYU8Z4nBMZmuDrh+j 5FJg1+iD6uP3/E/7udGtyOYMLoJh3cdGS4tfq3ole8/G6bLl6/MkF2IWBagD4qbcEtGK /RDeme0CH9tBfZOn5xl5tiPC3VoObsOekZXGIlddoYKslJwZMhWoLKKqzNSMaiOH6Eah ilghxl9/rzZgdaGMO/rQeYr+pQGj4Q8kJLzQHnj17El0Mi9b8HZF3nvhwwD/9NApU4sy cQIw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amazon.com header.s=amazon201209 header.b=Bp98jKkX; arc=pass (i=1 spf=pass spfdomain=amazon.co.jp dkim=pass dkdomain=amazon.com dmarc=pass fromdomain=amazon.com); spf=pass (google.com: domain of linux-nfs+bounces-2832-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-nfs+bounces-2832-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id v16-20020a0cf910000000b0069b59bffb14si8449022qvn.270.2024.04.15.16.19.28 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Apr 2024 16:19:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs+bounces-2832-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=@amazon.com header.s=amazon201209 header.b=Bp98jKkX; arc=pass (i=1 spf=pass spfdomain=amazon.co.jp dkim=pass dkdomain=amazon.com dmarc=pass fromdomain=amazon.com); spf=pass (google.com: domain of linux-nfs+bounces-2832-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-nfs+bounces-2832-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.com 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 0DE4C1C20B17 for ; Mon, 15 Apr 2024 23:19:28 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 7A33F158DC9; Mon, 15 Apr 2024 23:19:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amazon.com header.i=@amazon.com header.b="Bp98jKkX" X-Original-To: linux-nfs@vger.kernel.org Received: from smtp-fw-52003.amazon.com (smtp-fw-52003.amazon.com [52.119.213.152]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 023D61272B8; Mon, 15 Apr 2024 23:19:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=52.119.213.152 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713223163; cv=none; b=vCJWpovfmVWEPVlrmCxeEBDx9aFIfJMJxfM1+beCfXqDVM1Fk9SV9Xz5/078bIwyy8T6U1m5D27mMc5l//EsJJqES2gdNiLDW5KtWgYQGCcYwy6NEx6c/yQUaThseWbrruzpsONtO5oVlGsNrgpQGpV/xyfEoXB15rJikm2Vd0g= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713223163; c=relaxed/simple; bh=O7IS3oPlp5+sm72VRPb5jKxSHrI+jlf1vy1OB12Yer0=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=DFNeXMq9GuW2nb6151JrQgcEJpQkBt3lhr/KIQFTJfJ8pcTEW/kqp38+urWP7CJDU2PvNndow8YiAhtN8AW+39D8ecBXhUkbcp3mHtrp8qk0t6yqnnmgAvH20LzCyuX+NT484DQTaHNPIREWAfasfbsAIXrOZf5P3A1whdeKfB4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amazon.com; spf=pass smtp.mailfrom=amazon.co.jp; dkim=pass (1024-bit key) header.d=amazon.com header.i=@amazon.com header.b=Bp98jKkX; arc=none smtp.client-ip=52.119.213.152 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amazon.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=amazon.co.jp DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1713223161; x=1744759161; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=nNllzdqzyM5Bz0YxRI8syNc99amIrBzYYq2sTSmZBPw=; b=Bp98jKkXt+DWgJMJk/VnC2koZBCdXF3S9UfLHaXWlu2lOD/jHEkaJPiX NqB29FKb+Zd+SEVzJ6uzAsCvZ/OEQA8szmWpggCFPh+qW6LgLBlyAc+Hl PTSqDmJ6Sxwh9DzQzTiDVil4QvwPFl/KKS1zGzrkCyJ8MPHfLJoPeu923 Y=; X-IronPort-AV: E=Sophos;i="6.07,204,1708387200"; d="scan'208";a="652012921" Received: from iad12-co-svc-p1-lb1-vlan3.amazon.com (HELO smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev) ([10.43.8.6]) by smtp-border-fw-52003.iad7.amazon.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Apr 2024 23:19:15 +0000 Received: from EX19MTAUWB002.ant.amazon.com [10.0.21.151:43163] by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.42.38:2525] with esmtp (Farcaster) id b612ba95-1060-4583-9bf4-c255c8a740ec; Mon, 15 Apr 2024 23:19:15 +0000 (UTC) X-Farcaster-Flow-ID: b612ba95-1060-4583-9bf4-c255c8a740ec Received: from EX19D004ANA001.ant.amazon.com (10.37.240.138) by EX19MTAUWB002.ant.amazon.com (10.250.64.231) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.28; Mon, 15 Apr 2024 23:19:14 +0000 Received: from 88665a182662.ant.amazon.com (10.106.101.23) by EX19D004ANA001.ant.amazon.com (10.37.240.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.28; Mon, 15 Apr 2024 23:19:03 +0000 From: Kuniyuki Iwashima To: CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: Re: [PATCH v3 4/4] ax.25: Remove the now superfluous sentinel elements from ctl_table array Date: Mon, 15 Apr 2024 16:18:53 -0700 Message-ID: <20240415231853.23060-1-kuniyu@amazon.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20240412-jag-sysctl_remset_net-v3-4-11187d13c211@samsung.com> References: <20240412-jag-sysctl_remset_net-v3-4-11187d13c211@samsung.com> Precedence: bulk X-Mailing-List: linux-nfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: EX19D031UWC003.ant.amazon.com (10.13.139.252) To EX19D004ANA001.ant.amazon.com (10.37.240.138) From: Joel Granados via B4 Relay Date: Fri, 12 Apr 2024 16:48:32 +0200 > From: Joel Granados > > This commit comes at the tail end of a greater effort to remove the > empty elements at the end of the ctl_table arrays (sentinels) which will > reduce the overall build time size of the kernel and run time memory > bloat by ~64 bytes per sentinel (further information Link : > https://lore.kernel.org/all/ZO5Yx5JFogGi%2FcBo@bombadil.infradead.org/) > > Avoid a buffer overflow when traversing the ctl_table by ensuring that > AX25_MAX_VALUES is the same as the size of ax25_param_table. This is > done with a BUILD_BUG_ON where ax25_param_table is defined and a > CONFIG_AX25_DAMA_SLAVE guard in the unnamed enum definition as well as > in the ax25_dev_device_up and ax25_ds_set_timer functions. > > The overflow happened when the sentinel was removed from > ax25_param_table. The sentinel's data element was changed when > CONFIG_AX25_DAMA_SLAVE was undefined. This had no adverse effects as it > still stopped on the sentinel's null procname but needed to be addressed > once the sentinel was removed. > > Signed-off-by: Joel Granados Reviewed-by: Kuniyuki Iwashima > --- > include/net/ax25.h | 2 ++ > net/ax25/ax25_dev.c | 3 +++ > net/ax25/ax25_ds_timer.c | 4 ++++ > net/ax25/sysctl_net_ax25.c | 3 +-- > 4 files changed, 10 insertions(+), 2 deletions(-) > > diff --git a/include/net/ax25.h b/include/net/ax25.h > index 0d939e5aee4e..eb9cee8252c8 100644 > --- a/include/net/ax25.h > +++ b/include/net/ax25.h > @@ -139,7 +139,9 @@ enum { > AX25_VALUES_N2, /* Default N2 value */ > AX25_VALUES_PACLEN, /* AX.25 MTU */ > AX25_VALUES_PROTOCOL, /* Std AX.25, DAMA Slave, DAMA Master */ > +#ifdef CONFIG_AX25_DAMA_SLAVE > AX25_VALUES_DS_TIMEOUT, /* DAMA Slave timeout */ > +#endif > AX25_MAX_VALUES /* THIS MUST REMAIN THE LAST ENTRY OF THIS LIST */ > }; > > diff --git a/net/ax25/ax25_dev.c b/net/ax25/ax25_dev.c > index c5462486dbca..af547e185a94 100644 > --- a/net/ax25/ax25_dev.c > +++ b/net/ax25/ax25_dev.c > @@ -78,7 +78,10 @@ void ax25_dev_device_up(struct net_device *dev) > ax25_dev->values[AX25_VALUES_N2] = AX25_DEF_N2; > ax25_dev->values[AX25_VALUES_PACLEN] = AX25_DEF_PACLEN; > ax25_dev->values[AX25_VALUES_PROTOCOL] = AX25_DEF_PROTOCOL; > + > +#ifdef CONFIG_AX25_DAMA_SLAVE > ax25_dev->values[AX25_VALUES_DS_TIMEOUT]= AX25_DEF_DS_TIMEOUT; > +#endif > > #if defined(CONFIG_AX25_DAMA_SLAVE) || defined(CONFIG_AX25_DAMA_MASTER) > ax25_ds_setup_timer(ax25_dev); > diff --git a/net/ax25/ax25_ds_timer.c b/net/ax25/ax25_ds_timer.c > index c4f8adbf8144..8f385d2a7628 100644 > --- a/net/ax25/ax25_ds_timer.c > +++ b/net/ax25/ax25_ds_timer.c > @@ -49,12 +49,16 @@ void ax25_ds_del_timer(ax25_dev *ax25_dev) > > void ax25_ds_set_timer(ax25_dev *ax25_dev) > { > +#ifdef CONFIG_AX25_DAMA_SLAVE > if (ax25_dev == NULL) /* paranoia */ > return; > > ax25_dev->dama.slave_timeout = > msecs_to_jiffies(ax25_dev->values[AX25_VALUES_DS_TIMEOUT]) / 10; > mod_timer(&ax25_dev->dama.slave_timer, jiffies + HZ); > +#else > + return; > +#endif > } > > /* > diff --git a/net/ax25/sysctl_net_ax25.c b/net/ax25/sysctl_net_ax25.c > index db66e11e7fe8..fb9966926e90 100644 > --- a/net/ax25/sysctl_net_ax25.c > +++ b/net/ax25/sysctl_net_ax25.c > @@ -141,8 +141,6 @@ static const struct ctl_table ax25_param_table[] = { > .extra2 = &max_ds_timeout > }, > #endif > - > - { } /* that's all, folks! */ > }; > > int ax25_register_dev_sysctl(ax25_dev *ax25_dev) > @@ -155,6 +153,7 @@ int ax25_register_dev_sysctl(ax25_dev *ax25_dev) > if (!table) > return -ENOMEM; > > + BUILD_BUG_ON(AX25_MAX_VALUES != ARRAY_SIZE(ax25_param_table)); > for (k = 0; k < AX25_MAX_VALUES; k++) > table[k].data = &ax25_dev->values[k]; > > > -- > 2.43.0