x86/ioperm: Simplify first ioperm() invocation logic
authorThomas Gleixner <tglx@linutronix.de>
Tue, 12 Nov 2019 18:05:31 +0000 (19:05 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Sat, 16 Nov 2019 10:24:00 +0000 (11:24 +0100)
commitae31cea86ab31f3d2e15d6cc8710754ad7330c9e
treefcb72860e5b53f681a4a97b9470906630ab56c2f
parentb800fc4d4a2bfe4f4a52dc1955e1b4d8649e6d5f
x86/ioperm: Simplify first ioperm() invocation logic

On the first allocation of a task the I/O bitmap needs to be
allocated. After the allocation it is installed as an empty bitmap and
immediately afterwards updated.

Avoid that and just do the initial updates (store bitmap pointer, set TIF
flag and make TSS limit valid) in the update path unconditionally. If the
bitmap was already active this is redundant but harmless.

Preparatory change for later optimizations in the context switch code.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kernel/ioport.c