From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
Thomas Gleixner <tglx@linutronix.de>,
"H. Peter Anvin" <hpa@zytor.com>,
Andy Lutomirski <luto@amacapital.net>,
Andrew Morton <akpm@linux-foundation.org>
Subject: [GIT PULL] x86 fixes
Date: Sun, 14 Dec 2014 20:46:24 +0100 [thread overview]
Message-ID: <20141214194624.GA4498@gmail.com> (raw)
Linus,
Please pull the latest x86-urgent-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-urgent-for-linus
# HEAD: 0e58af4e1d2166e9e33375a0f121e4867010d4f8 x86/tls: Disallow unusual TLS segments
Misc fixes (mainly Andy's TLS fixes), plus a cleanup.
out-of-topic modifications in x86-urgent-for-linus:
-----------------------------------------------------
MAINTAINERS # f0905c5a32ce: MAINTAINERS: Add me as x86 V
Thanks,
Ingo
------------------>
Andy Lutomirski (4):
x86_64, switch_to(): Load TLS descriptors before switching DS and ES
MAINTAINERS: Add me as x86 VDSO submaintainer
x86/tls: Validate TLS entries to protect espfix
x86/tls: Disallow unusual TLS segments
Borislav Petkov (2):
x86/asm: Guard against building the 32/64-bit versions of the asm-offsets*.c file directly
x86/asm: Unify segment selector defines
Luis R. Rodriguez (1):
x86/doc: Update documentation after file shuffling
Xishi Qiu (2):
x86/mm: Fix zone ranges boot printout
x86/mm: Use min() instead of min_t() in the e820 printout code
Documentation/x86/entry_64.txt | 7 ++-
MAINTAINERS | 7 +++
arch/x86/include/asm/dma.h | 2 +-
arch/x86/include/asm/segment.h | 30 ++++--------
arch/x86/kernel/asm-offsets_32.c | 4 ++
arch/x86/kernel/asm-offsets_64.c | 4 ++
arch/x86/kernel/e820.c | 4 +-
arch/x86/kernel/process_64.c | 101 ++++++++++++++++++++++++++++-----------
arch/x86/kernel/tls.c | 45 +++++++++++++++++
arch/x86/mm/init.c | 4 +-
10 files changed, 152 insertions(+), 56 deletions(-)
diff --git a/Documentation/x86/entry_64.txt b/Documentation/x86/entry_64.txt
index bc7226ef5055..4a1c5c2dc5a9 100644
--- a/Documentation/x86/entry_64.txt
+++ b/Documentation/x86/entry_64.txt
@@ -7,9 +7,12 @@ http://lkml.kernel.org/r/<20110529191055.GC9835%40elte.hu>
The x86 architecture has quite a few different ways to jump into
kernel code. Most of these entry points are registered in
arch/x86/kernel/traps.c and implemented in arch/x86/kernel/entry_64.S
-and arch/x86/ia32/ia32entry.S.
+for 64-bit, arch/x86/kernel/entry_32.S for 32-bit and finally
+arch/x86/ia32/ia32entry.S which implements the 32-bit compatibility
+syscall entry points and thus provides for 32-bit processes the
+ability to execute syscalls when running on 64-bit kernels.
-The IDT vector assignments are listed in arch/x86/include/irq_vectors.h.
+The IDT vector assignments are listed in arch/x86/include/asm/irq_vectors.h.
Some of these entries are:
diff --git a/MAINTAINERS b/MAINTAINERS
index c444907ccd69..7a54fa88018a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -10295,6 +10295,13 @@ L: linux-edac@vger.kernel.org
S: Maintained
F: arch/x86/kernel/cpu/mcheck/*
+X86 VDSO
+M: Andy Lutomirski <luto@amacapital.net>
+L: linux-kernel@vger.kernel.org
+T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/vdso
+S: Maintained
+F: arch/x86/vdso/
+
XC2028/3028 TUNER DRIVER
M: Mauro Carvalho Chehab <m.chehab@samsung.com>
L: linux-media@vger.kernel.org
diff --git a/arch/x86/include/asm/dma.h b/arch/x86/include/asm/dma.h
index 0bdb0c54d9a1..fe884e18fa6e 100644
--- a/arch/x86/include/asm/dma.h
+++ b/arch/x86/include/asm/dma.h
@@ -70,7 +70,7 @@
#define MAX_DMA_CHANNELS 8
/* 16MB ISA DMA zone */
-#define MAX_DMA_PFN ((16 * 1024 * 1024) >> PAGE_SHIFT)
+#define MAX_DMA_PFN ((16UL * 1024 * 1024) >> PAGE_SHIFT)
/* 4GB broken PCI/AGP hardware bus master zone */
#define MAX_DMA32_PFN ((4UL * 1024 * 1024 * 1024) >> PAGE_SHIFT)
diff --git a/arch/x86/include/asm/segment.h b/arch/x86/include/asm/segment.h
index 6f1c3a8a33ab..db257a58571f 100644
--- a/arch/x86/include/asm/segment.h
+++ b/arch/x86/include/asm/segment.h
@@ -23,6 +23,15 @@
#define GDT_ENTRY_BOOT_TSS (GDT_ENTRY_BOOT_CS + 2)
#define __BOOT_TSS (GDT_ENTRY_BOOT_TSS * 8)
+#define SEGMENT_RPL_MASK 0x3 /*
+ * Bottom two bits of selector give the ring
+ * privilege level
+ */
+#define SEGMENT_TI_MASK 0x4 /* Bit 2 is table indicator (LDT/GDT) */
+#define USER_RPL 0x3 /* User mode is privilege level 3 */
+#define SEGMENT_LDT 0x4 /* LDT segment has TI set... */
+#define SEGMENT_GDT 0x0 /* ... GDT has it cleared */
+
#ifdef CONFIG_X86_32
/*
* The layout of the per-CPU GDT under Linux:
@@ -125,16 +134,6 @@
#define PNP_TS1 (GDT_ENTRY_PNPBIOS_TS1 * 8) /* transfer data segment */
#define PNP_TS2 (GDT_ENTRY_PNPBIOS_TS2 * 8) /* another data segment */
-/* Bottom two bits of selector give the ring privilege level */
-#define SEGMENT_RPL_MASK 0x3
-/* Bit 2 is table indicator (LDT/GDT) */
-#define SEGMENT_TI_MASK 0x4
-
-/* User mode is privilege level 3 */
-#define USER_RPL 0x3
-/* LDT segment has TI set, GDT has it cleared */
-#define SEGMENT_LDT 0x4
-#define SEGMENT_GDT 0x0
/*
* Matching rules for certain types of segments.
@@ -192,17 +191,6 @@
#define get_kernel_rpl() 0
#endif
-/* User mode is privilege level 3 */
-#define USER_RPL 0x3
-/* LDT segment has TI set, GDT has it cleared */
-#define SEGMENT_LDT 0x4
-#define SEGMENT_GDT 0x0
-
-/* Bottom two bits of selector give the ring privilege level */
-#define SEGMENT_RPL_MASK 0x3
-/* Bit 2 is table indicator (LDT/GDT) */
-#define SEGMENT_TI_MASK 0x4
-
#define IDT_ENTRIES 256
#define NUM_EXCEPTION_VECTORS 32
/* Bitmask of exception vectors which push an error code on the stack */
diff --git a/arch/x86/kernel/asm-offsets_32.c b/arch/x86/kernel/asm-offsets_32.c
index d67c4be3e8b1..3b3b9d33ac1d 100644
--- a/arch/x86/kernel/asm-offsets_32.c
+++ b/arch/x86/kernel/asm-offsets_32.c
@@ -1,3 +1,7 @@
+#ifndef __LINUX_KBUILD_H
+# error "Please do not build this file directly, build asm-offsets.c instead"
+#endif
+
#include <asm/ucontext.h>
#include <linux/lguest.h>
diff --git a/arch/x86/kernel/asm-offsets_64.c b/arch/x86/kernel/asm-offsets_64.c
index e7c798b354fa..4c0c596dfb95 100644
--- a/arch/x86/kernel/asm-offsets_64.c
+++ b/arch/x86/kernel/asm-offsets_64.c
@@ -1,3 +1,7 @@
+#ifndef __LINUX_KBUILD_H
+# error "Please do not build this file directly, build asm-offsets.c instead"
+#endif
+
#include <asm/ia32.h>
#define __SYSCALL_64(nr, sym, compat) [nr] = 1,
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
index 49f886481615..dd2f07ae9d0c 100644
--- a/arch/x86/kernel/e820.c
+++ b/arch/x86/kernel/e820.c
@@ -1114,8 +1114,8 @@ void __init memblock_find_dma_reserve(void)
* at first, and assume boot_mem will not take below MAX_DMA_PFN
*/
for_each_mem_pfn_range(i, MAX_NUMNODES, &start_pfn, &end_pfn, NULL) {
- start_pfn = min_t(unsigned long, start_pfn, MAX_DMA_PFN);
- end_pfn = min_t(unsigned long, end_pfn, MAX_DMA_PFN);
+ start_pfn = min(start_pfn, MAX_DMA_PFN);
+ end_pfn = min(end_pfn, MAX_DMA_PFN);
nr_pages += end_pfn - start_pfn;
}
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c
index 3ed4a68d4013..5a2c02913af3 100644
--- a/arch/x86/kernel/process_64.c
+++ b/arch/x86/kernel/process_64.c
@@ -283,24 +283,9 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
fpu = switch_fpu_prepare(prev_p, next_p, cpu);
- /*
- * Reload esp0, LDT and the page table pointer:
- */
+ /* Reload esp0 and ss1. */
load_sp0(tss, next);
- /*
- * Switch DS and ES.
- * This won't pick up thread selector changes, but I guess that is ok.
- */
- savesegment(es, prev->es);
- if (unlikely(next->es | prev->es))
- loadsegment(es, next->es);
-
- savesegment(ds, prev->ds);
- if (unlikely(next->ds | prev->ds))
- loadsegment(ds, next->ds);
-
-
/* We must save %fs and %gs before load_TLS() because
* %fs and %gs may be cleared by load_TLS().
*
@@ -309,41 +294,101 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
savesegment(fs, fsindex);
savesegment(gs, gsindex);
+ /*
+ * Load TLS before restoring any segments so that segment loads
+ * reference the correct GDT entries.
+ */
load_TLS(next, cpu);
/*
- * Leave lazy mode, flushing any hypercalls made here.
- * This must be done before restoring TLS segments so
- * the GDT and LDT are properly updated, and must be
- * done before math_state_restore, so the TS bit is up
- * to date.
+ * Leave lazy mode, flushing any hypercalls made here. This
+ * must be done after loading TLS entries in the GDT but before
+ * loading segments that might reference them, and and it must
+ * be done before math_state_restore, so the TS bit is up to
+ * date.
*/
arch_end_context_switch(next_p);
+ /* Switch DS and ES.
+ *
+ * Reading them only returns the selectors, but writing them (if
+ * nonzero) loads the full descriptor from the GDT or LDT. The
+ * LDT for next is loaded in switch_mm, and the GDT is loaded
+ * above.
+ *
+ * We therefore need to write new values to the segment
+ * registers on every context switch unless both the new and old
+ * values are zero.
+ *
+ * Note that we don't need to do anything for CS and SS, as
+ * those are saved and restored as part of pt_regs.
+ */
+ savesegment(es, prev->es);
+ if (unlikely(next->es | prev->es))
+ loadsegment(es, next->es);
+
+ savesegment(ds, prev->ds);
+ if (unlikely(next->ds | prev->ds))
+ loadsegment(ds, next->ds);
+
/*
* Switch FS and GS.
*
- * Segment register != 0 always requires a reload. Also
- * reload when it has changed. When prev process used 64bit
- * base always reload to avoid an information leak.
+ * These are even more complicated than FS and GS: they have
+ * 64-bit bases are that controlled by arch_prctl. Those bases
+ * only differ from the values in the GDT or LDT if the selector
+ * is 0.
+ *
+ * Loading the segment register resets the hidden base part of
+ * the register to 0 or the value from the GDT / LDT. If the
+ * next base address zero, writing 0 to the segment register is
+ * much faster than using wrmsr to explicitly zero the base.
+ *
+ * The thread_struct.fs and thread_struct.gs values are 0
+ * if the fs and gs bases respectively are not overridden
+ * from the values implied by fsindex and gsindex. They
+ * are nonzero, and store the nonzero base addresses, if
+ * the bases are overridden.
+ *
+ * (fs != 0 && fsindex != 0) || (gs != 0 && gsindex != 0) should
+ * be impossible.
+ *
+ * Therefore we need to reload the segment registers if either
+ * the old or new selector is nonzero, and we need to override
+ * the base address if next thread expects it to be overridden.
+ *
+ * This code is unnecessarily slow in the case where the old and
+ * new indexes are zero and the new base is nonzero -- it will
+ * unnecessarily write 0 to the selector before writing the new
+ * base address.
+ *
+ * Note: This all depends on arch_prctl being the only way that
+ * user code can override the segment base. Once wrfsbase and
+ * wrgsbase are enabled, most of this code will need to change.
*/
if (unlikely(fsindex | next->fsindex | prev->fs)) {
loadsegment(fs, next->fsindex);
+
/*
- * Check if the user used a selector != 0; if yes
- * clear 64bit base, since overloaded base is always
- * mapped to the Null selector
+ * If user code wrote a nonzero value to FS, then it also
+ * cleared the overridden base address.
+ *
+ * XXX: if user code wrote 0 to FS and cleared the base
+ * address itself, we won't notice and we'll incorrectly
+ * restore the prior base address next time we reschdule
+ * the process.
*/
if (fsindex)
prev->fs = 0;
}
- /* when next process has a 64bit base use it */
if (next->fs)
wrmsrl(MSR_FS_BASE, next->fs);
prev->fsindex = fsindex;
if (unlikely(gsindex | next->gsindex | prev->gs)) {
load_gs_index(next->gsindex);
+
+ /* This works (and fails) the same way as fsindex above. */
if (gsindex)
prev->gs = 0;
}
diff --git a/arch/x86/kernel/tls.c b/arch/x86/kernel/tls.c
index f7fec09e3e3a..3e551eee87b9 100644
--- a/arch/x86/kernel/tls.c
+++ b/arch/x86/kernel/tls.c
@@ -27,6 +27,43 @@ static int get_free_idx(void)
return -ESRCH;
}
+static bool tls_desc_okay(const struct user_desc *info)
+{
+ if (LDT_empty(info))
+ return true;
+
+ /*
+ * espfix is required for 16-bit data segments, but espfix
+ * only works for LDT segments.
+ */
+ if (!info->seg_32bit)
+ return false;
+
+ /* Only allow data segments in the TLS array. */
+ if (info->contents > 1)
+ return false;
+
+ /*
+ * Non-present segments with DPL 3 present an interesting attack
+ * surface. The kernel should handle such segments correctly,
+ * but TLS is very difficult to protect in a sandbox, so prevent
+ * such segments from being created.
+ *
+ * If userspace needs to remove a TLS entry, it can still delete
+ * it outright.
+ */
+ if (info->seg_not_present)
+ return false;
+
+#ifdef CONFIG_X86_64
+ /* The L bit makes no sense for data. */
+ if (info->lm)
+ return false;
+#endif
+
+ return true;
+}
+
static void set_tls_desc(struct task_struct *p, int idx,
const struct user_desc *info, int n)
{
@@ -66,6 +103,9 @@ int do_set_thread_area(struct task_struct *p, int idx,
if (copy_from_user(&info, u_info, sizeof(info)))
return -EFAULT;
+ if (!tls_desc_okay(&info))
+ return -EINVAL;
+
if (idx == -1)
idx = info.entry_number;
@@ -192,6 +232,7 @@ int regset_tls_set(struct task_struct *target, const struct user_regset *regset,
{
struct user_desc infobuf[GDT_ENTRY_TLS_ENTRIES];
const struct user_desc *info;
+ int i;
if (pos >= GDT_ENTRY_TLS_ENTRIES * sizeof(struct user_desc) ||
(pos % sizeof(struct user_desc)) != 0 ||
@@ -205,6 +246,10 @@ int regset_tls_set(struct task_struct *target, const struct user_regset *regset,
else
info = infobuf;
+ for (i = 0; i < count / sizeof(struct user_desc); i++)
+ if (!tls_desc_okay(info + i))
+ return -EINVAL;
+
set_tls_desc(target,
GDT_ENTRY_TLS_MIN + (pos / sizeof(struct user_desc)),
info, count / sizeof(struct user_desc));
diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
index 66dba36f2343..07244aa6609e 100644
--- a/arch/x86/mm/init.c
+++ b/arch/x86/mm/init.c
@@ -674,10 +674,10 @@ void __init zone_sizes_init(void)
memset(max_zone_pfns, 0, sizeof(max_zone_pfns));
#ifdef CONFIG_ZONE_DMA
- max_zone_pfns[ZONE_DMA] = MAX_DMA_PFN;
+ max_zone_pfns[ZONE_DMA] = min(MAX_DMA_PFN, max_low_pfn);
#endif
#ifdef CONFIG_ZONE_DMA32
- max_zone_pfns[ZONE_DMA32] = MAX_DMA32_PFN;
+ max_zone_pfns[ZONE_DMA32] = min(MAX_DMA32_PFN, max_low_pfn);
#endif
max_zone_pfns[ZONE_NORMAL] = max_low_pfn;
#ifdef CONFIG_HIGHMEM
next reply other threads:[~2014-12-14 19:46 UTC|newest]
Thread overview: 563+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-14 19:46 Ingo Molnar [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-04-14 9:08 [GIT PULL] x86 fixes Ingo Molnar
2024-04-14 18:48 ` pr-tracker-bot
2023-12-23 14:34 Ingo Molnar
2023-12-23 20:21 ` pr-tracker-bot
2024-04-07 8:15 ` Ingo Molnar
2024-04-07 16:44 ` pr-tracker-bot
2023-11-26 9:51 Ingo Molnar
2023-11-26 17:16 ` pr-tracker-bot
2023-10-28 10:50 Ingo Molnar
2023-10-28 18:17 ` pr-tracker-bot
2023-10-14 22:08 Ingo Molnar
2023-10-14 22:49 ` pr-tracker-bot
2023-10-08 9:41 Ingo Molnar
2023-10-08 18:06 ` pr-tracker-bot
2023-10-01 9:04 Ingo Molnar
2023-10-01 17:08 ` pr-tracker-bot
2023-09-22 10:33 Ingo Molnar
2023-09-22 20:19 ` pr-tracker-bot
2023-09-17 17:44 Ingo Molnar
2023-09-17 18:24 ` pr-tracker-bot
2023-09-02 10:24 [GIT PULL] x86 fix Ingo Molnar
2023-09-10 16:26 ` [GIT PULL] x86 fixes Ingo Molnar
2023-09-10 18:08 ` pr-tracker-bot
2023-08-26 17:54 Ingo Molnar
2023-08-26 18:08 ` pr-tracker-bot
2023-02-11 8:59 Ingo Molnar
2023-02-11 19:24 ` pr-tracker-bot
2022-08-28 14:57 Ingo Molnar
2022-08-28 18:18 ` pr-tracker-bot
2022-08-06 19:29 Ingo Molnar
2022-08-07 0:50 ` pr-tracker-bot
2021-03-28 10:44 Ingo Molnar
2021-03-28 19:22 ` pr-tracker-bot
2020-10-11 8:08 Ingo Molnar
2020-10-11 18:00 ` Linus Torvalds
2020-10-11 20:00 ` Thomas Gleixner
2020-10-11 18:23 ` pr-tracker-bot
2020-09-06 8:15 Ingo Molnar
2020-09-06 19:14 ` pr-tracker-bot
2020-08-15 11:45 Ingo Molnar
2020-08-16 1:55 ` pr-tracker-bot
2020-07-25 11:46 Ingo Molnar
2020-07-25 22:30 ` pr-tracker-bot
2020-03-02 8:49 Ingo Molnar
2020-03-03 23:35 ` pr-tracker-bot
2020-01-31 11:52 Ingo Molnar
2020-01-31 19:35 ` pr-tracker-bot
2020-01-18 18:52 Ingo Molnar
2020-01-18 21:05 ` pr-tracker-bot
2019-12-01 22:22 Ingo Molnar
2019-12-02 4:40 ` pr-tracker-bot
2019-11-16 21:42 Ingo Molnar
2019-11-17 0:35 ` pr-tracker-bot
2019-10-12 13:19 Ingo Molnar
2019-10-12 22:35 ` pr-tracker-bot
2019-09-12 12:57 Ingo Molnar
2019-09-12 14:05 ` pr-tracker-bot
2019-09-05 8:07 Ingo Molnar
2019-09-05 21:15 ` pr-tracker-bot
2019-06-29 9:14 Ingo Molnar
2019-06-29 11:45 ` pr-tracker-bot
2019-06-02 17:44 Ingo Molnar
2019-06-02 18:15 ` pr-tracker-bot
2019-05-16 16:26 Ingo Molnar
2019-05-16 18:20 ` pr-tracker-bot
2019-04-27 14:42 Ingo Molnar
2019-04-27 18:45 ` pr-tracker-bot
2019-04-20 7:38 Ingo Molnar
2019-04-20 19:25 ` pr-tracker-bot
2019-04-12 13:10 Ingo Molnar
2019-04-13 4:05 ` pr-tracker-bot
2019-02-17 10:19 Ingo Molnar
2019-02-17 16:50 ` pr-tracker-bot
2019-02-10 9:13 Ingo Molnar
2019-02-10 18:30 ` pr-tracker-bot
2019-01-11 7:14 Ingo Molnar
2019-01-11 18:00 ` pr-tracker-bot
2018-12-21 12:25 Ingo Molnar
2018-12-21 19:30 ` pr-tracker-bot
2018-12-09 22:06 Ingo Molnar
2018-12-09 23:45 ` pr-tracker-bot
2018-11-30 6:29 Ingo Molnar
2018-11-30 21:00 ` pr-tracker-bot
2018-11-03 23:09 Ingo Molnar
2018-11-04 1:27 ` Linus Torvalds
2018-10-20 8:54 Ingo Molnar
2018-10-20 13:28 ` Greg Kroah-Hartman
2018-10-11 9:14 Ingo Molnar
2018-10-11 12:32 ` Greg Kroah-Hartman
2018-10-05 9:53 Ingo Molnar
2018-10-05 23:06 ` Greg Kroah-Hartman
2018-09-15 13:24 Ingo Molnar
2018-07-30 17:59 Ingo Molnar
2018-06-30 8:49 Ingo Molnar
2018-06-30 19:01 ` Linus Torvalds
2018-07-02 18:47 ` Andy Lutomirski
2018-07-02 18:53 ` Linus Torvalds
2018-07-03 7:56 ` Ingo Molnar
2018-03-31 10:36 Ingo Molnar
2018-02-15 0:45 Ingo Molnar
2018-01-17 15:41 Ingo Molnar
2018-01-17 20:35 ` Linus Torvalds
2018-01-18 0:24 ` Ingo Molnar
2018-01-18 0:29 ` Andrew Morton
2018-01-12 13:56 Ingo Molnar
2017-12-15 15:43 Ingo Molnar
2017-12-15 15:50 ` Andy Lutomirski
2017-12-15 16:07 ` Ingo Molnar
2017-12-17 3:25 ` Andy Lutomirski
2017-12-17 8:32 ` Ingo Molnar
2017-12-17 11:41 ` Thomas Gleixner
2017-12-17 15:15 ` Borislav Petkov
2017-12-06 22:36 Ingo Molnar
2017-11-26 12:48 Ingo Molnar
2017-11-05 14:46 Ingo Molnar
2017-10-27 19:24 Ingo Molnar
2017-10-14 16:16 Ingo Molnar
2017-09-24 11:28 Ingo Molnar
2017-09-13 17:54 Ingo Molnar
2017-09-12 15:38 Ingo Molnar
2017-08-26 7:26 Ingo Molnar
2017-07-21 10:26 Ingo Molnar
2017-06-10 9:03 Ingo Molnar
2017-06-02 6:54 Ingo Molnar
2017-05-12 7:39 Ingo Molnar
2017-03-07 20:40 Ingo Molnar
2017-02-28 8:08 Ingo Molnar
2017-02-11 18:18 Ingo Molnar
2017-02-02 21:04 Ingo Molnar
2017-01-15 10:06 Ingo Molnar
2016-12-23 22:57 Ingo Molnar
2016-12-07 18:53 Ingo Molnar
2016-11-22 15:41 Ingo Molnar
2016-11-14 8:03 Ingo Molnar
2016-10-28 8:41 Ingo Molnar
2016-10-22 11:16 Ingo Molnar
2016-10-18 11:22 Ingo Molnar
2016-09-13 18:20 Ingo Molnar
2016-08-18 20:49 Ingo Molnar
2016-08-12 19:46 Ingo Molnar
2016-08-06 6:13 Ingo Molnar
2016-07-13 12:54 Ingo Molnar
2016-07-08 14:00 Ingo Molnar
2016-06-10 14:43 Ingo Molnar
2016-05-25 22:00 Ingo Molnar
2016-05-10 12:01 Ingo Molnar
2016-05-06 19:20 Ingo Molnar
2016-04-28 18:00 Ingo Molnar
2016-04-23 11:38 Ingo Molnar
2016-04-14 14:13 Ingo Molnar
2016-03-24 8:01 Ingo Molnar
2016-03-12 19:06 Ingo Molnar
2016-02-20 11:30 Ingo Molnar
2016-01-14 10:16 Ingo Molnar
2016-01-08 12:57 Ingo Molnar
2015-10-23 11:45 Ingo Molnar
2015-10-03 10:24 Ingo Molnar
2015-10-03 10:57 ` Ingo Molnar
2015-10-03 19:40 ` Thomas Gleixner
2015-09-17 8:28 Ingo Molnar
2015-08-22 12:21 Ingo Molnar
2015-08-14 7:15 Ingo Molnar
2015-08-14 18:25 ` Linus Torvalds
2015-08-14 18:46 ` Andy Lutomirski
2015-08-14 18:57 ` Linus Torvalds
2015-08-14 19:06 ` Linus Torvalds
2015-08-14 19:18 ` Andy Lutomirski
2015-08-14 19:37 ` Linus Torvalds
2015-08-14 19:14 ` Andy Lutomirski
2015-08-17 8:01 ` Ingo Molnar
2015-08-17 10:59 ` Denys Vlasenko
2015-08-17 16:57 ` Linus Torvalds
2015-08-18 7:57 ` Ingo Molnar
2015-08-17 16:47 ` Linus Torvalds
2015-08-17 16:58 ` H. Peter Anvin
2015-08-17 17:17 ` Linus Torvalds
2015-08-17 22:17 ` H. Peter Anvin
2015-08-19 5:59 ` Ingo Molnar
2015-08-19 6:15 ` Ingo Molnar
2015-08-19 6:50 ` Ingo Molnar
2015-08-19 10:00 ` H. Peter Anvin
2015-08-19 22:33 ` Linus Torvalds
2015-08-20 6:54 ` H. Peter Anvin
2015-08-19 21:53 ` H. Peter Anvin
2015-08-21 10:17 ` Denys Vlasenko
2015-08-17 23:47 ` Bryan O'Donoghue
2015-08-17 21:03 ` H. Peter Anvin
2015-08-17 23:59 ` Andy Lutomirski
2015-08-18 0:01 ` H. Peter Anvin
2015-08-18 0:06 ` H. Peter Anvin
2015-08-18 0:19 ` Andy Lutomirski
2015-08-18 5:56 ` H. Peter Anvin
2015-08-18 5:59 ` H. Peter Anvin
2015-08-18 7:55 ` Ingo Molnar
2015-08-01 8:44 Ingo Molnar
2015-07-18 3:18 Ingo Molnar
2015-07-20 7:20 ` Heiko Carstens
2015-07-04 11:29 Ingo Molnar
2015-06-05 8:40 Ingo Molnar
2015-05-27 12:54 Ingo Molnar
2015-05-06 12:58 Ingo Molnar
2015-05-06 18:14 ` Linus Torvalds
2015-04-18 15:26 Ingo Molnar
2015-04-03 13:16 Ingo Molnar
2015-03-17 16:54 Ingo Molnar
2015-03-05 17:02 Ingo Molnar
2015-03-01 17:14 Ingo Molnar
2015-02-20 13:47 Ingo Molnar
2015-01-11 8:51 Ingo Molnar
2014-11-20 8:02 Ingo Molnar
2014-11-16 9:07 Ingo Molnar
2014-11-17 7:42 ` Markus Trippelsdorf
2014-11-17 8:27 ` Markus Trippelsdorf
2014-11-17 13:58 ` Ingo Molnar
2014-11-17 21:02 ` Kees Cook
2014-11-17 21:05 ` Markus Trippelsdorf
2014-11-17 21:21 ` Markus Trippelsdorf
2014-11-17 23:09 ` Kees Cook
2014-10-31 11:26 Ingo Molnar
2014-09-27 6:02 Ingo Molnar
2014-09-19 10:40 Ingo Molnar
2014-09-23 5:22 ` Linus Torvalds
2014-09-23 5:35 ` Ingo Molnar
2014-09-23 5:37 ` Ingo Molnar
2014-09-23 5:44 ` H. Peter Anvin
2014-09-23 5:59 ` Linus Torvalds
2014-09-23 6:07 ` Linus Torvalds
2014-09-23 6:56 ` Matt Fleming
[not found] ` <CA+55aFz+2tf7zEGjVmkVuncZssiDdVRKJ=OUfgnDFf2TYN-KvA@mail.gmail.com>
2014-09-23 7:35 ` Matt Fleming
2014-09-23 12:18 ` Josh Boyer
2014-09-23 5:58 ` Ingo Molnar
2014-09-23 7:20 ` Matt Fleming
2014-09-23 8:18 ` Ard Biesheuvel
2014-09-23 13:18 ` Matt Fleming
2014-09-23 13:59 ` Leif Lindholm
2014-09-23 14:25 ` Maarten Lankhorst
2014-09-23 14:37 ` Matt Fleming
2014-09-23 16:01 ` Linus Torvalds
2014-09-24 7:26 ` Ingo Molnar
2014-09-24 11:42 ` Matt Fleming
2014-09-24 13:08 ` Ingo Molnar
2014-09-24 13:18 ` Matt Fleming
2014-09-24 13:18 ` Ingo Molnar
2014-09-23 16:05 ` Linus Torvalds
2014-09-23 16:11 ` Matt Fleming
2014-09-23 16:17 ` Josh Boyer
2014-09-23 17:21 ` Josh Boyer
2014-09-23 20:43 ` Matt Fleming
2014-08-24 20:28 Ingo Molnar
2014-04-16 13:21 Ingo Molnar
2013-11-13 20:47 Ingo Molnar
2013-10-18 19:11 Ingo Molnar
2013-10-12 17:15 Ingo Molnar
2013-10-12 18:05 ` Linus Torvalds
2013-10-12 18:18 ` H. Peter Anvin
2013-10-12 18:49 ` Ingo Molnar
2013-10-15 7:15 ` Ingo Molnar
2013-10-15 10:57 ` Borislav Petkov
2013-10-12 19:28 ` Matthew Garrett
2013-10-12 19:41 ` Linus Torvalds
2013-10-12 20:35 ` H. Peter Anvin
2013-10-04 7:57 Ingo Molnar
2013-09-25 18:16 Ingo Molnar
2013-09-18 16:24 Ingo Molnar
2013-09-05 11:03 Ingo Molnar
2013-08-19 11:23 Ingo Molnar
2013-04-14 15:55 Ingo Molnar
2013-02-26 12:10 Ingo Molnar
2013-02-04 18:31 Ingo Molnar
2012-10-26 14:52 Ingo Molnar
2012-09-21 19:15 Ingo Molnar
2012-08-23 10:54 Ingo Molnar
2012-08-20 9:21 Ingo Molnar
2012-08-21 8:00 ` Ingo Molnar
2012-08-03 16:51 Ingo Molnar
2012-06-29 15:33 Ingo Molnar
2012-06-15 18:53 Ingo Molnar
2012-06-08 14:46 Ingo Molnar
2012-05-17 8:24 Ingo Molnar
2012-04-27 6:57 Ingo Molnar
2012-04-03 22:45 Ingo Molnar
2012-04-03 23:47 ` Konrad Rzeszutek Wilk
2012-04-04 6:56 ` Ingo Molnar
2012-04-04 13:03 ` Konrad Rzeszutek Wilk
2012-02-27 10:32 Ingo Molnar
2012-02-02 10:10 Ingo Molnar
2012-01-26 20:15 Ingo Molnar
2012-01-15 13:40 Ingo Molnar
2011-12-13 23:00 Ingo Molnar
2011-12-05 19:18 Ingo Molnar
2011-07-07 18:24 Ingo Molnar
2011-06-19 9:09 Ingo Molnar
2011-06-13 9:49 Ingo Molnar
2011-06-07 18:44 Ingo Molnar
2011-05-31 16:30 Ingo Molnar
2011-05-31 16:35 ` Joe Perches
2011-05-31 18:16 ` Borislav Petkov
2011-05-31 19:04 ` Ingo Molnar
2011-05-31 19:51 ` Borislav Petkov
2011-05-31 21:35 ` Linus Torvalds
2011-06-01 6:00 ` Ingo Molnar
2011-06-01 6:08 ` Joe Perches
2011-06-01 6:18 ` Borislav Petkov
2011-06-01 6:24 ` Ingo Molnar
2011-05-23 10:19 Ingo Molnar
2011-05-17 21:43 Ingo Molnar
2011-05-03 11:44 Ingo Molnar
2011-04-29 18:02 Ingo Molnar
2011-04-21 16:06 Ingo Molnar
2011-04-16 10:11 Ingo Molnar
2011-04-07 17:36 Ingo Molnar
2011-04-02 10:52 Ingo Molnar
2011-03-25 13:35 Ingo Molnar
2011-03-22 10:20 Ingo Molnar
2011-03-18 13:54 Ingo Molnar
2011-03-16 16:21 Ingo Molnar
2011-03-10 8:10 Ingo Molnar
2011-02-28 17:37 Ingo Molnar
2011-02-25 19:58 Ingo Molnar
2011-02-15 16:36 Ingo Molnar
2011-02-06 11:18 Ingo Molnar
2011-01-27 17:28 Ingo Molnar
2011-01-24 13:01 Ingo Molnar
2011-01-19 19:01 Ingo Molnar
2011-01-18 19:05 Ingo Molnar
2011-01-15 15:17 Ingo Molnar
2010-12-19 15:30 Ingo Molnar
2010-11-26 13:27 Ingo Molnar
2010-11-11 11:03 Ingo Molnar
2010-10-27 16:05 Ingo Molnar
2010-10-27 16:07 ` Ingo Molnar
2010-09-26 8:50 Ingo Molnar
2010-09-08 13:08 Ingo Molnar
2010-06-02 11:49 Ingo Molnar
2010-03-30 12:30 Ingo Molnar
2010-03-26 15:43 Ingo Molnar
2010-03-29 15:47 ` Linus Torvalds
2010-03-29 16:47 ` Ingo Molnar
2010-03-13 16:39 Ingo Molnar
2010-01-31 17:19 Ingo Molnar
2010-01-16 17:03 Ingo Molnar
2010-01-16 20:34 ` Linus Torvalds
2010-01-16 20:53 ` Cyrill Gorcunov
2010-01-16 21:16 ` Ian Campbell
2010-01-16 22:12 ` Cyrill Gorcunov
2010-01-17 0:50 ` H. Peter Anvin
2010-01-16 21:06 ` H. Peter Anvin
2010-01-16 21:09 ` H. Peter Anvin
2010-01-17 0:18 ` Brian Gerst
2010-01-17 6:00 ` Ian Campbell
2009-12-31 12:03 Ingo Molnar
2009-12-31 12:56 ` Borislav Petkov
2009-12-18 18:56 Ingo Molnar
2009-12-15 20:36 Ingo Molnar
2009-12-14 19:06 Ingo Molnar
2009-12-10 19:42 Ingo Molnar
2009-11-10 17:40 Ingo Molnar
2009-11-04 15:48 Ingo Molnar
2009-11-01 15:24 Ingo Molnar
2009-10-23 14:40 Ingo Molnar
2009-10-15 10:55 Ingo Molnar
2009-10-13 18:15 Ingo Molnar
2009-10-08 18:57 Ingo Molnar
2009-10-02 12:36 Ingo Molnar
2009-09-26 12:21 Ingo Molnar
2009-09-21 12:59 Ingo Molnar
2009-08-28 10:40 Ingo Molnar
2009-08-25 18:00 Ingo Molnar
2009-08-17 21:37 Ingo Molnar
2009-08-13 18:49 Ingo Molnar
2009-08-09 16:01 Ingo Molnar
2009-08-04 18:55 Ingo Molnar
2009-06-26 19:07 Ingo Molnar
2009-06-12 10:47 Ingo Molnar
2009-05-18 14:38 Ingo Molnar
2009-05-08 18:46 Ingo Molnar
2009-05-05 9:26 Ingo Molnar
2009-04-26 17:18 Ingo Molnar
2009-04-17 1:32 Ingo Molnar
2009-04-13 17:36 Ingo Molnar
2009-04-09 15:47 Ingo Molnar
2009-04-03 22:46 Ingo Molnar
2009-03-06 18:36 [git pull] " Ingo Molnar
2009-03-03 20:59 Ingo Molnar
2009-03-02 8:47 Ingo Molnar
2009-02-27 16:28 Ingo Molnar
2009-02-21 17:08 Ingo Molnar
2009-02-20 14:18 Ingo Molnar
2009-02-19 17:10 Ingo Molnar
2009-02-21 2:13 ` Linus Torvalds
2009-02-21 6:56 ` H. Peter Anvin
2009-02-21 8:32 ` Ingo Molnar
2009-02-21 8:39 ` Ingo Molnar
2009-02-21 8:42 ` H. Peter Anvin
2009-02-21 9:18 ` Sam Ravnborg
2009-02-21 9:46 ` Ingo Molnar
2009-02-17 16:36 Ingo Molnar
2009-02-11 14:31 Ingo Molnar
2009-02-04 19:22 Ingo Molnar
2009-01-30 23:00 Ingo Molnar
2009-01-26 17:17 Ingo Molnar
2009-01-26 19:05 ` Andrew Morton
2009-01-26 19:20 ` Ingo Molnar
2009-01-26 19:40 ` Andrew Morton
2009-01-26 19:59 ` Ingo Molnar
2009-01-26 20:14 ` Andrew Morton
2009-01-26 20:28 ` Ingo Molnar
2009-01-19 23:23 Ingo Molnar
2009-01-12 18:28 Ingo Molnar
2009-01-11 14:39 Ingo Molnar
2009-01-11 16:45 ` Torsten Kaiser
2009-01-11 18:18 ` Ingo Molnar
2009-01-12 18:17 ` Pallipadi, Venkatesh
2009-01-12 19:01 ` Torsten Kaiser
2009-01-12 19:19 ` Pallipadi, Venkatesh
2009-01-12 19:29 ` Pallipadi, Venkatesh
2009-01-12 19:47 ` Linus Torvalds
2009-01-12 19:54 ` Pallipadi, Venkatesh
2009-01-12 20:38 ` Ingo Molnar
2009-01-12 20:52 ` Ingo Molnar
2009-01-12 21:03 ` Harvey Harrison
2009-01-12 21:12 ` Ingo Molnar
2009-01-12 21:55 ` Torsten Kaiser
2009-01-12 22:03 ` Ingo Molnar
2009-01-12 20:05 ` Torsten Kaiser
2009-01-12 20:40 ` Ingo Molnar
2009-01-12 21:50 ` Torsten Kaiser
2009-01-12 22:13 ` Ingo Molnar
2009-01-13 19:20 ` Torsten Kaiser
2009-01-12 22:16 ` Ingo Molnar
2009-01-02 21:48 Ingo Molnar
2008-12-20 13:43 Ingo Molnar
2008-12-20 19:16 ` Linus Torvalds
2008-12-20 19:31 ` Ingo Molnar
2008-12-20 22:11 ` Linus Torvalds
2008-12-20 20:58 ` Joerg Roedel
2008-12-08 18:26 Ingo Molnar
2008-12-04 19:46 Ingo Molnar
2008-11-29 19:31 Ingo Molnar
2008-11-20 11:22 Ingo Molnar
2008-11-18 20:35 Ingo Molnar
2008-11-06 21:29 Ingo Molnar
2008-11-01 17:06 Ingo Molnar
2008-10-30 23:34 Ingo Molnar
2008-10-28 10:49 Ingo Molnar
2008-10-23 19:33 Ingo Molnar
2008-10-17 17:27 Ingo Molnar
2008-10-15 16:32 Ingo Molnar
2008-10-01 18:05 Ingo Molnar
2008-09-27 21:02 Ingo Molnar
2008-09-23 19:34 Ingo Molnar
2008-09-17 9:58 Ingo Molnar
2008-09-09 19:03 H. Peter Anvin
2008-09-08 19:32 H. Peter Anvin
2008-09-08 20:34 ` David Sanders
2008-09-08 21:20 ` H. Peter Anvin
2008-09-08 21:22 ` H. Peter Anvin
2008-09-08 21:43 ` H. Peter Anvin
2008-09-08 22:16 ` David Sanders
2008-09-09 6:05 ` Ingo Molnar
2008-09-09 7:19 ` Ingo Molnar
2008-09-09 19:18 ` David Sanders
2008-09-09 19:56 ` Linus Torvalds
2008-09-09 20:37 ` David Sanders
2008-09-09 20:45 ` Linus Torvalds
2008-09-09 20:46 ` Linus Torvalds
2008-09-09 20:49 ` Ingo Molnar
2008-09-09 20:53 ` David Sanders
2008-09-08 17:52 H. Peter Anvin
2008-09-08 18:04 ` Linus Torvalds
2008-09-08 18:17 ` Linus Torvalds
2008-09-08 22:42 ` Andi Kleen
2008-09-08 18:22 ` H. Peter Anvin
2008-09-08 18:46 ` Arjan van de Ven
2008-09-08 18:51 ` H. Peter Anvin
2008-09-08 19:02 ` Ingo Molnar
2008-09-08 19:30 ` Linus Torvalds
2008-09-08 19:55 ` Arjan van de Ven
2008-09-08 20:14 ` H. Peter Anvin
2008-09-08 23:17 ` Krzysztof Halasa
2008-09-08 18:42 ` Arjan van de Ven
2008-09-09 10:24 ` Andi Kleen
2008-09-09 14:54 ` Linus Torvalds
2008-09-09 17:01 ` H. Peter Anvin
2008-09-09 17:17 ` Mark Lord
2008-09-09 17:19 ` H. Peter Anvin
2008-09-09 17:48 ` Mark Lord
2008-09-09 18:40 ` Andi Kleen
2008-09-09 16:05 ` Adrian Bunk
2008-09-09 16:15 ` Linus Torvalds
2008-09-08 20:25 ` Valdis.Kletnieks
2008-09-09 7:27 ` Ingo Molnar
2008-09-08 22:43 ` Andi Kleen
2008-09-09 16:57 ` Adrian Bunk
2008-09-09 17:03 ` H. Peter Anvin
2008-09-09 17:43 ` Adrian Bunk
2008-09-09 18:12 ` H. Peter Anvin
2008-09-06 19:01 Ingo Molnar
2008-09-05 18:51 Ingo Molnar
2008-08-28 11:41 Ingo Molnar
2008-08-25 17:50 Ingo Molnar
2008-08-22 12:23 Ingo Molnar
2008-08-18 18:36 Ingo Molnar
2008-07-31 21:42 Ingo Molnar
2008-07-29 15:53 Ingo Molnar
2008-07-26 19:15 Ingo Molnar
2008-07-24 15:12 Ingo Molnar
2008-07-24 19:36 ` Linus Torvalds
2008-07-24 20:38 ` H. Peter Anvin
2008-07-22 14:03 Ingo Molnar
2008-07-22 14:35 ` Johannes Weiner
2008-07-22 15:08 ` Jeremy Fitzhardinge
2008-07-22 15:23 ` Johannes Weiner
2008-07-17 17:32 Ingo Molnar
2008-07-15 15:01 Ingo Molnar
2008-07-15 15:13 ` Ingo Molnar
2008-07-15 16:03 ` Linus Torvalds
2008-07-05 19:29 Ingo Molnar
2008-07-04 16:48 Ingo Molnar
2008-06-30 15:30 Ingo Molnar
2008-06-19 15:13 Ingo Molnar
2008-06-19 21:29 ` Simon Holm Thøgersen
2008-06-19 23:34 ` Suresh Siddha
2008-06-12 19:51 Ingo Molnar
2008-05-13 19:27 Ingo Molnar
2008-05-13 19:40 ` Adrian Bunk
2008-05-13 20:02 ` Adrian Bunk
2008-05-13 20:38 ` Adrian Bunk
2008-05-13 21:01 ` H. Peter Anvin
2008-05-13 20:20 ` Linus Torvalds
2008-05-04 19:35 Ingo Molnar
2008-05-05 15:12 ` Adrian Bunk
2008-05-05 15:29 ` Andres Salomon
2008-05-06 12:49 ` Thomas Gleixner
2008-05-07 15:41 ` Andres Salomon
2008-05-07 19:08 ` Thomas Gleixner
2008-05-07 19:48 ` Andres Salomon
2008-05-07 20:07 ` Andrew Morton
2008-05-09 10:28 ` Ingo Molnar
2008-04-30 21:24 Ingo Molnar
2008-04-24 21:37 Ingo Molnar
2008-04-07 19:38 Ingo Molnar
2008-03-27 20:03 Ingo Molnar
2008-03-27 20:31 ` Linus Torvalds
2008-03-27 20:48 ` Harvey Harrison
2008-03-27 20:55 ` Ingo Molnar
2008-03-27 21:01 ` Ingo Molnar
2008-03-27 21:08 ` Harvey Harrison
2008-03-27 20:50 ` Ingo Molnar
2008-03-27 21:24 ` Ingo Molnar
2008-03-26 21:41 Ingo Molnar
2008-03-21 16:20 Ingo Molnar
2008-03-11 16:12 Ingo Molnar
2008-03-07 15:50 Ingo Molnar
2008-03-04 16:59 Ingo Molnar
2008-03-03 13:18 Ingo Molnar
2008-01-01 17:21 Ingo Molnar
2007-12-21 0:46 Ingo Molnar
2007-12-19 23:04 Ingo Molnar
2007-12-04 16:41 Ingo Molnar
2007-12-02 19:12 Ingo Molnar
2007-12-03 16:23 ` Linus Torvalds
2007-12-03 16:38 ` Ingo Molnar
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=20141214194624.GA4498@gmail.com \
--to=mingo@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.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).