exec: In setup_new_exec cache current in the local variable me
authorEric W. Biederman <ebiederm@xmission.com>
Thu, 2 Apr 2020 23:35:14 +0000 (18:35 -0500)
committerEric W. Biederman <ebiederm@xmission.com>
Thu, 7 May 2020 21:55:47 +0000 (16:55 -0500)
commit7d503feba0c88586b4c9f1212e9cc582c9370fa7
treea50b5966929127c7886af7cccb4363a8d582b2cd
parent96ecee29b0b560662ec082ee9b6f2049f2a79090
exec: In setup_new_exec cache current in the local variable me

At least gcc 8.3 when generating code for x86_64 has a hard time
consolidating multiple calls to current aka get_current(), and winds
up unnecessarily rereading %gs:current_task several times in
setup_new_exec.

Caching the value of current in the local variable of me generates
slightly better and shorter assembly.

Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Greg Ungerer <gerg@linux-m68k.org>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
fs/exec.c