From: Mikulas Patocka <mpatocka@redhat.com>
To: Luis Chamberlain <mcgrof@kernel.org>,
Petr Pavlu <petr.pavlu@suse.com>,
Sami Tolvanen <samitolvanen@google.com>,
Daniel Gomez <da.gomez@samsung.com>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
Helge Deller <deller@gmx.de>,
linux-modules@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-parisc@vger.kernel.org
Subject: Unaligned accesses when loading modules
Date: Tue, 14 Jan 2025 19:07:30 +0100 (CET) [thread overview]
Message-ID: <1665d54c-178f-ff72-e627-776e7c76798b@redhat.com> (raw)
Hi
On PA-RISC, with the kernel 6.12.9, I get unaligned pointer warnings when
a module is loaded. The warnings are caused by the fact that the
.gnu.linkonce.this_module section is not aligned to the appropriate
boundary. If I dump the module content with "objdump -h configs.ko", I get
this. Note that the .gnu.linkonce.this_module has "File off 000042d2" and
"Algn 2**4".
On x86-64, the same misalignment can be seen, but it doesn't cause
warnings because unaligned pointers are handled in hardware.
This seems to be a bug in the linker, because when I compile an old kernel
with a new linker, I also get the misalignment. Do you have an idea how to
work around this bug?
Mikulas
kernel-6.12.9, binutils from Debian ports:
configs.ko: file format elf64-hppa-linux
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00000040 0000000000000000 0000000000000000 00000040 2**3
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
1 .init.text 00000070 0000000000000000 0000000000000000 00000080 2**3
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
2 .exit.text 00000028 0000000000000000 0000000000000000 000000f0 2**3
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
3 .rodata 00004015 0000000000000000 0000000000000000 00000118 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
4 .rodata.str1.8 00000010 0000000000000000 0000000000000000 0000412d 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
5 .PARISC.unwind 00000030 0000000000000000 0000000000000000 0000413d 2**2
CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA
6 .modinfo 000000a1 0000000000000000 0000000000000000 0000416d 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
7 .note.gnu.build-id 00000024 0000000000000000 0000000000000000 0000420e 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
8 .note.Linux 00000030 0000000000000000 0000000000000000 00004232 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
9 .data 00000000 0000000000000030 0000000000000030 00004262 2**0
CONTENTS, ALLOC, LOAD, DATA
10 .exit.data 00000008 0000000000000000 0000000000000000 00004262 2**3
CONTENTS, ALLOC, LOAD, RELOC, DATA
11 .init.data 00000008 0000000000000000 0000000000000000 0000426a 2**3
CONTENTS, ALLOC, LOAD, RELOC, DATA
12 .data.rel.ro 00000060 0000000000000000 0000000000000000 00004272 2**3
CONTENTS, ALLOC, LOAD, RELOC, DATA
13 .gnu.linkonce.this_module 000002d0 0000000000000000 0000000000000000 000042d2 2**4
CONTENTS, ALLOC, LOAD, RELOC, DATA, LINK_ONCE_DISCARD
14 .bss 00000000 0000000000000000 0000000000000000 000045a2 2**0
ALLOC
15 .comment 00000039 0000000000000000 0000000000000000 000045a2 2**0
CONTENTS, READONLY
16 .note.GNU-stack 00000000 0000000000000000 0000000000000000 000045db 2**0
CONTENTS, READONLY
With the kernel 6.10, I get this - the ".gnu.linkonce.this_module"
sections has "File off 00004210" and "Algn 2**4" - so, it is properly
aligned.
kernel 6.10, older binutils:
configs.ko: file format elf64-hppa-linux
Sections:
Idx Name Size VMA LMA File off Algn
0 .note.gnu.build-id 00000024 0000000000000000 0000000000000000 00000040 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
1 .note.Linux 00000030 0000000000000000 0000000000000000 00000064 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 .text 00000040 0000000000000000 0000000000000000 00000098 2**3
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
3 .init.text 00000070 0000000000000000 0000000000000000 000000d8 2**3
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
4 .exit.text 00000028 0000000000000000 0000000000000000 00000148 2**3
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
5 .rodata 00003f45 0000000000000000 0000000000000000 00000170 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
6 .rodata.str1.8 00000010 0000000000000000 0000000000000000 000040b8 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
7 .PARISC.unwind 00000030 0000000000000000 0000000000000000 000040c8 2**2
CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA
8 .modinfo 000000a1 0000000000000000 0000000000000000 000040f8 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
9 .data 00000007 00000000000000a1 00000000000000a1 00004199 2**0
CONTENTS, ALLOC, LOAD, DATA
10 .exit.data 00000008 0000000000000000 0000000000000000 000041a0 2**3
CONTENTS, ALLOC, LOAD, RELOC, DATA
11 .init.data 00000008 0000000000000000 0000000000000000 000041a8 2**3
CONTENTS, ALLOC, LOAD, RELOC, DATA
12 .data.rel.ro 00000060 0000000000000000 0000000000000000 000041b0 2**3
CONTENTS, ALLOC, LOAD, RELOC, DATA
13 .gnu.linkonce.this_module 000002d0 0000000000000000 0000000000000000 00004210 2**4
CONTENTS, ALLOC, LOAD, RELOC, DATA, LINK_ONCE_DISCARD
14 .bss 00000000 0000000000000000 0000000000000000 000044e0 2**0
ALLOC
15 .comment 00000026 0000000000000000 0000000000000000 000044e0 2**0
CONTENTS, READONLY
16 .note.GNU-stack 00000000 0000000000000000 0000000000000000 00004506 2**0
CONTENTS, READONLY
next reply other threads:[~2025-01-14 18:07 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-14 18:07 Mikulas Patocka [this message]
2025-01-14 22:37 ` Unaligned accesses when loading modules Sami Tolvanen
2025-01-15 18:02 ` Mikulas Patocka
2025-01-16 7:59 ` Jan Beulich
2025-01-16 15:29 ` Mikulas Patocka
2025-01-16 16:00 ` Jan Beulich
2025-01-17 2:00 ` Maciej W. Rozycki
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=1665d54c-178f-ff72-e627-776e7c76798b@redhat.com \
--to=mpatocka@redhat.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=da.gomez@samsung.com \
--cc=deller@gmx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-modules@vger.kernel.org \
--cc=linux-parisc@vger.kernel.org \
--cc=mcgrof@kernel.org \
--cc=petr.pavlu@suse.com \
--cc=samitolvanen@google.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).