Revert "Revert "arm64/mm: Limit TASK_SIZE_64 ..." and add breaks on incompatible mozjs"

This reverts commit a462c39f5d.  mozjs24
got 'fixed' in an ABI-compatible way that had to be reverted, so it's
still broken.  Same for mozjs, though it hasn't been reverted yet.

Also, Breaks relations against source package names would not have
been very effective.
This commit is contained in:
Ben Hutchings 2016-12-11 02:13:48 +00:00
parent 37912077cd
commit c7f834c8dc
4 changed files with 28 additions and 8 deletions

7
debian/changelog vendored
View File

@ -1,10 +1,3 @@
linux (4.9~rc8-1~exp2) UNRELEASED; urgency=medium
* [arm64] Revert "arm64/mm: Limit TASK_SIZE_64 ..." and add breaks on
incompatible mozjs
-- Ben Hutchings <ben@decadent.org.uk> Fri, 09 Dec 2016 12:11:34 +0000
linux (4.9~rc8-1~exp1) experimental; urgency=medium
* New upstream release candidate

View File

@ -10,7 +10,6 @@ vdso: true
[image]
install-stem: vmlinuz
breaks: mozjs (<< 1.8.5-1.0.0+dfsg-5.1~), mozjs24 (<< 24.2.0-4~)
[arm64_description]
hardware: 64-bit ARMv8 machines

View File

@ -0,0 +1,27 @@
From: Ben Hutchings <ben@decadent.org.uk>
Date: Fri, 16 Sep 2016 16:32:23 +0100
Subject: arm64/mm: Limit TASK_SIZE_64 for compatibility
Some programs assume they can use 17 tag bits in a 64-bit pointer,
which works on most other 64-bit architectures but not on arm64 with
CONFIG_ARM64_VA_BITS_48. To maintain compatibility with these
programs, limit TASK_SIZE_64 to a maximum of 1 << 47.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
--- a/arch/arm64/include/asm/memory.h
+++ b/arch/arm64/include/asm/memory.h
@@ -74,7 +74,12 @@
#define PCI_IO_END (VMEMMAP_START - SZ_2M)
#define PCI_IO_START (PCI_IO_END - PCI_IO_SIZE)
#define FIXADDR_TOP (PCI_IO_START - SZ_2M)
+#if VA_BITS <= 47
#define TASK_SIZE_64 (UL(1) << VA_BITS)
+#else
+/* User-space might use up to 17 tag bits in 64-bit pointers */
+#define TASK_SIZE_64 (UL(1) << 47)
+#endif
#ifdef CONFIG_COMPAT
#define TASK_SIZE_32 UL(0x100000000)

View File

@ -46,6 +46,7 @@ bugfix/x86/viafb-autoload-on-olpc-xo1.5-only.patch
debian/fanotify-taint-on-use-of-fanotify_access_permissions.patch
# Arch bug fixes
bugfix/arm64/arm64-mm-limit-task_size_64-for-compatibility.patch
# Arch features
features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch