From: Ingo Molnar <mingo@elte.hu> To: Linus Torvalds <torvalds@linux-foundation.org> Cc: linux-kernel@vger.kernel.org, Andrew Morton <akpm@linux-foundation.org>, "H. Peter Anvin" <hpa@zytor.com>, Thomas Gleixner <tglx@linutronix.de> Subject: [git pull] x86 fixes Date: Tue, 17 Feb 2009 17:36:18 +0100 Message-ID: <20090217163618.GA3100@elte.hu> (raw) Linus, Please pull the latest x86-fixes-for-linus git tree from: git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git x86-fixes-for-linus out-of-topic modifications in x86-fixes-for-linus: -------------------------------------------------- include/linux/mm.h # 9f339e7: x86, ptrace, mm: fix double-free mm/mlock.c # 9f339e7: x86, ptrace, mm: fix double-free Thanks, Ingo ------------------> Chris Ball (1): x86, olpc: fix model detection without OFW Jeremy Fitzhardinge (2): x86/cpa: make sure cpa is safe to call in lazy mmu mode x86/paravirt: make arch_flush_lazy_mmu/cpu disable preemption John Stultz (1): x86, hpet: fix for LS21 + HPET = boot hang Markus Metzger (1): x86, ptrace, mm: fix double-free on race Suresh Siddha (1): x86, pat: fix warn_on_once() while mapping 0-1MB range with /dev/mem Thomas Gleixner (3): x86: warn if arch_flush_lazy_mmu_cpu is called in preemptible context x86: CPA avoid repeated lazy mmu flush x86, vm86: fix preemption bug arch/x86/include/asm/page.h | 1 - arch/x86/include/asm/paravirt.h | 17 +------- arch/x86/kernel/hpet.c | 2 + arch/x86/kernel/olpc.c | 2 +- arch/x86/kernel/paravirt.c | 26 ++++++++++++ arch/x86/kernel/ptrace.c | 16 +++++--- arch/x86/kernel/traps.c | 10 ++++- arch/x86/mm/ioremap.c | 19 --------- arch/x86/mm/pageattr.c | 15 +++++++- arch/x86/mm/pat.c | 83 +++++++++++++++++++++------------------ include/linux/mm.h | 1 + mm/mlock.c | 7 +++- 12 files changed, 116 insertions(+), 83 deletions(-) diff --git a/arch/x86/include/asm/page.h b/arch/x86/include/asm/page.h index e9873a2..7765791 100644 --- a/arch/x86/include/asm/page.h +++ b/arch/x86/include/asm/page.h @@ -57,7 +57,6 @@ typedef struct { pgdval_t pgd; } pgd_t; typedef struct { pgprotval_t pgprot; } pgprot_t; extern int page_is_ram(unsigned long pagenr); -extern int pagerange_is_ram(unsigned long start, unsigned long end); extern int devmem_is_allowed(unsigned long pagenr); extern void map_devmem(unsigned long pfn, unsigned long size, pgprot_t vma_prot); diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h index ba3e2ff..a660ece 100644 --- a/arch/x86/include/asm/paravirt.h +++ b/arch/x86/include/asm/paravirt.h @@ -1352,14 +1352,7 @@ static inline void arch_leave_lazy_cpu_mode(void) PVOP_VCALL0(pv_cpu_ops.lazy_mode.leave); } -static inline void arch_flush_lazy_cpu_mode(void) -{ - if (unlikely(paravirt_get_lazy_mode() == PARAVIRT_LAZY_CPU)) { - arch_leave_lazy_cpu_mode(); - arch_enter_lazy_cpu_mode(); - } -} - +void arch_flush_lazy_cpu_mode(void); #define __HAVE_ARCH_ENTER_LAZY_MMU_MODE static inline void arch_enter_lazy_mmu_mode(void) @@ -1372,13 +1365,7 @@ static inline void arch_leave_lazy_mmu_mode(void) PVOP_VCALL0(pv_mmu_ops.lazy_mode.leave); } -static inline void arch_flush_lazy_mmu_mode(void) -{ - if (unlikely(paravirt_get_lazy_mode() == PARAVIRT_LAZY_MMU)) { - arch_leave_lazy_mmu_mode(); - arch_enter_lazy_mmu_mode(); - } -} +void arch_flush_lazy_mmu_mode(void); static inline void __set_fixmap(unsigned /* enum fixed_addresses */ idx, unsigned long phys, pgprot_t flags) diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c index 64d5ad0..5c8da2c 100644 --- a/arch/x86/kernel/hpet.c +++ b/arch/x86/kernel/hpet.c @@ -269,6 +269,8 @@ static void hpet_set_mode(enum clock_event_mode mode, now = hpet_readl(HPET_COUNTER); cmp = now + (unsigned long) delta; cfg = hpet_readl(HPET_Tn_CFG(timer)); + /* Make sure we use edge triggered interrupts */ + cfg &= ~HPET_TN_LEVEL; cfg |= HPET_TN_ENABLE | HPET_TN_PERIODIC | HPET_TN_SETVAL | HPET_TN_32BIT; hpet_writel(cfg, HPET_Tn_CFG(timer)); diff --git a/arch/x86/kernel/olpc.c b/arch/x86/kernel/olpc.c index 7a13fac..4006c52 100644 --- a/arch/x86/kernel/olpc.c +++ b/arch/x86/kernel/olpc.c @@ -203,7 +203,7 @@ static void __init platform_detect(void) static void __init platform_detect(void) { /* stopgap until OFW support is added to the kernel */ - olpc_platform_info.boardrev = 0xc2; + olpc_platform_info.boardrev = olpc_board(0xc2); } #endif diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c index e4c8fb6..c6520a4 100644 --- a/arch/x86/kernel/paravirt.c +++ b/arch/x86/kernel/paravirt.c @@ -268,6 +268,32 @@ enum paravirt_lazy_mode paravirt_get_lazy_mode(void) return __get_cpu_var(paravirt_lazy_mode); } +void arch_flush_lazy_mmu_mode(void) +{ + preempt_disable(); + + if (paravirt_get_lazy_mode() == PARAVIRT_LAZY_MMU) { + WARN_ON(preempt_count() == 1); + arch_leave_lazy_mmu_mode(); + arch_enter_lazy_mmu_mode(); + } + + preempt_enable(); +} + +void arch_flush_lazy_cpu_mode(void) +{ + preempt_disable(); + + if (paravirt_get_lazy_mode() == PARAVIRT_LAZY_CPU) { + WARN_ON(preempt_count() == 1); + arch_leave_lazy_cpu_mode(); + arch_enter_lazy_cpu_mode(); + } + + preempt_enable(); +} + struct pv_info pv_info = { .name = "bare hardware", .paravirt_enabled = 0, diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c index 0a5df5f..5a4c23d 100644 --- a/arch/x86/kernel/ptrace.c +++ b/arch/x86/kernel/ptrace.c @@ -810,12 +810,16 @@ static void ptrace_bts_untrace(struct task_struct *child) static void ptrace_bts_detach(struct task_struct *child) { - if (unlikely(child->bts)) { - ds_release_bts(child->bts); - child->bts = NULL; - - ptrace_bts_free_buffer(child); - } + /* + * Ptrace_detach() races with ptrace_untrace() in case + * the child dies and is reaped by another thread. + * + * We only do the memory accounting at this point and + * leave the buffer deallocation and the bts tracer + * release to ptrace_bts_untrace() which will be called + * later on with tasklist_lock held. + */ + release_locked_buffer(child->bts_buffer, child->bts_size); } #else static inline void ptrace_bts_fork(struct task_struct *tsk) {} diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c index 7932338..a9e7548 100644 --- a/arch/x86/kernel/traps.c +++ b/arch/x86/kernel/traps.c @@ -99,6 +99,12 @@ static inline void preempt_conditional_sti(struct pt_regs *regs) local_irq_enable(); } +static inline void conditional_cli(struct pt_regs *regs) +{ + if (regs->flags & X86_EFLAGS_IF) + local_irq_disable(); +} + static inline void preempt_conditional_cli(struct pt_regs *regs) { if (regs->flags & X86_EFLAGS_IF) @@ -626,8 +632,10 @@ clear_dr7: #ifdef CONFIG_X86_32 debug_vm86: + /* reenable preemption: handle_vm86_trap() might sleep */ + dec_preempt_count(); handle_vm86_trap((struct kernel_vm86_regs *) regs, error_code, 1); - preempt_conditional_cli(regs); + conditional_cli(regs); return; #endif diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c index af750ab..f45d5e2 100644 --- a/arch/x86/mm/ioremap.c +++ b/arch/x86/mm/ioremap.c @@ -134,25 +134,6 @@ int page_is_ram(unsigned long pagenr) return 0; } -int pagerange_is_ram(unsigned long start, unsigned long end) -{ - int ram_page = 0, not_rampage = 0; - unsigned long page_nr; - - for (page_nr = (start >> PAGE_SHIFT); page_nr < (end >> PAGE_SHIFT); - ++page_nr) { - if (page_is_ram(page_nr)) - ram_page = 1; - else - not_rampage = 1; - - if (ram_page == not_rampage) - return -1; - } - - return ram_page; -} - /* * Fix up the linear direct mapping of the kernel to avoid cache attribute * conflicts. diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c index 84ba748..8ca0d85 100644 --- a/arch/x86/mm/pageattr.c +++ b/arch/x86/mm/pageattr.c @@ -575,7 +575,6 @@ static int __change_page_attr(struct cpa_data *cpa, int primary) address = cpa->vaddr[cpa->curpage]; else address = *cpa->vaddr; - repeat: kpte = lookup_address(address, &level); if (!kpte) @@ -812,6 +811,13 @@ static int change_page_attr_set_clr(unsigned long *addr, int numpages, vm_unmap_aliases(); + /* + * If we're called with lazy mmu updates enabled, the + * in-memory pte state may be stale. Flush pending updates to + * bring them up to date. + */ + arch_flush_lazy_mmu_mode(); + cpa.vaddr = addr; cpa.numpages = numpages; cpa.mask_set = mask_set; @@ -854,6 +860,13 @@ static int change_page_attr_set_clr(unsigned long *addr, int numpages, } else cpa_flush_all(cache); + /* + * If we've been called with lazy mmu updates enabled, then + * make sure that everything gets flushed out before we + * return. + */ + arch_flush_lazy_mmu_mode(); + out: return ret; } diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c index 7b61036..aebbf67 100644 --- a/arch/x86/mm/pat.c +++ b/arch/x86/mm/pat.c @@ -211,6 +211,33 @@ chk_conflict(struct memtype *new, struct memtype *entry, unsigned long *type) static struct memtype *cached_entry; static u64 cached_start; +static int pat_pagerange_is_ram(unsigned long start, unsigned long end) +{ + int ram_page = 0, not_rampage = 0; + unsigned long page_nr; + + for (page_nr = (start >> PAGE_SHIFT); page_nr < (end >> PAGE_SHIFT); + ++page_nr) { + /* + * For legacy reasons, physical address range in the legacy ISA + * region is tracked as non-RAM. This will allow users of + * /dev/mem to map portions of legacy ISA region, even when + * some of those portions are listed(or not even listed) with + * different e820 types(RAM/reserved/..) + */ + if (page_nr >= (ISA_END_ADDRESS >> PAGE_SHIFT) && + page_is_ram(page_nr)) + ram_page = 1; + else + not_rampage = 1; + + if (ram_page == not_rampage) + return -1; + } + + return ram_page; +} + /* * For RAM pages, mark the pages as non WB memory type using * PageNonWB (PG_arch_1). We allow only one set_memory_uc() or @@ -336,20 +363,12 @@ int reserve_memtype(u64 start, u64 end, unsigned long req_type, if (new_type) *new_type = actual_type; - /* - * For legacy reasons, some parts of the physical address range in the - * legacy 1MB region is treated as non-RAM (even when listed as RAM in - * the e820 tables). So we will track the memory attributes of this - * legacy 1MB region using the linear memtype_list always. - */ - if (end >= ISA_END_ADDRESS) { - is_range_ram = pagerange_is_ram(start, end); - if (is_range_ram == 1) - return reserve_ram_pages_type(start, end, req_type, - new_type); - else if (is_range_ram < 0) - return -EINVAL; - } + is_range_ram = pat_pagerange_is_ram(start, end); + if (is_range_ram == 1) + return reserve_ram_pages_type(start, end, req_type, + new_type); + else if (is_range_ram < 0) + return -EINVAL; new = kmalloc(sizeof(struct memtype), GFP_KERNEL); if (!new) @@ -446,19 +465,11 @@ int free_memtype(u64 start, u64 end) if (is_ISA_range(start, end - 1)) return 0; - /* - * For legacy reasons, some parts of the physical address range in the - * legacy 1MB region is treated as non-RAM (even when listed as RAM in - * the e820 tables). So we will track the memory attributes of this - * legacy 1MB region using the linear memtype_list always. - */ - if (end >= ISA_END_ADDRESS) { - is_range_ram = pagerange_is_ram(start, end); - if (is_range_ram == 1) - return free_ram_pages_type(start, end); - else if (is_range_ram < 0) - return -EINVAL; - } + is_range_ram = pat_pagerange_is_ram(start, end); + if (is_range_ram == 1) + return free_ram_pages_type(start, end); + else if (is_range_ram < 0) + return -EINVAL; spin_lock(&memtype_lock); list_for_each_entry(entry, &memtype_list, nd) { @@ -626,17 +637,13 @@ static int reserve_pfn_range(u64 paddr, unsigned long size, pgprot_t *vma_prot, unsigned long flags; unsigned long want_flags = (pgprot_val(*vma_prot) & _PAGE_CACHE_MASK); - is_ram = pagerange_is_ram(paddr, paddr + size); + is_ram = pat_pagerange_is_ram(paddr, paddr + size); - if (is_ram != 0) { - /* - * For mapping RAM pages, drivers need to call - * set_memory_[uc|wc|wb] directly, for reserve and free, before - * setting up the PTE. - */ - WARN_ON_ONCE(1); - return 0; - } + /* + * reserve_pfn_range() doesn't support RAM pages. + */ + if (is_ram != 0) + return -EINVAL; ret = reserve_memtype(paddr, paddr + size, want_flags, &flags); if (ret) @@ -693,7 +700,7 @@ static void free_pfn_range(u64 paddr, unsigned long size) { int is_ram; - is_ram = pagerange_is_ram(paddr, paddr + size); + is_ram = pat_pagerange_is_ram(paddr, paddr + size); if (is_ram == 0) free_memtype(paddr, paddr + size); } diff --git a/include/linux/mm.h b/include/linux/mm.h index e8ddc98..3d7fb44 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -1305,5 +1305,6 @@ void vmemmap_populate_print_last(void); extern void *alloc_locked_buffer(size_t size); extern void free_locked_buffer(void *buffer, size_t size); +extern void release_locked_buffer(void *buffer, size_t size); #endif /* __KERNEL__ */ #endif /* _LINUX_MM_H */ diff --git a/mm/mlock.c b/mm/mlock.c index 028ec48..2b57f7e 100644 --- a/mm/mlock.c +++ b/mm/mlock.c @@ -657,7 +657,7 @@ void *alloc_locked_buffer(size_t size) return buffer; } -void free_locked_buffer(void *buffer, size_t size) +void release_locked_buffer(void *buffer, size_t size) { unsigned long pgsz = PAGE_ALIGN(size) >> PAGE_SHIFT; @@ -667,6 +667,11 @@ void free_locked_buffer(void *buffer, size_t size) current->mm->locked_vm -= pgsz; up_write(¤t->mm->mmap_sem); +} + +void free_locked_buffer(void *buffer, size_t size) +{ + release_locked_buffer(buffer, size); kfree(buffer); }
next reply index Thread overview: 531+ messages / expand[flat|nested] mbox.gz Atom feed top 2009-02-17 16:36 Ingo Molnar [this message] -- strict thread matches above, loose matches on Subject: below -- 2020-10-11 8:08 [GIT PULL] " 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-12-14 19:46 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-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=20090217163618.GA3100@elte.hu \ --to=mingo@elte.hu \ --cc=akpm@linux-foundation.org \ --cc=hpa@zytor.com \ --cc=linux-kernel@vger.kernel.org \ --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
LKML Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/lkml/0 lkml/git/0.git git clone --mirror https://lore.kernel.org/lkml/1 lkml/git/1.git git clone --mirror https://lore.kernel.org/lkml/2 lkml/git/2.git git clone --mirror https://lore.kernel.org/lkml/3 lkml/git/3.git git clone --mirror https://lore.kernel.org/lkml/4 lkml/git/4.git git clone --mirror https://lore.kernel.org/lkml/5 lkml/git/5.git git clone --mirror https://lore.kernel.org/lkml/6 lkml/git/6.git git clone --mirror https://lore.kernel.org/lkml/7 lkml/git/7.git git clone --mirror https://lore.kernel.org/lkml/8 lkml/git/8.git git clone --mirror https://lore.kernel.org/lkml/9 lkml/git/9.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 lkml lkml/ https://lore.kernel.org/lkml \ linux-kernel@vger.kernel.org public-inbox-index lkml Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git