From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-ia64@vger.kernel.org,
linux-s390@vger.kernel.org, x86@kernel.org, hpa@zytor.com,
mingo@redhat.com, heiko.carstens@de.ibm.com,
schwidefsky@de.ibm.com, mattst88@gmail.com,
ink@jurassic.park.msu.ru, rth@twiddle.net, tony.luck@intel.com,
fenghua.yu@intel.com, catalin.marinas@arm.com,
will.deacon@arm.com, arnd@arndb.de, akpm@linux-foundation.org
Cc: mark.rutland@arm.com, marc.zyngier@arm.com,
Ard Biesheuvel <ard.biesheuvel@linaro.org>
Subject: [PATCH 0/6] generic relative extable support
Date: Sun, 3 Jan 2016 17:05:51 +0100 [thread overview]
Message-ID: <1451837157-447-1-git-send-email-ard.biesheuvel@linaro.org> (raw)
There are currently four architectures (x86, ia64, alpha and s390) whose
user-access exception tables are relative to the table entry address rather
than absolute. Each of these architectures has its own search_extable() and
sort_extable() implementation, which are not only mostly identical to each
other, but also deviate very little from the generic absolute implementations
in lib/extable.c that they override.
So before making arm64 the fifth architecture that reimplements this, let's
refactor the existing code so that all of these architectures use common code
for searching and sorting the relative extables. Archs may set
ARCH_HAS_RELATIVE_EXTABLE to indicate that the table consists of a pair of
relative ints, and may define swap_ex_entry_fixup() if the fixup member needs
special treatment in the swapping step of the sorting routine (such as alpha).
Note that the s390 patch applies on top of the following patch:
http://article.gmane.org/gmane.linux.kernel/2117036
which fixes a bug I spotted while working on this code. Since that probably
needs to go to -stable, I broke it out and posted it separately.
Ard Biesheuvel (6):
extable: add support for relative extables to search and sort routines
alpha/extable: use generic search and sort routines
s390/extable: use generic search and sort routines
x86/extable: use generic search and sort routines
ia64/extable: use generic search and sort routines
arm64: switch to relative exception tables
arch/alpha/include/asm/uaccess.h | 10 +-
arch/alpha/mm/Makefile | 2 +-
arch/alpha/mm/extable.c | 92 -----------------
arch/arm64/include/asm/assembler.h | 2 +-
arch/arm64/include/asm/futex.h | 4 +-
arch/arm64/include/asm/uaccess.h | 18 ++--
arch/arm64/kernel/armv8_deprecated.c | 4 +-
arch/arm64/mm/extable.c | 2 +-
arch/ia64/include/asm/uaccess.h | 8 +-
arch/ia64/mm/extable.c | 97 +-----------------
arch/s390/include/asm/uaccess.h | 8 +-
arch/s390/mm/Makefile | 2 +-
arch/s390/mm/extable.c | 85 ----------------
arch/x86/include/asm/uaccess.h | 5 +-
arch/x86/mm/extable.c | 106 +-------------------
lib/extable.c | 50 +++++++--
scripts/sortextable.c | 2 +-
17 files changed, 77 insertions(+), 420 deletions(-)
delete mode 100644 arch/alpha/mm/extable.c
delete mode 100644 arch/s390/mm/extable.c
--
1.9.1
next reply other threads:[~2016-01-03 16:05 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-03 16:05 Ard Biesheuvel [this message]
2016-01-03 16:05 ` [PATCH 1/6] extable: add support for relative extables to search and sort routines Ard Biesheuvel
2016-01-04 21:05 ` Helge Deller
2016-01-03 16:05 ` [PATCH 2/6] alpha/extable: use generic " Ard Biesheuvel
2016-01-03 16:05 ` [PATCH 3/6] s390/extable: " Ard Biesheuvel
2016-01-03 16:05 ` [PATCH 4/6] x86/extable: " Ard Biesheuvel
2016-01-03 16:05 ` [PATCH 5/6] ia64/extable: " Ard Biesheuvel
2016-01-03 16:05 ` [PATCH 6/6] arm64: switch to relative exception tables Ard Biesheuvel
2016-01-04 14:46 ` Will Deacon
2016-01-04 18:13 ` H. Peter Anvin
2016-01-04 18:20 ` Luck, Tony
2016-01-04 18:47 ` H. Peter Anvin
2016-01-04 19:21 ` H. Peter Anvin
2016-01-04 19:28 ` Ard Biesheuvel
2016-01-04 19:49 ` Luck, Tony
2016-01-04 11:20 ` [PATCH 0/6] generic relative extable support Heiko Carstens
2016-01-04 18:15 ` H. Peter Anvin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1451837157-447-1-git-send-email-ard.biesheuvel@linaro.org \
--to=ard.biesheuvel@linaro.org \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=catalin.marinas@arm.com \
--cc=fenghua.yu@intel.com \
--cc=heiko.carstens@de.ibm.com \
--cc=hpa@zytor.com \
--cc=ink@jurassic.park.msu.ru \
--cc=linux-alpha@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=marc.zyngier@arm.com \
--cc=mark.rutland@arm.com \
--cc=mattst88@gmail.com \
--cc=mingo@redhat.com \
--cc=rth@twiddle.net \
--cc=schwidefsky@de.ibm.com \
--cc=tony.luck@intel.com \
--cc=will.deacon@arm.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).