From: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
The entries in the .parainstr sections are 8 byte aligned and the
corresponding C struct makes the array offset 16 bytes.
Though the pushed entries are only using 12 bytes. .parainstr_end is
therefore 4 bytes short.
That works by chance because it's only used in a loop:
for (p = start; p < end; p++)
But this falls flat when calculating the number of elements:
n = end - start
That's obviously off by one.
Ensure that the gap is filled and the last entry is occupying 16 bytes.
Cc: Juergen Gross <jgross@xxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Attachment:
OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature