x86: allow "=rm" in native_save_fl()
authorH. Peter Anvin <hpa@zytor.com>
Tue, 25 Aug 2009 23:47:16 +0000 (16:47 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Tue, 25 Aug 2009 23:47:16 +0000 (16:47 -0700)
commitab94fcf528d127fcb490175512a8910f37e5b346
tree6649ea39d0b085dbe143da9474870c46a6b78761
parente8a2eb47e6ca03d4a4f98f0beef73720c5dddc0c
x86: allow "=rm" in native_save_fl()

This is a partial revert of f1f029c7bfbf4ee1918b90a431ab823bed812504.

"=rm" is allowed in this context, because "pop" is explicitly defined
to adjust the stack pointer *before* it evaluates its effective
address, if it has one.  Thus, we do end up writing to the correct
address even if we use an on-stack memory argument.

The original reporter for f1f029c7bfbf4ee1918b90a431ab823bed812504 was
apparently using a broken x86 simulator.

[ Impact: performance ]

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: Gabe Black <spamforgabe@umich.edu>
arch/x86/include/asm/irqflags.h