From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, "David S. Miller" <davem@davemloft.net>,
Bob Picco <bob.picco@oracle.com>
Subject: [PATCH 3.16 116/127] sparc64: Switch to 4-level page tables.
Date: Tue, 28 Oct 2014 11:35:51 +0800 [thread overview]
Message-ID: <20141028033425.912591577@linuxfoundation.org> (raw)
In-Reply-To: <20141028033420.925922046@linuxfoundation.org>
3.16-stable review patch. If anyone has any objections, please let me know.
------------------
From: "David S. Miller" <davem@davemloft.net>
[ Upstream commit ac55c768143aa34cc3789c4820cbb0809a76fd9c ]
This has become necessary with chips that support more than 43-bits
of physical addressing.
Based almost entirely upon a patch by Bob Picco.
Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Bob Picco <bob.picco@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
arch/sparc/include/asm/page_64.h | 6 +++++
arch/sparc/include/asm/pgalloc_64.h | 28 ++++++++++++++++++++++++++-
arch/sparc/include/asm/pgtable_64.h | 37 +++++++++++++++++++++++++++++++-----
arch/sparc/include/asm/tsb.h | 10 +++++++++
arch/sparc/kernel/smp_64.c | 7 ++++++
arch/sparc/mm/init_64.c | 31 ++++++++++++++++++++++++++----
6 files changed, 109 insertions(+), 10 deletions(-)
--- a/arch/sparc/include/asm/page_64.h
+++ b/arch/sparc/include/asm/page_64.h
@@ -57,18 +57,21 @@ void copy_user_page(void *to, void *from
typedef struct { unsigned long pte; } pte_t;
typedef struct { unsigned long iopte; } iopte_t;
typedef struct { unsigned long pmd; } pmd_t;
+typedef struct { unsigned long pud; } pud_t;
typedef struct { unsigned long pgd; } pgd_t;
typedef struct { unsigned long pgprot; } pgprot_t;
#define pte_val(x) ((x).pte)
#define iopte_val(x) ((x).iopte)
#define pmd_val(x) ((x).pmd)
+#define pud_val(x) ((x).pud)
#define pgd_val(x) ((x).pgd)
#define pgprot_val(x) ((x).pgprot)
#define __pte(x) ((pte_t) { (x) } )
#define __iopte(x) ((iopte_t) { (x) } )
#define __pmd(x) ((pmd_t) { (x) } )
+#define __pud(x) ((pud_t) { (x) } )
#define __pgd(x) ((pgd_t) { (x) } )
#define __pgprot(x) ((pgprot_t) { (x) } )
@@ -77,18 +80,21 @@ typedef struct { unsigned long pgprot; }
typedef unsigned long pte_t;
typedef unsigned long iopte_t;
typedef unsigned long pmd_t;
+typedef unsigned long pud_t;
typedef unsigned long pgd_t;
typedef unsigned long pgprot_t;
#define pte_val(x) (x)
#define iopte_val(x) (x)
#define pmd_val(x) (x)
+#define pud_val(x) (x)
#define pgd_val(x) (x)
#define pgprot_val(x) (x)
#define __pte(x) (x)
#define __iopte(x) (x)
#define __pmd(x) (x)
+#define __pud(x) (x)
#define __pgd(x) (x)
#define __pgprot(x) (x)
--- a/arch/sparc/include/asm/pgalloc_64.h
+++ b/arch/sparc/include/asm/pgalloc_64.h
@@ -15,6 +15,13 @@
extern struct kmem_cache *pgtable_cache;
+static inline void __pgd_populate(pgd_t *pgd, pud_t *pud)
+{
+ pgd_set(pgd, pud);
+}
+
+#define pgd_populate(MM, PGD, PUD) __pgd_populate(PGD, PUD)
+
static inline pgd_t *pgd_alloc(struct mm_struct *mm)
{
return kmem_cache_alloc(pgtable_cache, GFP_KERNEL);
@@ -25,7 +32,23 @@ static inline void pgd_free(struct mm_st
kmem_cache_free(pgtable_cache, pgd);
}
-#define pud_populate(MM, PUD, PMD) pud_set(PUD, PMD)
+static inline void __pud_populate(pud_t *pud, pmd_t *pmd)
+{
+ pud_set(pud, pmd);
+}
+
+#define pud_populate(MM, PUD, PMD) __pud_populate(PUD, PMD)
+
+static inline pud_t *pud_alloc_one(struct mm_struct *mm, unsigned long addr)
+{
+ return kmem_cache_alloc(pgtable_cache,
+ GFP_KERNEL|__GFP_REPEAT);
+}
+
+static inline void pud_free(struct mm_struct *mm, pud_t *pud)
+{
+ kmem_cache_free(pgtable_cache, pud);
+}
static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long addr)
{
@@ -91,4 +114,7 @@ static inline void __pte_free_tlb(struct
#define __pmd_free_tlb(tlb, pmd, addr) \
pgtable_free_tlb(tlb, pmd, false)
+#define __pud_free_tlb(tlb, pud, addr) \
+ pgtable_free_tlb(tlb, pud, false)
+
#endif /* _SPARC64_PGALLOC_H */
--- a/arch/sparc/include/asm/pgtable_64.h
+++ b/arch/sparc/include/asm/pgtable_64.h
@@ -20,8 +20,6 @@
#include <asm/page.h>
#include <asm/processor.h>
-#include <asm-generic/pgtable-nopud.h>
-
/* The kernel image occupies 0x4000000 to 0x6000000 (4MB --> 96MB).
* The page copy blockops can use 0x6000000 to 0x8000000.
* The 8K TSB is mapped in the 0x8000000 to 0x8400000 range.
@@ -55,13 +53,21 @@
#define PMD_MASK (~(PMD_SIZE-1))
#define PMD_BITS (PAGE_SHIFT - 3)
-/* PGDIR_SHIFT determines what a third-level page table entry can map */
-#define PGDIR_SHIFT (PAGE_SHIFT + (PAGE_SHIFT-3) + PMD_BITS)
+/* PUD_SHIFT determines the size of the area a third-level page
+ * table can map
+ */
+#define PUD_SHIFT (PMD_SHIFT + PMD_BITS)
+#define PUD_SIZE (_AC(1,UL) << PUD_SHIFT)
+#define PUD_MASK (~(PUD_SIZE-1))
+#define PUD_BITS (PAGE_SHIFT - 3)
+
+/* PGDIR_SHIFT determines what a fourth-level page table entry can map */
+#define PGDIR_SHIFT (PUD_SHIFT + PUD_BITS)
#define PGDIR_SIZE (_AC(1,UL) << PGDIR_SHIFT)
#define PGDIR_MASK (~(PGDIR_SIZE-1))
#define PGDIR_BITS (PAGE_SHIFT - 3)
-#if (PGDIR_SHIFT + PGDIR_BITS) != 43
+#if (PGDIR_SHIFT + PGDIR_BITS) != 53
#error Page table parameters do not cover virtual address space properly.
#endif
@@ -93,6 +99,7 @@ static inline bool kern_addr_valid(unsig
/* Entries per page directory level. */
#define PTRS_PER_PTE (1UL << (PAGE_SHIFT-3))
#define PTRS_PER_PMD (1UL << PMD_BITS)
+#define PTRS_PER_PUD (1UL << PUD_BITS)
#define PTRS_PER_PGD (1UL << PGDIR_BITS)
/* Kernel has a separate 44bit address space. */
@@ -101,6 +108,9 @@ static inline bool kern_addr_valid(unsig
#define pmd_ERROR(e) \
pr_err("%s:%d: bad pmd %p(%016lx) seen at (%pS)\n", \
__FILE__, __LINE__, &(e), pmd_val(e), __builtin_return_address(0))
+#define pud_ERROR(e) \
+ pr_err("%s:%d: bad pud %p(%016lx) seen at (%pS)\n", \
+ __FILE__, __LINE__, &(e), pud_val(e), __builtin_return_address(0))
#define pgd_ERROR(e) \
pr_err("%s:%d: bad pgd %p(%016lx) seen at (%pS)\n", \
__FILE__, __LINE__, &(e), pgd_val(e), __builtin_return_address(0))
@@ -779,6 +789,11 @@ static inline int pmd_present(pmd_t pmd)
#define pud_bad(pud) ((pud_val(pud) & ~PAGE_MASK) || \
!__kern_addr_valid(pud_val(pud)))
+#define pgd_none(pgd) (!pgd_val(pgd))
+
+#define pgd_bad(pgd) ((pgd_val(pgd) & ~PAGE_MASK) || \
+ !__kern_addr_valid(pgd_val(pgd)))
+
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
void set_pmd_at(struct mm_struct *mm, unsigned long addr,
pmd_t *pmdp, pmd_t pmd);
@@ -815,10 +830,17 @@ static inline unsigned long __pmd_page(p
#define pmd_clear(pmdp) (pmd_val(*(pmdp)) = 0UL)
#define pud_present(pud) (pud_val(pud) != 0U)
#define pud_clear(pudp) (pud_val(*(pudp)) = 0UL)
+#define pgd_page_vaddr(pgd) \
+ ((unsigned long) __va(pgd_val(pgd)))
+#define pgd_present(pgd) (pgd_val(pgd) != 0U)
+#define pgd_clear(pgdp) (pgd_val(*(pgd)) = 0UL)
/* Same in both SUN4V and SUN4U. */
#define pte_none(pte) (!pte_val(pte))
+#define pgd_set(pgdp, pudp) \
+ (pgd_val(*(pgdp)) = (__pa((unsigned long) (pudp))))
+
/* to find an entry in a page-table-directory. */
#define pgd_index(address) (((address) >> PGDIR_SHIFT) & (PTRS_PER_PGD - 1))
#define pgd_offset(mm, address) ((mm)->pgd + pgd_index(address))
@@ -826,6 +848,11 @@ static inline unsigned long __pmd_page(p
/* to find an entry in a kernel page-table-directory */
#define pgd_offset_k(address) pgd_offset(&init_mm, address)
+/* Find an entry in the third-level page table.. */
+#define pud_index(address) (((address) >> PUD_SHIFT) & (PTRS_PER_PUD - 1))
+#define pud_offset(pgdp, address) \
+ ((pud_t *) pgd_page_vaddr(*(pgdp)) + pud_index(address))
+
/* Find an entry in the second-level page table.. */
#define pmd_offset(pudp, address) \
((pmd_t *) pud_page_vaddr(*(pudp)) + \
--- a/arch/sparc/include/asm/tsb.h
+++ b/arch/sparc/include/asm/tsb.h
@@ -145,6 +145,11 @@ extern struct tsb_phys_patch_entry __tsb
andn REG2, 0x7, REG2; \
ldx [REG1 + REG2], REG1; \
brz,pn REG1, FAIL_LABEL; \
+ sllx VADDR, 64 - (PUD_SHIFT + PUD_BITS), REG2; \
+ srlx REG2, 64 - PAGE_SHIFT, REG2; \
+ andn REG2, 0x7, REG2; \
+ ldxa [REG1 + REG2] ASI_PHYS_USE_EC, REG1; \
+ brz,pn REG1, FAIL_LABEL; \
sllx VADDR, 64 - (PMD_SHIFT + PMD_BITS), REG2; \
srlx REG2, 64 - PAGE_SHIFT, REG2; \
andn REG2, 0x7, REG2; \
@@ -198,6 +203,11 @@ extern struct tsb_phys_patch_entry __tsb
andn REG2, 0x7, REG2; \
ldxa [PHYS_PGD + REG2] ASI_PHYS_USE_EC, REG1; \
brz,pn REG1, FAIL_LABEL; \
+ sllx VADDR, 64 - (PUD_SHIFT + PUD_BITS), REG2; \
+ srlx REG2, 64 - PAGE_SHIFT, REG2; \
+ andn REG2, 0x7, REG2; \
+ ldxa [REG1 + REG2] ASI_PHYS_USE_EC, REG1; \
+ brz,pn REG1, FAIL_LABEL; \
sllx VADDR, 64 - (PMD_SHIFT + PMD_BITS), REG2; \
srlx REG2, 64 - PAGE_SHIFT, REG2; \
andn REG2, 0x7, REG2; \
--- a/arch/sparc/kernel/smp_64.c
+++ b/arch/sparc/kernel/smp_64.c
@@ -1467,6 +1467,13 @@ static void __init pcpu_populate_pte(uns
pud_t *pud;
pmd_t *pmd;
+ if (pgd_none(*pgd)) {
+ pud_t *new;
+
+ new = __alloc_bootmem(PAGE_SIZE, PAGE_SIZE, PAGE_SIZE);
+ pgd_populate(&init_mm, pgd, new);
+ }
+
pud = pud_offset(pgd, addr);
if (pud_none(*pud)) {
pmd_t *new;
--- a/arch/sparc/mm/init_64.c
+++ b/arch/sparc/mm/init_64.c
@@ -1389,6 +1389,13 @@ static unsigned long __ref kernel_map_ra
pmd_t *pmd;
pte_t *pte;
+ if (pgd_none(*pgd)) {
+ pud_t *new;
+
+ new = __alloc_bootmem(PAGE_SIZE, PAGE_SIZE, PAGE_SIZE);
+ alloc_bytes += PAGE_SIZE;
+ pgd_populate(&init_mm, pgd, new);
+ }
pud = pud_offset(pgd, vstart);
if (pud_none(*pud)) {
pmd_t *new;
@@ -1855,7 +1862,12 @@ static void __init sun4v_linear_pte_xor_
/* paging_init() sets up the page tables */
static unsigned long last_valid_pfn;
-pgd_t swapper_pg_dir[PTRS_PER_PGD];
+
+/* These must be page aligned in order to not trigger the
+ * alignment tests of pgd_bad() and pud_bad().
+ */
+pgd_t swapper_pg_dir[PTRS_PER_PGD] __attribute__ ((aligned (PAGE_SIZE)));
+static pud_t swapper_pud_dir[PTRS_PER_PUD] __attribute__ ((aligned (PAGE_SIZE)));
static void sun4u_pgprot_init(void);
static void sun4v_pgprot_init(void);
@@ -1864,6 +1876,8 @@ void __init paging_init(void)
{
unsigned long end_pfn, shift, phys_base;
unsigned long real_end, i;
+ pud_t *pud;
+ pmd_t *pmd;
int node;
setup_page_offset();
@@ -1960,9 +1974,18 @@ void __init paging_init(void)
memset(swapper_low_pmd_dir, 0, sizeof(swapper_low_pmd_dir));
- /* Now can init the kernel/bad page tables. */
- pud_set(pud_offset(&swapper_pg_dir[0], 0),
- swapper_low_pmd_dir + (shift / sizeof(pgd_t)));
+ /* The kernel page tables we publish into what the rest of the
+ * world sees must be adjusted so that they see the PAGE_OFFSET
+ * address of these in-kerenel data structures. However right
+ * here we must access them from the kernel image side, because
+ * the trap tables haven't been taken over and therefore we cannot
+ * take TLB misses in the PAGE_OFFSET linear mappings yet.
+ */
+ pud = swapper_pud_dir + (shift / sizeof(pud_t));
+ pgd_set(&swapper_pg_dir[0], pud);
+
+ pmd = swapper_low_pmd_dir + (shift / sizeof(pmd_t));
+ pud_set(&swapper_pud_dir[0], pmd);
inherit_prom_mappings();
next prev parent reply other threads:[~2014-10-28 3:35 UTC|newest]
Thread overview: 129+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-28 3:33 [PATCH 3.16 000/127] 3.16.7-stable review Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.16 001/127] btrfs: wake up transaction thread from SYNC_FS ioctl Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.16 002/127] btrfs: Fix a deadlock in btrfs_dev_replace_finishing() Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.16 003/127] Btrfs: add missing compression property remove in btrfs_ioctl_setflags Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 005/127] Btrfs: dont do async reclaim during log replay Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 006/127] Btrfs: try not to ENOSPC on " Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 007/127] Btrfs: cleanup error handling in build_backref_tree Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 008/127] Btrfs: fix build_backref_tree issue with multiple shared blocks Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 009/127] Btrfs: fix race in WAIT_SYNC ioctl Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 010/127] fs: Add a missing permission check to do_umount Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 011/127] usb: pch_udc: usb gadget device support for Intel Quark X1000 Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 012/127] pci_ids: Add support for Intel Quark ILB Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 013/127] kvm: x86: fix stale mmio cache bug Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 014/127] kvm: fix potentially corrupt mmio cache Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 015/127] KVM: do not bias the generation number in kvm_current_mmio_generation Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 016/127] KVM: s390: unintended fallthrough for external call Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 017/127] kvm: dont take vcpu mutex for obviously invalid vcpu ioctls Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 018/127] x86,kvm,vmx: Preserve CR4 across VM entry Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 019/127] x86/intel/quark: Switch off CR4.PGE so TLB flush uses CR3 instead Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 020/127] spi: dw-mid: respect 8 bit mode Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 021/127] spi: dw-mid: check that DMA was inited before exit Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 022/127] HID: rmi: check sanity of the incoming report Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 023/127] mpc85xx_edac: Make L2 interrupt shared too Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 024/127] regmap: debugfs: fix possbile NULL pointer dereference Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 025/127] regmap: fix NULL pointer dereference in _regmap_write/read Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 026/127] regmap: fix possible ZERO_SIZE_PTR pointer dereferencing error Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 027/127] be2iscsi: check ip buffer before copying Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 028/127] mptfusion: enable no_write_same for vmware scsi disks Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 029/127] regulator: ltc3589: fix broken voltage transitions Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 030/127] qla2xxx: fix kernel NULL pointer access Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 031/127] qla2xxx: Use correct offset to req-q-out for reserve calculation Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 032/127] qla2xxx: Fix shost use-after-free on device removal Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 033/127] dmaengine: fix xor sources continuation Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 034/127] firmware_class: make sure fw requests contain a name Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 035/127] arm64: debug: dont re-enable debug exceptions on return from el1_dbg Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 036/127] Drivers: hv: util: Properly pack the data for file copy functionality Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 037/127] Drivers: hv: vmbus: Cleanup vmbus_post_msg() Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 038/127] Drivers: hv: vmbus: Cleanup vmbus_teardown_gpadl() Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 039/127] Drivers: hv: vmbus: Cleanup vmbus_close_internal() Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 040/127] Drivers: hv: vmbus: Cleanup vmbus_establish_gpadl() Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 041/127] Drivers: hv: vmbus: Fix a bug in vmbus_open() Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 042/127] Drivers: hv: vmbus: Cleanup hv_post_message() Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 043/127] mei: bus: fix possible boundaries violation Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 044/127] m68k: Disable/restore interrupts in hwreg_present()/hwreg_write() Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 045/127] Fixing lease renewal Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 046/127] Documentation: lzo: document part of the encoding Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 047/127] Revert "lzo: properly check for overruns" Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 048/127] lzo: check for length overrun in variable length encoding Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 049/127] tty: omap-serial: fix division by zero Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 050/127] NFSv4: Fix lock recovery when CREATE_SESSION/SETCLIENTID_CONFIRM fails Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 051/127] NFSv4: fix open/lock state recovery error handling Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 052/127] NFSv4.1: Fix an NFSv4.1 state renewal regression Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 053/127] nfsd4: reserve adequate space for LOCK op Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 054/127] NFS: Fix an uninitialised pointer Oops in the writeback error path Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 055/127] NFS: Fix a bogus warning in nfs_generic_pgio Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 056/127] iwlwifi: mvm: disable BT Co-running by default Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 057/127] iwlwifi: Add missing PCI IDs for the 7260 series Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 058/127] spi: dw-mid: terminate ongoing transfers at exit Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 059/127] PCI: mvebu: Fix uninitialized variable in mvebu_get_tgt_attr() Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 060/127] PCI: Add missing MEM_64 mask in pci_assign_unassigned_bridge_resources() Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 061/127] PCI: Increase IBM ipr SAS Crocodile BARs to at least system page size Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 062/127] PCI: Generate uppercase hex for modalias interface class Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 063/127] rt2800: correct BBP1_TX_POWER_CTRL mask Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.16 064/127] Revert "ath9k_hw: reduce ANI firstep range for older chips" Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 065/127] Bluetooth: Fix HCI H5 corrupted ack value Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 066/127] Bluetooth: Fix incorrect LE CoC PDU length restriction based on HCI MTU Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 067/127] Bluetooth: Fix issue with USB suspend in btusb driver Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 068/127] Bluetooth: Fix setting correct security level when initiating SMP Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 069/127] mm: clear __GFP_FS when PF_MEMALLOC_NOIO is set Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 071/127] kernel: add support for gcc 5 Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 073/127] futex: Ensure get_futex_key_refs() always implies a barrier Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 074/127] powerpc/iommu/ddw: Fix endianness Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 075/127] powerpc/eeh: Clear frozen device state in time Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 076/127] ima: fix fallback to use new_sync_read() Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 077/127] ima: provide flag to identify new empty files Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 078/127] arm64: compat: fix compat types affecting struct compat_elf_prpsinfo Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 079/127] ALSA: pcm: use the same dma mmap codepath both for arm and arm64 Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 081/127] ALSA: emu10k1: Fix deadlock in synth voice lookup Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 082/127] ALSA: ALC283 codec - Avoid pop noise on headphones during suspend/resume Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 083/127] ALSA: usb-audio: Add support for Steinberg UR22 USB interface Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 084/127] ALSA: hda - hdmi: Fix missing ELD change event on plug/unplug Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 085/127] ALSA: hda - Fix inverted LED gpio setup for Lenovo Ideapad Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 086/127] ALSA: hda - Add missing terminating entry to SND_HDA_PIN_QUIRK macro Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 087/127] ARM: at91/dt: Fix typo regarding can0_clk Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 088/127] ARM: at91: fix at91sam9263ek DT mmc pinmuxing settings Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 089/127] ARM: at91/PMC: dont forget to write PMC_PCDR register to disable clocks Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 090/127] ARM: Kirkwood: Fix DT based DSA Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 091/127] ARM: mvebu: Netgear RN104: Use Hardware BCH ECC Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 092/127] ARM: mvebu: Netgear RN2120: " Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 093/127] ARM: mvebu: Netgear RN102: " Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 094/127] ARM: dts: imx28-evk: Let i2c0 run at 100kHz Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 095/127] ecryptfs: avoid to access NULL pointer when write metadata in xattr Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 096/127] xfs: ensure WB_SYNC_ALL writeback handles partial pages correctly Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 097/127] sparc64: Do not disable interrupts in nmi_cpu_busy() Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 098/127] sparc64: Fix pcr_ops initialization and usage bugs Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 099/127] sparc32: dma_alloc_coherent must honour gfp flags Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 100/127] sparc64: sun4v TLB error power off events Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 101/127] sparc64: Fix corrupted thread fault code Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 102/127] sparc64: find_node adjustment Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 103/127] sparc64: Move request_irq() from ldc_bind() to ldc_alloc() Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 104/127] sparc: Let memset return the address argument Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 105/127] sparc: bpf_jit: fix support for ldx/stx mem and SKF_AD_VLAN_TAG Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 106/127] sparc: bpf_jit: fix loads from negative offsets Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 107/127] sparc64: Fix reversed start/end in flush_tlb_kernel_range() Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 108/127] sparc64: Fix lockdep warnings on reboot on Ultra-5 Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 109/127] sparc64: Fix FPU register corruption with AES crypto offload Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 110/127] sparc64: Do not define thread fpregs save area as zero-length array Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 111/127] sparc64: Fix hibernation code refrence to PAGE_OFFSET Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 112/127] sparc64: correctly recognise M6 and M7 cpu type Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 113/127] sparc64: support M6 and M7 for building CPU distribution map Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 114/127] sparc64: cpu hardware caps support for sparc M6 and M7 Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 115/127] sparc64: T5 PMU Greg Kroah-Hartman
2014-10-28 3:35 ` Greg Kroah-Hartman [this message]
2014-10-28 3:35 ` [PATCH 3.16 117/127] sparc64: Define VA hole at run time, rather than at compile time Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 118/127] sparc64: Adjust KTSB assembler to support larger physical addresses Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 119/127] sparc64: Fix physical memory management regressions with large max_phys_bits Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 120/127] sparc64: Use kernel page tables for vmemmap Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 121/127] sparc64: Increase MAX_PHYS_ADDRESS_BITS to 53 Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 122/127] sparc64: Adjust vmalloc region size based upon available virtual address bits Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 123/127] sparc64: sparse irq Greg Kroah-Hartman
2014-10-28 3:35 ` [PATCH 3.16 124/127] sparc64: Kill unnecessary tables and increase MAX_BANKS Greg Kroah-Hartman
2014-10-28 3:36 ` [PATCH 3.16 125/127] sparc64: Increase size of boot string to 1024 bytes Greg Kroah-Hartman
2014-10-28 3:36 ` [PATCH 3.16 126/127] sparc64: Fix register corruption in top-most kernel stack frame during boot Greg Kroah-Hartman
2014-10-28 3:36 ` [PATCH 3.16 127/127] sparc64: Implement __get_user_pages_fast() Greg Kroah-Hartman
2014-10-28 3:51 ` [PATCH 3.16 000/127] 3.16.7-stable review Greg Kroah-Hartman
2014-10-28 13:57 ` Steven Rostedt
2014-10-28 14:06 ` Greg Kroah-Hartman
2014-10-28 15:14 ` Guenter Roeck
2014-10-28 16:15 ` Shuah Khan
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=20141028033425.912591577@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=bob.picco@oracle.com \
--cc=davem@davemloft.net \
--cc=linux-kernel@vger.kernel.org \
--cc=stable@vger.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).