From: Johan Hovold <johan@kernel.org>
To: linux-kernel@vger.kernel.org
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Rob Herring <robh+dt@kernel.org>,
Frank Rowand <frowand.list@gmail.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jessica Yu <jeyu@kernel.org>,
Nick Desaulniers <ndesaulniers@gooogle.com>,
Arnd Bergmann <arnd@arndb.de>,
Geert Uytterhoeven <geert@linux-m68k.org>,
Dmitry Torokhov <dmitry.torokhov@gmail.com>,
David Miller <davem@davemloft.net>,
Jakub Jelinek <jakub@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Thomas Gleixner <tglx@linutronix.de>,
Steven Rostedt <rostedt@goodmis.org>,
Daniel Kurtz <djkurtz@chromium.org>,
linux-arch@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
Johan Hovold <johan@kernel.org>
Subject: [PATCH 7/8] params: use type alignment for kernel parameters
Date: Tue, 3 Nov 2020 18:57:10 +0100 [thread overview]
Message-ID: <20201103175711.10731-8-johan@kernel.org> (raw)
In-Reply-To: <20201103175711.10731-1-johan@kernel.org>
Specify type alignment for kernel parameters instead of sizeof(void *).
The alignment attribute is used to prevent gcc from increasing the
alignment of objects with static extent, something which would mess up
the __param array stride.
Using __alignof__(struct kernel_param) rather than sizeof(void *) is
preferred since it better indicates why it is there and doesn't break
should the type size or alignment change.
Note that on m68k the alignment of struct kernel_param is actually two
and that adding a 1- or 2-byte field to the 20-byte struct would cause a
breakage with the current 4-byte alignment.
Signed-off-by: Johan Hovold <johan@kernel.org>
---
include/linux/moduleparam.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/linux/moduleparam.h b/include/linux/moduleparam.h
index 742074ad9f6e..15ecc6cc3a3b 100644
--- a/include/linux/moduleparam.h
+++ b/include/linux/moduleparam.h
@@ -288,8 +288,8 @@ struct kparam_array
/* Default value instead of permissions? */ \
static const char __param_str_##name[] = prefix #name; \
static struct kernel_param __moduleparam_const __param_##name \
- __used \
- __section("__param") __attribute__ ((aligned(sizeof(void *)))) \
+ __used __section("__param") \
+ __aligned(__alignof__(struct kernel_param)) \
= { __param_str_##name, THIS_MODULE, ops, \
VERIFY_OCTAL_PERMISSIONS(perm), level, flags, { arg } }
--
2.26.2
next prev parent reply other threads:[~2020-11-03 18:12 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-03 17:57 [PATCH 0/8] linker-section array fix and clean ups Johan Hovold
2020-11-03 17:57 ` [PATCH 1/8] of: fix linker-section match-table corruption Johan Hovold
2020-11-03 17:57 ` [PATCH 2/8] earlycon: simplify earlycon-table implementation Johan Hovold
2020-11-03 17:57 ` [PATCH 3/8] module: drop version-attribute alignment Johan Hovold
2020-11-03 17:57 ` [PATCH 4/8] module: simplify version-attribute handling Johan Hovold
2020-11-03 17:57 ` [PATCH 5/8] init: use type alignment for kernel parameters Johan Hovold
2020-11-03 17:57 ` [PATCH 6/8] params: drop redundant "unused" attributes Johan Hovold
2020-11-03 17:57 ` Johan Hovold [this message]
2020-11-03 17:57 ` [PATCH 8/8] params: clean up module-param macros Johan Hovold
2020-11-04 9:16 ` get_maintainer.pl bug? (was: Re: [PATCH 0/8] linker-section array fix and clean ups) Johan Hovold
2020-11-04 12:04 ` Joe Perches
2020-11-04 15:31 ` Johan Hovold
2020-11-06 16:03 ` [PATCH 0/8] linker-section array fix and clean ups Jessica Yu
2020-11-06 16:45 ` Johan Hovold
2020-11-06 16:55 ` Steven Rostedt
2020-11-06 17:02 ` Johan Hovold
2020-11-11 15:47 ` Jessica Yu
2020-11-13 14:18 ` Johan Hovold
2020-11-23 10:39 ` Johan Hovold
2020-11-25 14:51 ` Jessica Yu
2020-11-27 9:59 ` Johan Hovold
2020-12-01 9:55 ` Jessica Yu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201103175711.10731-8-johan@kernel.org \
--to=johan@kernel.org \
--cc=arnd@arndb.de \
--cc=davem@davemloft.net \
--cc=djkurtz@chromium.org \
--cc=dmitry.torokhov@gmail.com \
--cc=frowand.list@gmail.com \
--cc=geert@linux-m68k.org \
--cc=gregkh@linuxfoundation.org \
--cc=jakub@redhat.com \
--cc=jeyu@kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@lists.linux-m68k.org \
--cc=ndesaulniers@gooogle.com \
--cc=peterz@infradead.org \
--cc=robh+dt@kernel.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.