Update to 3.16.7-ctk2; drop patches applied upstream
svn path=/dists/sid/linux/; revision=22129
This commit is contained in:
parent
c2bcb2baef
commit
71fe02b042
|
@ -1,4 +1,4 @@
|
|||
linux (3.16.7-ckt1-1) UNRELEASED; urgency=medium
|
||||
linux (3.16.7-ckt2-1) UNRELEASED; urgency=medium
|
||||
|
||||
* New upstream stable update:
|
||||
http://kernel.ubuntu.com/stable/ChangeLog-3.16.7-ckt1
|
||||
|
@ -110,6 +110,131 @@ linux (3.16.7-ckt1-1) UNRELEASED; urgency=medium
|
|||
- fs: allow open(dir, O_TMPFILE|..., 0) with mode 0
|
||||
- [arm*] tracing/syscalls: Ignore numbers outside NR_syscalls' range
|
||||
- nfs: fix kernel warning when removing proc entry
|
||||
http://kernel.ubuntu.com/stable/ChangeLog-3.16.7-ckt2
|
||||
- rbd: Fix error recovery in rbd_obj_read_sync()
|
||||
- regulator: max77693: Fix use of uninitialized regulator config
|
||||
- xhci: no switching back on non-ULT Haswell (regression in 3.12)
|
||||
- Btrfs: fix kfree on list_head in btrfs_lookup_csums_range error cleanup
|
||||
- ocfs2: fix breakage in o2net_send_tcp_msg() (regression in 3.15)
|
||||
- [armhf] phy: omap-usb2: Enable runtime PM of omap-usb2 phy properly
|
||||
(regression in 3.16)
|
||||
- USB: cdc-acm: add quirk for control-line state requests
|
||||
(regression in 3.16)
|
||||
- sysfs: driver core: Fix glue dir race condition by gdp_mutex
|
||||
- drm/nouveau: make sure display hardware is reinitialised on runtime
|
||||
resume (regression in 3.15)
|
||||
- drm/nv50/disp: fix dpms regression on certain boards
|
||||
- drm/nouveau/bios: memset dcb struct to zero before parsing
|
||||
- GFS2: Make rename not save dirent location (regression in 3.14)
|
||||
- netfilter: ipset: off by one in ip_set_nfnl_get_byindex()
|
||||
- netfilter: nf_tables: check for NULL in nf_tables_newchain pcpu stats
|
||||
allocation (regression in 3.16)
|
||||
- netfilter: nfnetlink_log: fix maximum packet length logged to userspace
|
||||
- netfilter: nft_compat: fix wrong target lookup in nft_target_select_ops()
|
||||
- mmc: core: sdio: Fix unconditional wake_up_process() on sdio thread
|
||||
(regression in 3.16)
|
||||
- mmc: don't request CD IRQ until mmc_start_host()
|
||||
- fs: make cont_expand_zero interruptible
|
||||
- UBIFS: fix a race condition
|
||||
- [x86] fpu: __restore_xstate_sig()->math_state_restore() needs
|
||||
preempt_disable()
|
||||
- [x86] fpu: shift drop_init_fpu() from save_xstate_sig() to
|
||||
handle_signal()
|
||||
- perf: Fix unclone_ctx() vs. locking
|
||||
- evm: properly handle INTEGRITY_NOXATTRS EVM status
|
||||
- [alpha] vfs: missing data dependency barrier in prepend_name()
|
||||
- jffs2: kill wbuf_queued/wbuf_dwork_lock
|
||||
- fix misuses of f_count() in ppp and netlink
|
||||
- sched: Use dl_bw_of() under RCU read lock
|
||||
- [s390*] topology: call set_sched_topology early
|
||||
- [armhf] mfd: ti_am335x_tscadc: Fix TSC operation after ADC continouous
|
||||
mode (regression in 3.14)
|
||||
- [armhf] mfd: ti_am335x_tscadc: Fix TSC resume (regression in 3.14)
|
||||
- selinux: fix inode security list corruption
|
||||
- blk-mq: fix potential hang if rolling wakeup depth is too high
|
||||
(regression in 3.16)
|
||||
- block: fix alignment_offset math that assumes io_min is a power-of-2
|
||||
- drm/nouveau/gpio: rename g92 class to g94 (regression in 3.16)
|
||||
- [x86] drm/i915: Do not leak pages when freeing userptr objects
|
||||
- media: v4l2-common: fix overflow in v4l_bound_align_image()
|
||||
- sched: Use rq->rd in sched_setaffinity() under RCU read lock
|
||||
- [powerpc*] use device_online/offline() instead of cpu_up/down()
|
||||
(regression in 3.11)
|
||||
- xen-blkback: fix leak on grant map error path
|
||||
- net: skb_fclone_busy() needs to detect orphaned skb (regression in 3.16)
|
||||
- rbd: avoid format-security warning inside alloc_workqueue()
|
||||
- rbd: fix error return code in rbd_dev_device_setup()
|
||||
- media: ttusb-dec: buffer overflow in ioctl (CVE-2014-8884)
|
||||
- dm raid: ensure superblock's size matches device's logical block size
|
||||
- ahci: disable MSI instead of NCQ on Samsung pci-e SSDs on macbooks
|
||||
(Closes: #772435)
|
||||
- mac80211: properly flush delayed scan work on interface removal
|
||||
- [i386] microcode, AMD: Fix early ucode loading on 32-bit
|
||||
(regression in 3.14)
|
||||
- [armhf] mvebu: armada xp: Generalize use of i2c quirk
|
||||
(regression in 3.12)
|
||||
- mac80211: fix use-after-free in defragmentation
|
||||
- iwlwifi: fix RFkill while calibrating (regression in 3.16)
|
||||
- tun: Fix csum_start with VLAN acceleration (regression in 3.12)
|
||||
- macvtap: Fix csum_start when VLAN tags are present
|
||||
- dm thin: grab a virtual cell before looking up the mapping
|
||||
- [x86] KVM: Fix uninitialized op->type for some immediate values
|
||||
- [powerpc*] hwrng: pseries - port to new read API and fix stack corruption
|
||||
- drm/radeon: set correct CE ram size for CIK
|
||||
- drm/radeon: make sure mode init is complete in bandwidth_update
|
||||
- cpufreq: Avoid crash in resume on SMP without OPP (regresion in 3.12)
|
||||
- [i386] microcode, AMD: Fix ucode patch stashing on 32-bit
|
||||
(regression in 3.14)
|
||||
- [armhf] mfd: twl4030-power: Fix poweroff with PM configuration enabled
|
||||
(regression in 3.16)
|
||||
- [hppa] Use compat layer for msgctl, shmat, shmctl and semtimedop syscalls
|
||||
- tracing: Do not busy wait in buffer splice (regresion in 3.16)
|
||||
- param: fix crash on bad kernel arguments (regression in 3.16)
|
||||
- audit: keep inode pinned
|
||||
- drm/radeon: add locking around atombios scratch space usage
|
||||
- nfs: fix pnfs direct write memory leak
|
||||
- nfs: Fix use of uninitialized variable in nfs_getattr()
|
||||
- NFSv4: Ensure that we remove NFSv4.0 delegations when state has expired
|
||||
- NFSv4.1: nfs41_clear_delegation_stateid shouldn't trust
|
||||
NFS_DELEGATED_STATE
|
||||
- NFSv4: Fix races between nfs_remove_bad_delegation() and delegation
|
||||
return
|
||||
- NFSv4: Ensure that we call FREE_STATEID when NFSv4.x stateids are revoked
|
||||
- NFS: Don't try to reclaim delegation open state if recovery failed
|
||||
- [arm64] efi: Fix stub cache maintenance
|
||||
- [arm64] __clear_user: handle exceptions on strb
|
||||
- [arm64] Correct the race condition in aarch64_insn_patch_text_sync()
|
||||
- Fix thinko in iov_iter_single_seg_count
|
||||
- libceph: do not crash on large auth tickets
|
||||
- [armel,armhf] 8191/1: decompressor: ensure I-side picks up relocated code
|
||||
- zram: avoid kunmap_atomic() of a NULL pointer
|
||||
- firewire: cdev: prevent kernel stack leaking into ioctl arguments
|
||||
- md: Always set RECOVERY_NEEDED when clearing RECOVERY_FROZEN
|
||||
(regression in 3.13)
|
||||
- vxlan: Do not reuse sockets for a different address family
|
||||
- net: sctp: fix NULL pointer dereference in af->from_addr_param on
|
||||
malformed packet
|
||||
- net: sctp: fix memory leak in auth key management
|
||||
- [armel,m68k] ipv6: fix IPV6_PKTINFO with v4 mapped (regression in 3.15)
|
||||
- netlink: Properly unbind in error conditions. (regression in 3.16)
|
||||
- smsc911x: power-up phydev before doing a software reset.
|
||||
(regression in 3.14)
|
||||
- [sparc*] sunvdc: limit each sg segment to a page
|
||||
- [sparc*] vio: fix reuse of vio_dring slot
|
||||
- drm/radeon: initialize sadb to NULL in the audio code
|
||||
- [x86] KVM: Don't report guest userspace emulation error to userspace
|
||||
- crypto: caam - remove duplicated sg copy functions
|
||||
- audit: correct AUDIT_GET_FEATURE return message type
|
||||
- memory-hotplug: Remove "weak" from memory_block_size_bytes() declaration
|
||||
(regression in 3.14)
|
||||
- [s390*] vmcore: Remove "weak" from function declarations
|
||||
- [s390*] clocksource: Remove "weak" from clocksource_default_clock()
|
||||
declaration
|
||||
- IB/core: Clear AH attr variable to prevent garbage data
|
||||
- [amd64] x32, audit: Fix x32's AUDIT_ARCH wrt audit
|
||||
- [armhf] dts: am335x-evm: Fix 5th NAND partition's name
|
||||
(regression in 3.15)
|
||||
- dell-wmi: Fix access out of memory
|
||||
|
||||
[ Ben Hutchings ]
|
||||
* [x86] Complete Thunderbolt support on Apple computers (Closes: #768653)
|
||||
|
@ -133,8 +258,6 @@ linux (3.16.7-ckt1-1) UNRELEASED; urgency=medium
|
|||
* [device-tree] Reserve memreserve regions even if they partially overlap
|
||||
with an existing reservation. Fixes boot on Midway.
|
||||
* [arm64] Enable reboot on the Xgene platform.
|
||||
* [armhf] Fixup cache maintenance during boot time relocation. Fixes boot on
|
||||
various platforms.
|
||||
|
||||
-- Ben Hutchings <ben@decadent.org.uk> Sun, 09 Nov 2014 10:13:09 +0000
|
||||
|
||||
|
|
|
@ -1,52 +0,0 @@
|
|||
From: Benjamin Coddington <bcodding@redhat.com>
|
||||
Date: Tue, 23 Sep 2014 12:26:19 -0400
|
||||
Subject: [1/2] SUNRPC: Don't wake tasks during connection abort
|
||||
Origin: https://git.kernel.org/linus/a743419f420a64d442280845c0377a915b76644f
|
||||
Bug-Debian: https://bugs.debian.org/767219
|
||||
|
||||
When aborting a connection to preserve source ports, don't wake the task in
|
||||
xs_error_report. This allows tasks with RPC_TASK_SOFTCONN to succeed if the
|
||||
connection needs to be re-established since it preserves the task's status
|
||||
instead of setting it to the status of the aborting kernel_connect().
|
||||
|
||||
This may also avoid a potential conflict on the socket's lock.
|
||||
|
||||
Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
|
||||
Cc: stable@vger.kernel.org # 3.14+
|
||||
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
|
||||
---
|
||||
include/linux/sunrpc/xprt.h | 1 +
|
||||
net/sunrpc/xprtsock.c | 4 ++++
|
||||
2 files changed, 5 insertions(+)
|
||||
|
||||
--- a/include/linux/sunrpc/xprt.h
|
||||
+++ b/include/linux/sunrpc/xprt.h
|
||||
@@ -357,6 +357,7 @@ int xs_swapper(struct rpc_xprt *xprt,
|
||||
#define XPRT_CONNECTION_ABORT (7)
|
||||
#define XPRT_CONNECTION_CLOSE (8)
|
||||
#define XPRT_CONGESTED (9)
|
||||
+#define XPRT_CONNECTION_REUSE (10)
|
||||
|
||||
static inline void xprt_set_connected(struct rpc_xprt *xprt)
|
||||
{
|
||||
--- a/net/sunrpc/xprtsock.c
|
||||
+++ b/net/sunrpc/xprtsock.c
|
||||
@@ -842,6 +842,8 @@ static void xs_error_report(struct sock
|
||||
dprintk("RPC: xs_error_report client %p, error=%d...\n",
|
||||
xprt, -err);
|
||||
trace_rpc_socket_error(xprt, sk->sk_socket, err);
|
||||
+ if (test_bit(XPRT_CONNECTION_REUSE, &xprt->state))
|
||||
+ goto out;
|
||||
xprt_wake_pending_tasks(xprt, err);
|
||||
out:
|
||||
read_unlock_bh(&sk->sk_callback_lock);
|
||||
@@ -2241,7 +2243,9 @@ static void xs_tcp_setup_socket(struct w
|
||||
abort_and_exit = test_and_clear_bit(XPRT_CONNECTION_ABORT,
|
||||
&xprt->state);
|
||||
/* "close" the socket, preserving the local port */
|
||||
+ set_bit(XPRT_CONNECTION_REUSE, &xprt->state);
|
||||
xs_tcp_reuse_connection(transport);
|
||||
+ clear_bit(XPRT_CONNECTION_REUSE, &xprt->state);
|
||||
|
||||
if (abort_and_exit)
|
||||
goto out_eagain;
|
|
@ -1,34 +0,0 @@
|
|||
From: Benjamin Coddington <bcodding@redhat.com>
|
||||
Date: Tue, 23 Sep 2014 12:26:20 -0400
|
||||
Subject: [2/2] lockd: Try to reconnect if statd has moved
|
||||
Origin: https://git.kernel.org/linus/173b3afceebe76fa2205b2c8808682d5b541fe3c
|
||||
Bug-Debian: https://bugs.debian.org/767219
|
||||
|
||||
If rpc.statd is restarted, upcalls to monitor hosts can fail with
|
||||
ECONNREFUSED. In that case force a lookup of statd's new port and retry the
|
||||
upcall.
|
||||
|
||||
Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
|
||||
---
|
||||
fs/lockd/mon.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/fs/lockd/mon.c b/fs/lockd/mon.c
|
||||
index daa8e75..9106f42 100644
|
||||
--- a/fs/lockd/mon.c
|
||||
+++ b/fs/lockd/mon.c
|
||||
@@ -159,6 +159,12 @@ static int nsm_mon_unmon(struct nsm_handle *nsm, u32 proc, struct nsm_res *res,
|
||||
|
||||
msg.rpc_proc = &clnt->cl_procinfo[proc];
|
||||
status = rpc_call_sync(clnt, &msg, RPC_TASK_SOFTCONN);
|
||||
+ if (status == -ECONNREFUSED) {
|
||||
+ dprintk("lockd: NSM upcall RPC failed, status=%d, forcing rebind\n",
|
||||
+ status);
|
||||
+ rpc_force_rebind(clnt);
|
||||
+ status = rpc_call_sync(clnt, &msg, RPC_TASK_SOFTCONN);
|
||||
+ }
|
||||
if (status < 0)
|
||||
dprintk("lockd: NSM upcall RPC failed, status=%d\n",
|
||||
status);
|
|
@ -1,75 +0,0 @@
|
|||
From 2c2a9cbd64387d6b70ac5db013e9bfe9412c7354 Mon Sep 17 00:00:00 2001
|
||||
From: Karl Beldan <karl.beldan@rivierawaves.com>
|
||||
Date: Wed, 5 Nov 2014 15:32:59 +0100
|
||||
Subject: [PATCH] net: mv643xx_eth: reclaim TX skbs only when released by the
|
||||
HW
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=2c2a9cbd64387d6b70ac5db013e9bfe9412c7354
|
||||
|
||||
ATM, txq_reclaim will dequeue and free an skb for each tx desc released
|
||||
by the hw that has TX_LAST_DESC set. However, in case of TSO, each
|
||||
hw desc embedding the last part of a segment has TX_LAST_DESC set,
|
||||
losing the one-to-one 'last skb frag'/'TX_LAST_DESC set' correspondance,
|
||||
which causes data corruption.
|
||||
|
||||
Fix this by checking TX_ENABLE_INTERRUPT instead of TX_LAST_DESC, and
|
||||
warn when trying to dequeue from an empty txq (which can be symptomatic
|
||||
of releasing skbs prematurely).
|
||||
|
||||
Fixes: 3ae8f4e0b98 ('net: mv643xx_eth: Implement software TSO')
|
||||
Reported-by: Slawomir Gajzner <slawomir.gajzner@gmail.com>
|
||||
Reported-by: Julien D'Ascenzio <jdascenzio@yahoo.fr>
|
||||
Signed-off-by: Karl Beldan <karl.beldan@rivierawaves.com>
|
||||
Cc: Ian Campbell <ijc@hellion.org.uk>
|
||||
Cc: Eric Dumazet <eric.dumazet@gmail.com>
|
||||
Cc: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
|
||||
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/ethernet/marvell/mv643xx_eth.c | 18 ++++++++++--------
|
||||
1 file changed, 10 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/ethernet/marvell/mv643xx_eth.c b/drivers/net/ethernet/marvell/mv643xx_eth.c
|
||||
index b151a94..d44560d 100644
|
||||
--- a/drivers/net/ethernet/marvell/mv643xx_eth.c
|
||||
+++ b/drivers/net/ethernet/marvell/mv643xx_eth.c
|
||||
@@ -1047,7 +1047,6 @@ static int txq_reclaim(struct tx_queue *txq, int budget, int force)
|
||||
int tx_index;
|
||||
struct tx_desc *desc;
|
||||
u32 cmd_sts;
|
||||
- struct sk_buff *skb;
|
||||
|
||||
tx_index = txq->tx_used_desc;
|
||||
desc = &txq->tx_desc_area[tx_index];
|
||||
@@ -1066,19 +1065,22 @@ static int txq_reclaim(struct tx_queue *txq, int budget, int force)
|
||||
reclaimed++;
|
||||
txq->tx_desc_count--;
|
||||
|
||||
- skb = NULL;
|
||||
- if (cmd_sts & TX_LAST_DESC)
|
||||
- skb = __skb_dequeue(&txq->tx_skb);
|
||||
+ if (!IS_TSO_HEADER(txq, desc->buf_ptr))
|
||||
+ dma_unmap_single(mp->dev->dev.parent, desc->buf_ptr,
|
||||
+ desc->byte_cnt, DMA_TO_DEVICE);
|
||||
+
|
||||
+ if (cmd_sts & TX_ENABLE_INTERRUPT) {
|
||||
+ struct sk_buff *skb = __skb_dequeue(&txq->tx_skb);
|
||||
+
|
||||
+ if (!WARN_ON(!skb))
|
||||
+ dev_kfree_skb(skb);
|
||||
+ }
|
||||
|
||||
if (cmd_sts & ERROR_SUMMARY) {
|
||||
netdev_info(mp->dev, "tx error\n");
|
||||
mp->dev->stats.tx_errors++;
|
||||
}
|
||||
|
||||
- if (!IS_TSO_HEADER(txq, desc->buf_ptr))
|
||||
- dma_unmap_single(mp->dev->dev.parent, desc->buf_ptr,
|
||||
- desc->byte_cnt, DMA_TO_DEVICE);
|
||||
- dev_kfree_skb(skb);
|
||||
}
|
||||
|
||||
__netif_tx_unlock_bh(nq);
|
||||
--
|
||||
1.7.10.4
|
||||
|
|
@ -1,112 +0,0 @@
|
|||
From 238962ac71910d6c20162ea5230685fead1836a4 Mon Sep 17 00:00:00 2001
|
||||
From: Will Deacon <will.deacon@arm.com>
|
||||
Date: Tue, 4 Nov 2014 11:40:46 +0100
|
||||
Subject: [PATCH] ARM: 8191/1: decompressor: ensure I-side picks up relocated
|
||||
code
|
||||
Origin: https://git.kernel.org/linus/238962ac71910d6c20162ea5230685fead1836a4
|
||||
|
||||
To speed up decompression, the decompressor sets up a flat, cacheable
|
||||
mapping of memory. However, when there is insufficient space to hold
|
||||
the page tables for this mapping, we don't bother to enable the caches
|
||||
and subsequently skip all the cache maintenance hooks.
|
||||
|
||||
Skipping the cache maintenance before jumping to the relocated code
|
||||
allows the processor to predict the branch and populate the I-cache
|
||||
with stale data before the relocation loop has completed (since a
|
||||
bootloader may have SCTLR.I set, which permits normal, cacheable
|
||||
instruction fetches regardless of SCTLR.M).
|
||||
|
||||
This patch moves the cache maintenance check into the maintenance
|
||||
routines themselves, allowing the v6/v7 versions to invalidate the
|
||||
I-cache regardless of the MMU state.
|
||||
|
||||
Cc: <stable@vger.kernel.org>
|
||||
Reported-by: Marc Carino <marc.ceeeee@gmail.com>
|
||||
Tested-by: Julien Grall <julien.grall@linaro.org>
|
||||
Signed-off-by: Will Deacon <will.deacon@arm.com>
|
||||
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
||||
---
|
||||
arch/arm/boot/compressed/head.S | 20 ++++++++++++++++----
|
||||
1 file changed, 16 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
|
||||
index 413fd94..68be901 100644
|
||||
--- a/arch/arm/boot/compressed/head.S
|
||||
+++ b/arch/arm/boot/compressed/head.S
|
||||
@@ -397,8 +397,7 @@ dtb_check_done:
|
||||
add sp, sp, r6
|
||||
#endif
|
||||
|
||||
- tst r4, #1
|
||||
- bleq cache_clean_flush
|
||||
+ bl cache_clean_flush
|
||||
|
||||
adr r0, BSYM(restart)
|
||||
add r0, r0, r6
|
||||
@@ -1047,6 +1046,8 @@ cache_clean_flush:
|
||||
b call_cache_fn
|
||||
|
||||
__armv4_mpu_cache_flush:
|
||||
+ tst r4, #1
|
||||
+ movne pc, lr
|
||||
mov r2, #1
|
||||
mov r3, #0
|
||||
mcr p15, 0, ip, c7, c6, 0 @ invalidate D cache
|
||||
@@ -1064,6 +1065,8 @@ __armv4_mpu_cache_flush:
|
||||
mov pc, lr
|
||||
|
||||
__fa526_cache_flush:
|
||||
+ tst r4, #1
|
||||
+ movne pc, lr
|
||||
mov r1, #0
|
||||
mcr p15, 0, r1, c7, c14, 0 @ clean and invalidate D cache
|
||||
mcr p15, 0, r1, c7, c5, 0 @ flush I cache
|
||||
@@ -1072,13 +1075,16 @@ __fa526_cache_flush:
|
||||
|
||||
__armv6_mmu_cache_flush:
|
||||
mov r1, #0
|
||||
- mcr p15, 0, r1, c7, c14, 0 @ clean+invalidate D
|
||||
+ tst r4, #1
|
||||
+ mcreq p15, 0, r1, c7, c14, 0 @ clean+invalidate D
|
||||
mcr p15, 0, r1, c7, c5, 0 @ invalidate I+BTB
|
||||
- mcr p15, 0, r1, c7, c15, 0 @ clean+invalidate unified
|
||||
+ mcreq p15, 0, r1, c7, c15, 0 @ clean+invalidate unified
|
||||
mcr p15, 0, r1, c7, c10, 4 @ drain WB
|
||||
mov pc, lr
|
||||
|
||||
__armv7_mmu_cache_flush:
|
||||
+ tst r4, #1
|
||||
+ bne iflush
|
||||
mrc p15, 0, r10, c0, c1, 5 @ read ID_MMFR1
|
||||
tst r10, #0xf << 16 @ hierarchical cache (ARMv7)
|
||||
mov r10, #0
|
||||
@@ -1139,6 +1145,8 @@ iflush:
|
||||
mov pc, lr
|
||||
|
||||
__armv5tej_mmu_cache_flush:
|
||||
+ tst r4, #1
|
||||
+ movne pc, lr
|
||||
1: mrc p15, 0, r15, c7, c14, 3 @ test,clean,invalidate D cache
|
||||
bne 1b
|
||||
mcr p15, 0, r0, c7, c5, 0 @ flush I cache
|
||||
@@ -1146,6 +1154,8 @@ __armv5tej_mmu_cache_flush:
|
||||
mov pc, lr
|
||||
|
||||
__armv4_mmu_cache_flush:
|
||||
+ tst r4, #1
|
||||
+ movne pc, lr
|
||||
mov r2, #64*1024 @ default: 32K dcache size (*2)
|
||||
mov r11, #32 @ default: 32 byte line size
|
||||
mrc p15, 0, r3, c0, c0, 1 @ read cache type
|
||||
@@ -1179,6 +1189,8 @@ no_cache_id:
|
||||
|
||||
__armv3_mmu_cache_flush:
|
||||
__armv3_mpu_cache_flush:
|
||||
+ tst r4, #1
|
||||
+ movne pc, lr
|
||||
mov r1, #0
|
||||
mcr p15, 0, r1, c7, c0, 0 @ invalidate whole cache v3
|
||||
mov pc, lr
|
||||
--
|
||||
2.1.3
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Sat, 26 Jul 2014 15:03:11 +0100
|
||||
Subject: x86: Reject x32 executables if x32 ABI not supported
|
||||
Forwarded: http://mid.gmane.org/1406431195.29010.154.camel@deadeye.wl.decadent.org.uk
|
||||
|
||||
It is currently possible to execve() an x32 executable on an x86_64
|
||||
kernel that has only ia32 compat enabled. However all its syscalls
|
||||
will fail, even _exit(). This usually causes it to segfault.
|
||||
|
||||
Change the ELF compat architecture check so that x32 executables are
|
||||
rejected if we don't support the x32 ABI.
|
||||
|
||||
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||
---
|
||||
arch/x86/include/asm/elf.h | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/arch/x86/include/asm/elf.h
|
||||
+++ b/arch/x86/include/asm/elf.h
|
||||
@@ -155,8 +155,9 @@ do { \
|
||||
#define elf_check_arch(x) \
|
||||
((x)->e_machine == EM_X86_64)
|
||||
|
||||
-#define compat_elf_check_arch(x) \
|
||||
- (elf_check_arch_ia32(x) || (x)->e_machine == EM_X86_64)
|
||||
+#define compat_elf_check_arch(x) \
|
||||
+ (elf_check_arch_ia32(x) || \
|
||||
+ (IS_ENABLED(CONFIG_X86_X32_ABI) && (x)->e_machine == EM_X86_64))
|
||||
|
||||
#if __USER32_DS != __USER_DS
|
||||
# error "The following code assumes __USER32_DS == __USER_DS"
|
|
@ -51,7 +51,6 @@ bugfix/arm/omap-musb-choice.patch
|
|||
bugfix/mips/disable-advansys.patch
|
||||
bugfix/arm/ixp4xx_iobe.patch
|
||||
bugfix/m68k/ethernat-kconfig.patch
|
||||
bugfix/x86/x86-reject-x32-executables-if-x32-abi-not-supported.patch
|
||||
bugfix/s390/s390-3215-fix-hanging-console-issue.patch
|
||||
bugfix/arm64/arm64-crypto-fix-makefile-rule-for-aes-glue-.o.patch
|
||||
bugfix/s390/s390-3215-fix-tty-output-containing-tabs.patch
|
||||
|
@ -60,7 +59,6 @@ bugfix/x86/drm-i915-Add-some-L3-registers-to-the-parser-whiteli.patch
|
|||
bugfix/parisc/parisc-reduce-sigrtmin-from-37-to-32-to-behave-like-.patch
|
||||
bugfix/arm64/arm64-add-missing-dts-entry-for-X-Gene-platform.patch
|
||||
bugfix/arm64/arm64-removed-using-of-the-mask-attribute-in-the-dts.patch
|
||||
bugfix/arm/decompressor-ensure-I-side-picks-up-reloc.patch
|
||||
|
||||
# Arch features
|
||||
features/mips/MIPS-Support-hard-limit-of-cpu-count-nr_cpu_ids.patch
|
||||
|
@ -135,12 +133,9 @@ bugfix/all/aic94xx-remove-broken-fallback-for-missing-ctrl-a.patch
|
|||
bugfix/all/fold-swapping-d_name.hash-into-switch_names.patch
|
||||
bugfix/all/vfs-Don-t-exchange-short-filenames-unconditionally.patch
|
||||
bugfix/all/rtsx_usb_ms-use-msleep_interruptible-in-polling-loop.patch
|
||||
bugfix/all/SUNRPC-Don-t-wake-tasks-during-connection-abort.patch
|
||||
bugfix/all/lockd-Try-to-reconnect-if-statd-has-moved.patch
|
||||
bugfix/all/HID-i2c-hid-call-the-hid-driver-s-suspend-and-resume.patch
|
||||
bugfix/all/drivers-net-Disable-UFO-through-virtio.patch
|
||||
bugfix/all/drivers-net-ipv6-Select-IPv6-fragment-idents-for-vir.patch
|
||||
bugfix/all/net-mv643xx_eth-reclaim-TX-skbs-only-when-released-b.patch
|
||||
bugfix/all/xen-netback-Adding-debugfs-io_ring_qX-files.patch
|
||||
bugfix/all/xen-netback-Using-a-new-state-bit-instead-of-carrier.patch
|
||||
bugfix/all/xen-netback-Turn-off-the-carrier-if-the-guest-is-not.patch
|
||||
|
|
Loading…
Reference in New Issue