Skip to content

Commit

Permalink
x86, relocs: Add jiffies and jiffies_64 to the relative whitelist
Browse files Browse the repository at this point in the history
commit ea17e74 upstream.

The symbol jiffies is created in the linker script as an alias to
jiffies_64.  Unfortunately this is done outside any section, and
apparently GNU ld 2.21 doesn't carry the section with it, so we end up
with an absolute symbol and therefore a broken kernel.

Add jiffies and jiffies_64 to the whitelist.

The most disturbing bit with this discovery is that it shows that we
have had multiple linker bugs in this area crossing multiple
generations, and have been silently building bad kernels for some time.

Link: http://lkml.kernel.org/r/20120524171604.0d98284f3affc643e9714470@canb.auug.org.au
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  • Loading branch information
H. Peter Anvin authored and Ben Hutchings committed May 30, 2012
1 parent 41799ae commit a4a7951
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions arch/x86/tools/relocs.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ static const char * const sym_regex_kernel[S_NSYMTYPES] = {
"__(start|stop)_notes|"
"__end_rodata|"
"__initramfs_start|"
"(jiffies|jiffies_64)|"
"_end)$"
};

Expand Down

0 comments on commit a4a7951

Please sign in to comment.