Update to 3.12.7

Drop one patch that went upstream and refresh the aufs and rt patches.

Work around or ignore various ABI changes as appropriate (not yet
tested whether this covers everything).

svn path=/dists/sid/linux/; revision=20974
This commit is contained in:
Ben Hutchings 2014-01-15 02:20:15 +00:00
parent 2a4321bb7f
commit 0cbb2e9789
9 changed files with 186 additions and 52 deletions

69
debian/changelog vendored
View File

@ -1,4 +1,70 @@
linux (3.12.6-3) UNRELEASED; urgency=low
linux (3.12.7-1) UNRELEASED; urgency=low
* New upstream stable update:
http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.12.7
- [powerpc] kvm: fix rare but potential deadlock scene
- [m68k] TTY: pmac_zilog, check existence of ports in pmz_console_init()
- xhci: Limit the spurious wakeup fix only to HP machines (fixes
regression in 3.12)
- usb: chipidea: host: Only disable the vbus regulator if it is not NULL
(fixes regression in 3.12)
- aio: fix kioctx leak introduced by "aio: Fix a trinity splat"
- iser-target: Move INIT_WORK setup into isert_create_device_ib_res
- [x86] idle: Repair large-server 50-watt idle-power regression
(fixes regression in 3.10)
- ext4: call ext4_error_inode() if jbd2_journal_dirty_metadata() fails
- ext4: fix use-after-free in ext4_mb_new_blocks
- ext4: fix del_timer() misuse for ->s_err_report
- ext4: add explicit casts when masking cluster sizes
- ext4: fix bigalloc regression
- sched/rt: Fix rq's cpupri leak while enqueue/dequeue child RT entities
- net_dma: mark broken (fixes potential data loss)
- drm/i915: Take modeset locks around intel_modeset_setup_hw_state()
- drm/i915: Hold mutex across i915_gem_release
- drm/i915: Fix use-after-free in do_switch
- drm/i915: don't update the dri1 breadcrumb with modesetting
- drm/i915: Fix erroneous dereference of batch_obj inside reset_status
- ceph: Avoid data inconsistency due to d-cache aliasing in readpage()
- tg3: Expand 4g_overflow_test workaround to skb fragments of any size.
- cgroup: fix cgroup_create() error handling path
- [powerpc] auxvec.h: account for AT_HWCAP2 in AT_VECTOR_SIZE_BASE
- ath9k_htc: properly set MAC address and BSSID mask (CVE-2013-4579)
(Closes: #729573)
- KVM: nVMX: Unconditionally uninit the MMU on nested vmexit
- [x86] KVM: Fix APIC map calculation after re-enabling
- [powerpc] Fix bad stack check in exception entry
- libata: implement ATA_HORKAGE_NO_NCQ_TRIM and apply it to Micro M500 SSDs
(fixes potential data loss)
- radiotap: fix bitmap-end-finding buffer overrun
- mm: numa: serialise parallel get_user_page against THP migration
- mm: numa: call MMU notifiers on THP migration
- mm: clear pmd_numa before invalidating
- mm: numa: do not clear PTE for pte_numa update
- mm: numa: ensure anon_vma is locked to prevent parallel THP splits
- sched: numa: skip inaccessible VMAs
- mm: numa: clear numa hinting information on mprotect
- mm: fix TLB flush race between migration, and change_protection_range
- mm: numa: guarantee that tlb_flush_pending updates are visible before
page table updates
- mm/mempolicy: correct putback method for isolate pages if failed
- mm/compaction: respect ignore_skip_hint in update_pageblock_skip
- mm/hugetlb: check for pte NULL pointer in __page_check_address()
- mm: munlock: fix a bug where THP tail page is encountered
- mm: munlock: fix deadlock in __munlock_pagevec()
- mm: fix use-after-free in sys_remap_file_pages
- Input: allocate absinfo data when setting ABS capability
- GFS2: Fix use-after-free race when calling gfs2_remove_from_ail
- GFS2: Fix slab memory leak in gfs2_bufdata
- GFS2: Fix incorrect invalidation for DIO/buffered I/O
- [s390] 3270: fix allocation of tty3270_screen structure
- [sh] always link in helper functions extracted from libgcc
- selinux: look for IPsec labels on both inbound and outbound packets
- selinux: process labeled IPsec TCP SYN-ACK packets properly in
selinux_ip_postroute()
- aio: clean up and fix aio_setup_ring page mapping
- aio/migratepages: make aio migrate pages sane
- ACPIPHP / radeon / nouveau: Fix VGA switcheroo problem related to hotplug
(regression in 3.12)
[ Ben Hutchings ]
* [hppa] Update configuration, thanks to Helge Deller (Closes: #733895)
@ -22,6 +88,7 @@ linux (3.12.6-3) UNRELEASED; urgency=low
CRYPTO_AES_SPARC64, CRYPTO_CAMELLIA_SPARC64, CRYPTO_DES_SPARC64,
CRYPTO_DEV_NIAGARA2 as modules
- [x86] Enable CRYPTO_CRC32_PCLMUL as module
* [powerpc] Remove AT_HWCAP2 from auxv to avoid module ABI change
-- Ben Hutchings <ben@decadent.org.uk> Thu, 02 Jan 2014 01:26:59 +0000

View File

@ -1,5 +1,8 @@
[abi]
abiname: 1
ignore-changes:
# Assuming OOT modules don't use the target framework
module:drivers/target/*
[base]
arches:

View File

@ -1,42 +0,0 @@
From 10becdb402af4fd4808a0491a726b96128c41076 Mon Sep 17 00:00:00 2001
From: Marek Vasut <marex@denx.de>
Date: Mon, 25 Nov 2013 09:47:00 +0100
Subject: [PATCH] ahci: imx: Explicitly clear IMX6Q_GPR13_SATA_MPLL_CLK_EN
We must clear this IMX6Q_GPR13_SATA_MPLL_CLK_EN bit on i.MX6Q, otherwise
Linux will fail to find the attached drive on some boards.
This entire fix was:
Reported-by: Eric Nelson <eric.nelson@boundarydevices.com>
Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Shawn Guo <shawn.guo@linaro.org>
Cc: Richard Zhu <r65037@freescale.com>
Cc: Linux-IDE <linux-ide@vger.kernel.org>
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: stable@vger.kernel.org
---
drivers/ata/ahci_imx.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Index: linux/drivers/ata/ahci_imx.c
===================================================================
--- linux.orig/drivers/ata/ahci_imx.c 2013-11-29 19:28:26.000000000 +0000
+++ linux/drivers/ata/ahci_imx.c 2013-12-03 19:42:59.693982150 +0000
@@ -60,7 +60,7 @@
/*
* set PHY Paremeters, two steps to configure the GPR13,
* one write for rest of parameters, mask of first write
- * is 0x07fffffd, and the other one write for setting
+ * is 0x07ffffff, and the other one write for setting
* the mpll_clk_en.
*/
regmap_update_bits(imxpriv->gpr, 0x34, IMX6Q_GPR13_SATA_RX_EQ_VAL_MASK
@@ -71,6 +71,7 @@
| IMX6Q_GPR13_SATA_TX_ATTEN_MASK
| IMX6Q_GPR13_SATA_TX_BOOST_MASK
| IMX6Q_GPR13_SATA_TX_LVL_MASK
+ | IMX6Q_GPR13_SATA_MPLL_CLK_EN
| IMX6Q_GPR13_SATA_TX_EDGE_RATE
, IMX6Q_GPR13_SATA_RX_EQ_VAL_3_0_DB
| IMX6Q_GPR13_SATA_RX_LOS_LVL_SATA2M

View File

@ -0,0 +1,22 @@
From: Ben Hutchings <ben@decadent.org.uk>
Date: Wed, 15 Jan 2014 02:01:08 +0000
Subject: ACPI: Avoid ABI change in 3.12.7
Forwarded: not-needed
Hide the new no_hotplug flag from genksyms.
--- a/include/acpi/acpi_bus.h
+++ b/include/acpi/acpi_bus.h
@@ -169,8 +169,12 @@ struct acpi_device_flags {
u32 ejectable:1;
u32 power_manageable:1;
u32 match_driver:1;
+#ifdef __GENKSYMS__
+ u32 reserved:27;
+#else
u32 no_hotplug:1;
u32 reserved:26;
+#endif
};
/* File System */

View File

@ -0,0 +1,30 @@
From: Ben Hutchings <ben@decadent.org.uk>
Date: Wed, 15 Jan 2014 02:09:13 +0000
Subject: mm: Avoid ABI change in 3.12.7
Forwarded: not-needed
Move the added member mm_struct::tlb_flush_pending to the end of
the structure and hide it from genksyms.
The structure is always allocated in the core kernel.
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -437,6 +437,8 @@ struct mm_struct {
*/
int first_nid;
#endif
+ struct uprobes_state uprobes_state;
+#ifndef __GENKSYMS__
#if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
/*
* An operation with batched TLB flushing is going on. Anything that
@@ -445,7 +447,7 @@ struct mm_struct {
*/
bool tlb_flush_pending;
#endif
- struct uprobes_state uprobes_state;
+#endif
};
/* first nid will either be a valid NID or one of these values */

View File

@ -0,0 +1,45 @@
From: Ben Hutchings <ben@decadent.org.uk>
Date: Tue, 14 Jan 2014 06:16:18 +0000
Subject: Remove AT_HWCAP2 from auxv
Forwarded: not-needed
This reverts commit e944554fc821898a9b76dcb9081e5ff21574a00b and
most of commit 2171364d1a92d0a101b455315de7a92efb566008.
The former was needed to fix the latter, but causes an ABI change.
Only powerpc currently uses AT_HWCAP2.
--- a/fs/binfmt_elf.c
+++ b/fs/binfmt_elf.c
@@ -240,9 +240,6 @@ create_elf_tables(struct linux_binprm *b
NEW_AUX_ENT(AT_EGID, from_kgid_munged(cred->user_ns, cred->egid));
NEW_AUX_ENT(AT_SECURE, security_bprm_secureexec(bprm));
NEW_AUX_ENT(AT_RANDOM, (elf_addr_t)(unsigned long)u_rand_bytes);
-#ifdef ELF_HWCAP2
- NEW_AUX_ENT(AT_HWCAP2, ELF_HWCAP2);
-#endif
NEW_AUX_ENT(AT_EXECFN, bprm->exec);
if (k_platform) {
NEW_AUX_ENT(AT_PLATFORM,
--- a/fs/binfmt_elf_fdpic.c
+++ b/fs/binfmt_elf_fdpic.c
@@ -615,9 +615,6 @@ static int create_elf_fdpic_tables(struc
nr = 0;
csp -= DLINFO_ITEMS * 2 * sizeof(unsigned long);
NEW_AUX_ENT(AT_HWCAP, ELF_HWCAP);
-#ifdef ELF_HWCAP2
- NEW_AUX_ENT(AT_HWCAP2, ELF_HWCAP2);
-#endif
NEW_AUX_ENT(AT_PAGESZ, PAGE_SIZE);
NEW_AUX_ENT(AT_CLKTCK, CLOCKS_PER_SEC);
NEW_AUX_ENT(AT_PHDR, exec_params->ph_addr);
--- a/include/linux/auxvec.h
+++ b/include/linux/auxvec.h
@@ -3,6 +3,6 @@
#include <uapi/linux/auxvec.h>
-#define AT_VECTOR_SIZE_BASE 20 /* NEW_AUX_ENT entries in auxiliary table */
+#define AT_VECTOR_SIZE_BASE 19 /* NEW_AUX_ENT entries in auxiliary table */
/* number of "#define AT_.*" above, minus {AT_NULL, AT_IGNORE, AT_NOTELF} */
#endif /* _LINUX_AUXVEC_H */

View File

@ -8,6 +8,9 @@ Patch headers added by debian/patches/features/all/aufs3/gen-patch
aufs3.12 mmap patch
[bwh: Resolved conflict with commit 4eb919825e6c ('mm: fix use-after-free
in sys_remap_file_pages') backported into 3.12.7]
diff --git a/fs/buffer.c b/fs/buffer.c
index 6024877..95bbf13 100644
--- a/fs/buffer.c
@ -226,16 +229,17 @@ diff --git a/mm/fremap.c b/mm/fremap.c
index 5bff081..246a9c7 100644
--- a/mm/fremap.c
+++ b/mm/fremap.c
@@ -207,11 +207,12 @@ get_write_lock:
@@ -207,12 +207,13 @@ get_write_lock:
*/
if (mapping_cap_account_dirty(mapping)) {
unsigned long addr;
- struct file *file = get_file(vma->vm_file);
+ struct file *file = vma->vm_file;
/* mmap_region may free vma; grab the info now */
vm_flags = vma->vm_flags;
+ vma_get_file(vma);
addr = mmap_region(file, start, size,
vma->vm_flags, pgoff);
addr = mmap_region(file, start, size, vm_flags, pgoff);
- fput(file);
+ vma_fput(vma);
if (IS_ERR_VALUE(addr)) {

View File

@ -7,6 +7,7 @@ Needs thread context (pgd_lock) -> ifdeffed. workqueues wont work with
RT
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
[bwh: Adjust context to apply after 3.12.7 and our ABI-preserving hack]
---
include/linux/mm_types.h | 4 ++++
include/linux/sched.h | 12 ++++++++++++
@ -24,16 +25,16 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
#include <linux/uprobes.h>
#include <linux/page-flags-layout.h>
#include <asm/page.h>
@@ -440,6 +441,9 @@ struct mm_struct {
@@ -442,6 +443,9 @@ struct mm_struct {
int first_nid;
#endif
struct uprobes_state uprobes_state;
+#ifdef CONFIG_PREEMPT_RT_BASE
+ struct rcu_head delayed_drop;
+#endif
};
/* first nid will either be a valid NID or one of these values */
#ifndef __GENKSYMS__
#if defined(CONFIG_NUMA_BALANCING) || defined(CONFIG_COMPACTION)
/*
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -2129,12 +2129,24 @@ extern struct mm_struct * mm_alloc(void)
@ -63,7 +64,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/* Grab a reference to a task's mm, if it is not already going away */
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -610,6 +610,19 @@ void __mmdrop(struct mm_struct *mm)
@@ -616,6 +616,19 @@ void __mmdrop(struct mm_struct *mm)
}
EXPORT_SYMBOL_GPL(__mmdrop);

View File

@ -77,7 +77,11 @@ bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch
debian/add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by-default.patch
bugfix/all/UAPI-include-asm-byteorder.h-in-linux-raid-md_p.h.patch
bugfix/all/rds-prevent-bug_on-triggered-by-congestion-update-to-loopback.patch
bugfix/arm/ahci-imx-Explicitly-clear-IMX6Q_GPR13_SATA_MPLL_CLK_.patch
bugfix/all/disable-some-marvell-phys.patch
features/all/media-az6007-support-Technisat-Cablestar-Combo-HDCI-.patch
bugfix/all/alpha-Prevent-a-NULL-ptr-dereference-in-csum_partial.patch
# Temporary ABI hacks for 3.12-1
debian/remove-at_hwcap2-from-auxv.patch
debian/acpi-avoid-abi-change-in-3.12.7.patch
debian/mm-avoid-abi-change-in-3.12.7.patch