linux/arch/x86/include/asm
Linus Torvalds a7f934d4f1 asm alternatives: remove incorrect alignment notes
On x86-64, they were just wasteful: with the explicitly added (now
unnecessary) padding, the size of the alternatives structure was 16
bytes, and an alignment of 8 bytes didn't hurt much.

However, it was still silly, since the natural size and alignment for
the structure is actually just 12 bytes, 4-byte aligned since commit
59e97e4d6f ("x86: Make alternative instruction pointers relative").
So removing the padding, and removing the extra alignment is just a good
idea.

On x86-32, the alignment of 4 bytes was correct, but was incorrectly
hardcoded as 8 bytes in <asm/alternative-asm.h>.  That header file had
used to be an x86-64 only header file, but various unification efforts
have made it be used for x86-32 too (ie the unification of rwlock and
rwsem).

That in turn caused x86-32 boot failures, because the extra alignment
would result in random zero-filled words in the altinstructions section,
causing oopses early at boot when doing alternative instruction
replacement.

So just remove all the alignment noise entirely.  It's wrong, and it's
unnecessary.  The section itself is already properly aligned by the
linker scripts, and all additions to the section had better be of the
proper 12-byte format, keeping it aligned.  So if the align directive
were to ever make a difference, that would be an indication of a serious
bug to begin with.

Reported-by: Werner Landgraf <w.landgraf@ru.r>
Acked-by: Andrew Lutomirski <luto@mit.edu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-09-15 13:28:33 -07:00
..
uv
visws
xen xen/x86: replace order-based range checking of M2P table by linear one 2011-08-17 10:26:48 -04:00
a.out-core.h
a.out.h
acpi.h
aes.h
agp.h
alternative-asm.h asm alternatives: remove incorrect alignment notes 2011-09-15 13:28:33 -07:00
alternative.h asm alternatives: remove incorrect alignment notes 2011-09-15 13:28:33 -07:00
amd_nb.h
apb_timer.h Merge branch 'timers-clocksource-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-07-23 10:34:47 -07:00
apic.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
apicdef.h
apm.h
arch_hweight.h
asm-offsets.h
asm.h x86: Fix write lock scalability 64-bit issue 2011-07-21 09:03:36 +02:00
atomic64_32.h atomic: move atomic_add_unless to generic code 2011-07-26 16:49:47 -07:00
atomic64_64.h atomic: move atomic_add_unless to generic code 2011-07-26 16:49:47 -07:00
atomic.h atomic: cleanup asm-generic atomic*.h inclusion 2011-07-26 16:49:47 -07:00
auxvec.h
bios_ebda.h
bitops.h asm-generic: add another generic ext2 atomic bitops 2011-07-26 16:49:46 -07:00
bitsperlong.h
boot.h
bootparam.h
bug.h
bugs.h
byteorder.h
cache.h
cacheflush.h
calgary.h
calling.h
ce4100.h
checksum_32.h
checksum_64.h
checksum.h
clocksource.h clocksource: Change __ARCH_HAS_CLOCKSOURCE_DATA to a CONFIG option 2011-07-21 13:34:05 -07:00
cmpxchg_32.h
cmpxchg_64.h
cmpxchg.h
compat.h
cpu.h
cpufeature.h asm alternatives: remove incorrect alignment notes 2011-09-15 13:28:33 -07:00
cpumask.h
cputime.h
current.h
debugreg.h
delay.h asm-generic: move archictures to common delay.h 2011-07-22 18:46:24 +02:00
desc_defs.h
desc.h x86-64: Add user_64bit_mode paravirt op 2011-08-04 16:13:49 -07:00
device.h
div64.h
dma-mapping.h
dma.h
dmi.h
dwarf2.h
e820.h
edac.h
efi.h
elf.h
emergency-restart.h
entry_arch.h
errno.h
fb.h
fcntl.h
fixmap.h
floppy.h
frame.h x86: Unify rwlock assembly implementation 2011-07-21 09:03:31 +02:00
ftrace.h
futex.h
gart.h
genapic.h
geode.h
gpio.h
hardirq.h
highmem.h
hpet.h
hugetlb.h
hw_breakpoint.h
hw_irq.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
hypertransport.h
hyperv.h
hypervisor.h
i387.h
i8259.h
ia32_unistd.h
ia32.h
idle.h
inat_types.h
inat.h
init.h
insn.h
inst.h
intel_scu_ipc.h
io_apic.h
io.h x86: don't include xen/xen.h in <asm/io.h> unless XEN is enabled 2011-08-03 22:00:38 -10:00
ioctl.h
ioctls.h
iomap.h
iommu_table.h
iommu.h
ipcbuf.h
ipi.h
irq_controller.h
irq_regs.h
irq_remapping.h
irq_vectors.h Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-tip 2011-08-12 20:46:24 -07:00
irq.h
irqflags.h tracing, x86/irq: Do not trace arch_local_{*,irq_*}() functions 2011-07-07 19:22:32 +02:00
ist.h
jump_label.h
Kbuild
kdebug.h ptrace: unify show_regs() prototype 2011-07-26 16:49:43 -07:00
kexec.h
kgdb.h
kmap_types.h
kmemcheck.h
kprobes.h
kvm_emulate.h KVM: x86 emulator: fold decode_cache into x86_emulate_ctxt 2011-07-12 13:16:09 +03:00
kvm_host.h KVM: MMU: lockless walking shadow page table 2011-07-24 11:50:38 +03:00
kvm_para.h KVM guest: KVM Steal time registration 2011-07-24 11:49:36 +03:00
kvm.h
ldt.h
lguest_hcall.h lguest: update comments 2011-07-22 14:39:50 +09:30
lguest.h
linkage.h
local64.h
local.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
mach_timer.h
mach_traps.h
math_emu.h
mc146818rtc.h
mca_dma.h
mca.h
mce.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
memblock.h
microcode.h
mman.h
mmconfig.h
mmu_context.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
mmu.h
mmx.h
mmzone_32.h x86, mm: s/PAGES_PER_ELEMENT/PAGES_PER_SECTION/ 2011-07-12 21:58:11 -07:00
mmzone_64.h Fix node_start/end_pfn() definition for mm/page_cgroup.c 2011-06-27 14:13:09 -07:00
mmzone.h
module.h
mpspec_def.h
mpspec.h
mrst-vrtc.h
mrst.h
msgbuf.h
mshyperv.h
msidef.h
msr-index.h Merge branch 'kvm-updates/3.1' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2011-07-24 09:07:03 -07:00
msr.h
mtrr.h
mutex_32.h
mutex_64.h
mutex.h
mwait.h
nmi.h
nops.h
numa_32.h
numa_64.h
numa.h
numaq.h
olpc_ofw.h
olpc.h x86, olpc-xo1-sci: Add GPE handler and ebook switch functionality 2011-07-06 14:44:38 -07:00
page_32_types.h
page_32.h
page_64_types.h
page_64.h
page_types.h
page.h
param.h
paravirt_types.h Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-tip 2011-08-12 20:46:24 -07:00
paravirt.h KVM guest: Add a pv_ops stub for steal time 2011-07-14 12:59:44 +03:00
parport.h
pat.h
pci_64.h
pci_x86.h
pci-direct.h
pci-functions.h
pci.h
percpu.h percpu: Fixup __this_cpu_xchg* operations 2011-07-12 13:47:16 +02:00
perf_event_p4.h x86, perf: P4 PMU - Fix typos in comments and style cleanup 2011-07-21 20:41:54 +02:00
perf_event.h x86: Save stack pointer in perf live regs savings 2011-07-02 18:04:03 +02:00
pgalloc.h
pgtable_32_types.h
pgtable_32.h
pgtable_64_types.h
pgtable_64.h
pgtable_types.h
pgtable-2level_types.h
pgtable-2level.h
pgtable-3level_types.h
pgtable-3level.h
pgtable.h
poll.h
posix_types_32.h
posix_types_64.h
posix_types.h
prctl.h
probe_roms.h
processor-cyrix.h
processor-flags.h KVM: Remove RDWRGSFS bit from CR4_RESERVED_BITS 2011-07-12 13:16:22 +03:00
processor.h x86 idle: move mwait_idle_with_hints() to where it is used 2011-08-03 19:06:36 -04:00
prom.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
proto.h
ptrace-abi.h
ptrace.h x86-64: Add user_64bit_mode paravirt op 2011-08-04 16:13:49 -07:00
pvclock-abi.h
pvclock.h KVM: Fix instruction size issue in pvclock scaling 2011-08-30 14:42:30 +03:00
reboot_fixups.h
reboot.h
required-features.h
resource.h
resume-trace.h
rio.h
rtc.h
rwlock.h x86: Fix write lock scalability 64-bit issue 2011-07-21 09:03:36 +02:00
rwsem.h
scatterlist.h
seccomp_32.h
seccomp_64.h
seccomp.h
sections.h
segment.h
sembuf.h
serial.h
setup_arch.h
setup.h
shmbuf.h
shmparam.h
sigcontext32.h
sigcontext.h
sigframe.h
siginfo.h
signal.h
smp.h
smpboot_hooks.h x86: Serialize SMP bootup CMOS accesses on rtc_lock 2011-07-21 09:20:59 +02:00
socket.h
sockios.h
sparsemem.h
spinlock_types.h x86: Fix write lock scalability 64-bit issue 2011-07-21 09:03:36 +02:00
spinlock.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
stackprotector.h
stacktrace.h
stat.h
statfs.h
string_32.h
string_64.h
string.h
suspend_32.h
suspend_64.h
suspend.h
svm.h
swab.h
swiotlb.h
sync_bitops.h
sys_ia32.h
syscall.h
syscalls.h
system.h
tce.h
termbits.h
termios.h
thread_info.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
time.h
timer.h
timex.h
tlb.h
tlbflush.h
topology.h
trampoline.h
traps.h x86-64: Rework vsyscall emulation and add vsyscall= parameter 2011-08-10 19:26:46 -05:00
tsc.h x86-64: Move vread_tsc and vread_hpet into the vDSO 2011-07-14 17:57:05 -07:00
types.h
uaccess_32.h
uaccess_64.h
uaccess.h x86, perf: Make copy_from_user_nmi() a library function 2011-07-21 20:41:57 +02:00
ucontext.h
unaligned.h
unistd_32.h
unistd_64.h All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
unistd.h
user32.h
user_32.h
user_64.h
user.h
vdso.h
vga.h
vgtod.h x86-64: Move vread_tsc and vread_hpet into the vDSO 2011-07-14 17:57:05 -07:00
virtext.h
vm86.h
vmx.h KVM: nVMX: vmcs12 checks on nested entry 2011-07-12 11:45:16 +03:00
vsyscall.h x86-64: Rework vsyscall emulation and add vsyscall= parameter 2011-08-10 19:26:46 -05:00
vvar.h
x2apic.h
x86_init.h
xcr.h
xor_32.h
xor_64.h
xor.h
xsave.h