stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: lizf@kernel.org
To: stable@vger.kernel.org
Cc: linux-kernel@vger.kernel.org,
	Suresh Siddha <suresh.b.siddha@intel.com>,
	Avi Kivity <avi@redhat.com>,
	"H. Peter Anvin" <hpa@linux.intel.com>,
	Zefan Li <lizefan@huawei.com>, Rui Xiang <rui.xiang@huawei.com>
Subject: [PATCH 3.4 137/146] x86, kvm: fix kvm's usage of kernel_fpu_begin/end()
Date: Tue, 15 Sep 2015 17:04:12 +0800	[thread overview]
Message-ID: <1442307861-32031-137-git-send-email-lizf@kernel.org> (raw)
In-Reply-To: <1442307787-31952-1-git-send-email-lizf@kernel.org>

From: Suresh Siddha <suresh.b.siddha@intel.com>

3.4.109-rc1 review patch.  If anyone has any objections, please let me know.

------------------


commit b1a74bf8212367be2b1d6685c11a84e056eaaaf1 upstream.

Preemption is disabled between kernel_fpu_begin/end() and as such
it is not a good idea to use these routines in kvm_load/put_guest_fpu()
which can be very far apart.

kvm_load/put_guest_fpu() routines are already called with
preemption disabled and KVM already uses the preempt notifier to save
the guest fpu state using kvm_put_guest_fpu().

So introduce __kernel_fpu_begin/end() routines which don't touch
preemption and use them instead of kernel_fpu_begin/end()
for KVM's use model of saving/restoring guest FPU state.

Also with this change (and with eagerFPU model), fix the host cr0.TS vm-exit
state in the case of VMX. For eagerFPU case, host cr0.TS is always clear.
So no need to worry about it. For the traditional lazyFPU restore case,
change the cr0.TS bit for the host state during vm-exit to be always clear
and cr0.TS bit is set in the __vmx_load_host_state() when the FPU
(guest FPU or the host task's FPU) state is not active. This ensures
that the host/guest FPU state is properly saved, restored
during context-switch and with interrupts (using irq_fpu_usable()) not
stomping on the active FPU state.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Link: http://lkml.kernel.org/r/1348164109.26695.338.camel@sbsiddha-desk.sc.intel.com
Cc: Avi Kivity <avi@redhat.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Zefan Li <lizefan@huawei.com>
[xr: Backported to 3.4: Adjust context]
Signed-off-by: Rui Xiang <rui.xiang@huawei.com>
Signed-off-by: Zefan Li <lizefan@huawei.com>
---
 arch/x86/include/asm/i387.h | 28 ++++++++++++++++++++++++++--
 arch/x86/kernel/i387.c      | 13 +++++--------
 arch/x86/kvm/vmx.c          | 10 +++++++---
 arch/x86/kvm/x86.c          |  4 ++--
 4 files changed, 40 insertions(+), 15 deletions(-)

diff --git a/arch/x86/include/asm/i387.h b/arch/x86/include/asm/i387.h
index 257d9cc..1262fb6 100644
--- a/arch/x86/include/asm/i387.h
+++ b/arch/x86/include/asm/i387.h
@@ -23,8 +23,32 @@ extern int dump_fpu(struct pt_regs *, struct user_i387_struct *);
 extern void math_state_restore(void);
 
 extern bool irq_fpu_usable(void);
-extern void kernel_fpu_begin(void);
-extern void kernel_fpu_end(void);
+
+/*
+ * Careful: __kernel_fpu_begin/end() must be called with preempt disabled
+ * and they don't touch the preempt state on their own.
+ * If you enable preemption after __kernel_fpu_begin(), preempt notifier
+ * should call the __kernel_fpu_end() to prevent the kernel/user FPU
+ * state from getting corrupted. KVM for example uses this model.
+ *
+ * All other cases use kernel_fpu_begin/end() which disable preemption
+ * during kernel FPU usage.
+ */
+extern void __kernel_fpu_begin(void);
+extern void __kernel_fpu_end(void);
+
+static inline void kernel_fpu_begin(void)
+{
+	WARN_ON_ONCE(!irq_fpu_usable());
+	preempt_disable();
+	__kernel_fpu_begin();
+}
+
+static inline void kernel_fpu_end(void)
+{
+	__kernel_fpu_end();
+	preempt_enable();
+}
 
 /*
  * Some instructions like VIA's padlock instructions generate a spurious
diff --git a/arch/x86/kernel/i387.c b/arch/x86/kernel/i387.c
index 6610e81..7aa728d 100644
--- a/arch/x86/kernel/i387.c
+++ b/arch/x86/kernel/i387.c
@@ -77,29 +77,26 @@ bool irq_fpu_usable(void)
 }
 EXPORT_SYMBOL(irq_fpu_usable);
 
-void kernel_fpu_begin(void)
+void __kernel_fpu_begin(void)
 {
 	struct task_struct *me = current;
 
-	WARN_ON_ONCE(!irq_fpu_usable());
-	preempt_disable();
 	if (__thread_has_fpu(me)) {
 		__save_init_fpu(me);
 		__thread_clear_has_fpu(me);
-		/* We do 'stts()' in kernel_fpu_end() */
+		/* We do 'stts()' in __kernel_fpu_end() */
 	} else {
 		percpu_write(fpu_owner_task, NULL);
 		clts();
 	}
 }
-EXPORT_SYMBOL(kernel_fpu_begin);
+EXPORT_SYMBOL(__kernel_fpu_begin);
 
-void kernel_fpu_end(void)
+void __kernel_fpu_end(void)
 {
 	stts();
-	preempt_enable();
 }
-EXPORT_SYMBOL(kernel_fpu_end);
+EXPORT_SYMBOL(__kernel_fpu_end);
 
 void unlazy_fpu(struct task_struct *tsk)
 {
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index 2eb4e5a..4ad0d71 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -1455,8 +1455,12 @@ static void __vmx_load_host_state(struct vcpu_vmx *vmx)
 #ifdef CONFIG_X86_64
 	wrmsrl(MSR_KERNEL_GS_BASE, vmx->msr_host_kernel_gs_base);
 #endif
-	if (user_has_fpu())
-		clts();
+	/*
+	 * If the FPU is not active (through the host task or
+	 * the guest vcpu), then restore the cr0.TS bit.
+	 */
+	if (!user_has_fpu() && !vmx->vcpu.guest_fpu_loaded)
+		stts();
 	load_gdt(&__get_cpu_var(host_gdt));
 }
 
@@ -3633,7 +3637,7 @@ static void vmx_set_constant_host_state(struct vcpu_vmx *vmx)
 	struct desc_ptr dt;
 	unsigned long cr4;
 
-	vmcs_writel(HOST_CR0, read_cr0() | X86_CR0_TS);  /* 22.2.3 */
+	vmcs_writel(HOST_CR0, read_cr0() & ~X86_CR0_TS);  /* 22.2.3 */
 	vmcs_writel(HOST_CR3, read_cr3());  /* 22.2.3  FIXME: shadow tables */
 
 	/* Save the most likely value for this task's CR4 in the VMCS. */
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 55ee4ca..4ad2b7b 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -5907,7 +5907,7 @@ void kvm_load_guest_fpu(struct kvm_vcpu *vcpu)
 	 */
 	kvm_put_guest_xcr0(vcpu);
 	vcpu->guest_fpu_loaded = 1;
-	kernel_fpu_begin();
+	__kernel_fpu_begin();
 	fpu_restore_checking(&vcpu->arch.guest_fpu);
 	trace_kvm_fpu(1);
 }
@@ -5921,7 +5921,7 @@ void kvm_put_guest_fpu(struct kvm_vcpu *vcpu)
 
 	vcpu->guest_fpu_loaded = 0;
 	fpu_save_init(&vcpu->arch.guest_fpu);
-	kernel_fpu_end();
+	__kernel_fpu_end();
 	++vcpu->stat.fpu_reload;
 	kvm_make_request(KVM_REQ_DEACTIVATE_FPU, vcpu);
 	trace_kvm_fpu(0);
-- 
1.9.1


  parent reply	other threads:[~2015-09-15  9:13 UTC|newest]

Thread overview: 152+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-15  9:03 [PATCH 3.4 000/146] 3.4.109-rc1 review lizf
2015-09-15  9:01 ` [PATCH 3.4 001/146] ipv6: add check for blackhole or prohibited entry in rt6_redire lizf
2015-09-15  9:01 ` [PATCH 3.4 002/146] Bluetooth: ath3k: Add support Atheros AR5B195 combo Mini PCIe card lizf
2015-09-15  9:01 ` [PATCH 3.4 003/146] Drivers: hv: vmbus: Fix a bug in the error path in vmbus_open() lizf
2015-09-15  9:01 ` [PATCH 3.4 004/146] e1000: add dummy allocator to fix race condition between mtu change and netpoll lizf
2015-09-15  9:02 ` [PATCH 3.4 005/146] KVM: s390: Zero out current VMDB of STSI before including level3 data lizf
2015-09-15  9:02 ` [PATCH 3.4 006/146] usb: musb: core: fix TX/RX endpoint order lizf
2015-09-15  9:02 ` [PATCH 3.4 007/146] pinctrl: remove maxpin from documentation lizf
2015-09-15  9:02 ` [PATCH 3.4 008/146] compal-laptop: Check return value of power_supply_register lizf
2015-09-15  9:02 ` [PATCH 3.4 009/146] pinctrl: remove doc mention of the enable/disable API lizf
2015-09-15  9:02 ` [PATCH 3.4 010/146] pinctrl: fix example .get_group_pins implementation signature lizf
2015-09-15  9:02 ` [PATCH 3.4 011/146] drm/radeon: fix doublescan modes (v2) lizf
2015-09-15  9:02 ` [PATCH 3.4 012/146] usb: common: otg-fsm: only signal connect after switching to peripheral lizf
2015-09-15  9:02 ` [PATCH 3.4 013/146] ASoC: wm8741: Fix rates constraints values lizf
2015-09-15  9:02 ` [PATCH 3.4 014/146] cdc-wdm: fix endianness bug in debug statements lizf
2015-09-15  9:02 ` [PATCH 3.4 015/146] staging: panel: fix lcd type lizf
2015-09-15  9:02 ` [PATCH 3.4 016/146] UBI: fix out of bounds write lizf
2015-09-15  9:02 ` [PATCH 3.4 017/146] UBI: initialize LEB number variable lizf
2015-09-15  9:02 ` [PATCH 3.4 018/146] UBI: fix check for "too many bytes" lizf
2015-09-15  9:02 ` [PATCH 3.4 019/146] C6x: time: Ensure consistency in __init lizf
2015-09-15  9:02 ` [PATCH 3.4 020/146] Drivers: hv: vmbus: Don't wait after requesting offers lizf
2015-09-15  9:02 ` [PATCH 3.4 021/146] Btrfs: fix log tree corruption when fs mounted with -o discard lizf
2015-09-15  9:02 ` [PATCH 3.4 022/146] btrfs: don't accept bare namespace as a valid xattr lizf
2015-09-15  9:02 ` [PATCH 3.4 023/146] ARM: 8320/1: fix integer overflow in ELF_ET_DYN_BASE lizf
2015-09-15  9:02 ` [PATCH 3.4 024/146] rtlwifi: rtl8192cu: Add new USB ID lizf
2015-09-15  9:02 ` [PATCH 3.4 025/146] ASoC: cs4271: Increase delay time after reset lizf
2015-09-15  9:02 ` [PATCH 3.4 026/146] ext4: make fsync to sync parent dir in no-journal for real this time lizf
2015-09-15  9:02 ` [PATCH 3.4 027/146] jhash: Update jhash_[321]words functions to use correct initval lizf
2015-09-15  9:02 ` [PATCH 3.4 028/146] Input: elantech - fix absolute mode setting on some ASUS laptops lizf
2015-09-15  9:02 ` [PATCH 3.4 029/146] RDS: Documentation: Document AF_RDS, PF_RDS and SOL_RDS correctly lizf
2015-09-15  9:02 ` [PATCH 3.4 030/146] selinux/nlmsg: add XFRM_MSG_GETSPDINFO lizf
2015-09-15  9:02 ` [PATCH 3.4 031/146] selinux/nlmsg: add XFRM_MSG_[NEW|GET]SADINFO lizf
2015-09-15  9:02 ` [PATCH 3.4 032/146] x86/iommu: Fix header comments regarding standard and _FINISH macros lizf
2015-09-15  9:02 ` [PATCH 3.4 033/146] scsi: storvsc: Fix a bug in copy_from_bounce_buffer() lizf
2015-09-15  9:02 ` [PATCH 3.4 034/146] ALSA: emu10k1: don't deadlock in proc-functions lizf
2015-09-15  9:02 ` [PATCH 3.4 035/146] MIPS: Hibernate: flush TLB entries earlier lizf
2015-09-15  9:02 ` [PATCH 3.4 036/146] powerpc: Fix missing L2 cache size in /sys/devices/system/cpu lizf
2015-09-15  9:02 ` [PATCH 3.4 037/146] selinux/nlmsg: add XFRM_MSG_REPORT lizf
2015-09-15  9:02 ` [PATCH 3.4 038/146] selinux/nlmsg: add XFRM_MSG_MIGRATE lizf
2015-09-15  9:02 ` [PATCH 3.4 039/146] selinux/nlmsg: add XFRM_MSG_MAPPING lizf
2015-09-15  9:02 ` [PATCH 3.4 040/146] s390/hibernate: fix save and restore of kernel text section lizf
2015-09-15  9:02 ` [PATCH 3.4 041/146] Btrfs: fix inode eviction infinite loop after cloning into it lizf
2015-09-15  9:02 ` [PATCH 3.4 042/146] powerpc/perf: Cap 64bit userspace backtraces to PERF_MAX_STACK_DEPTH lizf
2015-09-15  9:02 ` [PATCH 3.4 043/146] ACPICA: Utilities: split IO address types from data type models lizf
2015-09-15  9:02 ` [PATCH 3.4 044/146] fs/binfmt_elf.c: fix bug in loading of PIE binaries lizf
2015-09-15  9:02 ` [PATCH 3.4 045/146] dm crypt: fix deadlock when async crypto algorithm returns -EBUSY lizf
2015-09-15  9:02 ` [PATCH 3.4 046/146] IB/core: disallow registering 0-sized memory region lizf
2015-09-15  9:02 ` [PATCH 3.4 047/146] IB/mlx4: Fix WQE LSO segment calculation lizf
2015-09-15  9:02 ` [PATCH 3.4 048/146] megaraid_sas: use raw_smp_processor_id() lizf
2015-09-15  9:02 ` [PATCH 3.4 049/146] firmware/ihex2fw.c: restore missing default in switch statement lizf
2015-09-15  9:02 ` [PATCH 3.4 050/146] ptrace: fix race between ptrace_resume() and wait_task_stopped() lizf
2015-09-15  9:02 ` [PATCH 3.4 051/146] memstick: mspro_block: add missing curly braces lizf
2015-09-15  9:02 ` [PATCH 3.4 052/146] nfsd: fix nsfd startup race triggering BUG_ON lizf
2015-09-15  9:02 ` [PATCH 3.4 053/146] nfs: don't call blocking operations while !TASK_RUNNING lizf
2015-09-15  9:02 ` [PATCH 3.4 054/146] nfs: fix high load average due to callback thread sleeping lizf
2015-09-15  9:02 ` [PATCH 3.4 055/146] RCU pathwalk breakage when running into a symlink overmounting something lizf
2015-09-15  9:02 ` [PATCH 3.4 056/146] ALSA: hda - Fix mute-LED fixed mode lizf
2015-09-15  9:02 ` [PATCH 3.4 057/146] ALSA: emu10k1: Fix card shortname string buffer overflow lizf
2015-09-15  9:02 ` [PATCH 3.4 058/146] ALSA: emux: Fix mutex deadlock at unloading lizf
2015-09-15  9:02 ` [PATCH 3.4 059/146] drm/radeon: Use drm_calloc_ab for CS relocs lizf
2015-09-15  9:02 ` [PATCH 3.4 060/146] SCSI: add 1024 max sectors black list flag lizf
2015-09-15  9:02 ` [PATCH 3.4 061/146] 3w-sas: fix command completion race lizf
2015-09-15  9:02 ` [PATCH 3.4 062/146] 3w-xxxx: " lizf
2015-09-15  9:02 ` [PATCH 3.4 063/146] 3w-9xxx: " lizf
2015-09-15  9:02 ` [PATCH 3.4 064/146] serial: xilinx: Use platform_get_irq to get irq description structure lizf
2015-09-15  9:03 ` [PATCH 3.4 065/146] serial: of-serial: Remove device_type = "serial" registration lizf
2015-09-15  9:03 ` [PATCH 3.4 066/146] ALSA: emux: Fix mutex deadlock in OSS emulation lizf
2015-09-15  9:03 ` [PATCH 3.4 067/146] ALSA: emu10k1: Emu10k2 32 bit DMA mode lizf
2015-09-15  9:03 ` [PATCH 3.4 068/146] powerpc/pseries: Correct cpu affinity for dlpar added cpus lizf
2015-09-15  9:03 ` [PATCH 3.4 069/146] ext4: move check under lock scope to close a race lizf
2015-09-15  9:03 ` [PATCH 3.4 070/146] ARM: pxa: pxa_cplds: add lubbock and mainstone IO lizf
2015-09-15  9:03 ` [PATCH 3.4 071/146] ARM: pxa: mainstone: use new pxa_cplds driver lizf
2015-09-15  9:03 ` [PATCH 3.4 072/146] ARM: pxa: lubbock: " lizf
2015-09-15  9:03 ` [PATCH 3.4 073/146] mmc: core: add missing pm event in mmc_pm_notify to fix hib restore lizf
2015-09-15  9:03 ` [PATCH 3.4 074/146] RDMA/CMA: Canonize IPv4 on IPV6 sockets properly lizf
2015-09-15  9:03 ` [PATCH 3.4 075/146] xen/console: Update console event channel on resume lizf
2015-09-15  9:03 ` [PATCH 3.4 076/146] xen/events: Set irq_info->evtchn before binding the channel to CPU in __startup_pirq() lizf
2015-09-15  9:03 ` [PATCH 3.4 077/146] mm/memory-failure: call shake_page() when error hits thp tail page lizf
2015-09-15  9:03 ` [PATCH 3.4 078/146] nilfs2: fix sanity check of btree level in nilfs_btree_root_broken() lizf
2015-09-15  9:03 ` [PATCH 3.4 079/146] ocfs2: dlm: fix race between purge and get lock resource lizf
2015-09-15  9:03 ` [PATCH 3.4 080/146] libata: Add helper to determine when PHY events should be ignored lizf
2015-09-15  9:03 ` [PATCH 3.4 081/146] libata: Ignore spurious PHY event on LPM policy change lizf
2015-09-15  9:03 ` [PATCH 3.4 082/146] rtlwifi: rtl8192cu: Fix kernel deadlock lizf
2015-09-15  9:03 ` [PATCH 3.4 083/146] USB: cp210x: add ID for KCF Technologies PRN device lizf
2015-09-15  9:03 ` [PATCH 3.4 084/146] USB: pl2303: Remove support for Samsung I330 lizf
2015-09-15  9:03 ` [PATCH 3.4 085/146] USB: visor: Match I330 phone more precisely lizf
2015-09-15  9:03 ` [PATCH 3.4 086/146] nfsd: fix the check for confirmed openowner in nfs4_preprocess_stateid_op lizf
2015-09-15  9:03 ` [PATCH 3.4 087/146] md/raid5: don't record new size if resize_stripes fails lizf
2015-09-15  9:03 ` [PATCH 3.4 088/146] xhci: fix isoc endpoint dequeue from advancing too far on transaction error lizf
2015-09-15  9:03 ` [PATCH 3.4 089/146] xhci: Solve full event ring by increasing TRBS_PER_SEGMENT to 256 lizf
2015-09-15  9:03 ` [PATCH 3.4 090/146] xhci: gracefully handle xhci_irq dead device lizf
2015-09-15  9:03 ` [PATCH 3.4 091/146] usb-storage: Add NO_WP_DETECT quirk for Lacie 059f:0651 devices lizf
2015-09-15  9:03 ` [PATCH 3.4 092/146] ahci: un-staticize ahci_dev_classify lizf
2015-09-15  9:03 ` [PATCH 3.4 093/146] ahci: avoton port-disable reset-quirk lizf
2015-09-15  9:03 ` [PATCH 3.4 094/146] ARM: net: delegate filter to kernel interpreter when imm_offset() return value can't fit into 12bits lizf
2015-09-15  9:03 ` [PATCH 3.4 095/146] drm/radeon: fix VM_CONTEXT*_PAGE_TABLE_END_ADDR handling lizf
2015-09-15  9:03 ` [PATCH 3.4 096/146] ext4: check for zero length extent explicitly lizf
2015-09-15  9:03 ` [PATCH 3.4 097/146] ipvs: fix memory leak in ip_vs_ctl.c lizf
2015-09-15  9:03 ` [PATCH 3.4 098/146] mac80211: move WEP tailroom size check lizf
2015-09-15  9:03 ` [PATCH 3.4 099/146] KVM: MMU: fix CR4.SMEP=1, CR0.WP=0 with shadow pages lizf
2015-09-15  9:03 ` [PATCH 3.4 100/146] ASoC: wm8960: fix "RINPUT3" audio route error lizf
2015-09-15  9:03 ` [PATCH 3.4 101/146] ASoC: wm8994: correct BCLK DIV 348 to 384 lizf
2015-09-15  9:03 ` [PATCH 3.4 102/146] Input: elantech - fix semi-mt protocol for v3 HW lizf
2015-09-15  9:03 ` [PATCH 3.4 103/146] powerpc: Align TOC to 256 bytes lizf
2015-09-15  9:03 ` [PATCH 3.4 104/146] ALSA: hda - Add Conexant codecs CX20721, CX20722, CX20723 and CX20724 lizf
2015-09-15  9:03 ` [PATCH 3.4 105/146] mmc: atmel-mci: fix bad variable type for clkdiv lizf
2015-09-15  9:03 ` [PATCH 3.4 106/146] sd: Disable support for 256 byte/sector disks lizf
2015-09-15  9:03 ` [PATCH 3.4 107/146] xen/events: don't bind non-percpu VIRQs with percpu chip lizf
2015-09-15  9:03 ` [PATCH 3.4 108/146] crypto: s390/ghash - Fix incorrect ghash icv buffer handling lizf
2015-09-15  9:03 ` [PATCH 3.4 109/146] bridge: fix parsing of MLDv2 reports lizf
2015-09-15  9:03 ` [PATCH 3.4 110/146] ARM: dts: imx27: only map 4 Kbyte for fec registers lizf
2015-09-15  9:03 ` [PATCH 3.4 111/146] x86/mce: Fix MCE severity messages lizf
2015-09-15  9:03 ` [PATCH 3.4 112/146] x86: bpf_jit: fix compilation of large bpf programs lizf
2015-09-15  9:03 ` [PATCH 3.4 113/146] lguest: fix out-by-one error in address checking lizf
2015-09-15  9:03 ` [PATCH 3.4 114/146] fs, omfs: add NULL terminator in the end up the token list lizf
2015-09-15  9:03 ` [PATCH 3.4 115/146] d_walk() might skip too much lizf
2015-09-15  9:03 ` [PATCH 3.4 116/146] target/pscsi: Don't leak scsi_host if hba is VIRTUAL_HOST lizf
2015-09-15  9:03 ` [PATCH 3.4 117/146] USB: serial: ftdi_sio: Add support for a Motion Tracker Development Board lizf
2015-09-15  9:03 ` [PATCH 3.4 118/146] ozwpan: Use proper check to prevent heap overflow lizf
2015-09-15  9:03 ` [PATCH 3.4 119/146] ozwpan: divide-by-zero leading to panic lizf
2015-09-15  9:03 ` [PATCH 3.4 120/146] ozwpan: unchecked signed subtraction leads to DoS lizf
2015-09-15  9:03 ` [PATCH 3.4 121/146] drm/i915: Don't skip request retirement if the active list is empty lizf
2015-09-15  9:03 ` [PATCH 3.4 122/146] vfs: read file_handle only once in handle_to_path lizf
2015-09-15  9:03 ` [PATCH 3.4 123/146] Input: elantech - fix detection of touchpads where the revision matches a known rate lizf
2015-09-15  9:03 ` [PATCH 3.4 124/146] ALSA: hda/realtek - Add a fixup for another Acer Aspire 9420 lizf
2015-09-15  9:04 ` [PATCH 3.4 125/146] ALSA: usb-audio: add MAYA44 USB+ mixer control names lizf
2015-09-15  9:04 ` [PATCH 3.4 126/146] USB: cp210x: add ID for HubZ dual ZigBee and Z-Wave dongle lizf
2015-09-15  9:04 ` [PATCH 3.4 127/146] MIPS: Fix enabling of DEBUG_STACKOVERFLOW lizf
2015-09-15  9:04 ` [PATCH 3.4 128/146] bridge: use _bh spinlock variant for br_fdb_update to avoid lockup lizf
2015-09-15  9:04 ` [PATCH 3.4 129/146] bridge: disable softirqs around " lizf
2015-09-15  9:04 ` [PATCH 3.4 130/146] bridge: fix multicast router rlist endless loop lizf
2015-09-15  9:04 ` [PATCH 3.4 131/146] ring-buffer-benchmark: Fix the wrong sched_priority of producer lizf
2015-09-15  9:04 ` [PATCH 3.4 132/146] tracing: Have filter check for balanced ops lizf
2015-09-15  9:04 ` [PATCH 3.4 133/146] udf: Check length of extended attributes and allocation descriptors lizf
2015-09-15  9:04 ` [PATCH 3.4 134/146] md: use kzalloc() when bitmap is disabled lizf
2015-09-15  9:04 ` [PATCH 3.4 135/146] ipv4: Missing sk_nulls_node_init() in ping_unhash() lizf
2015-09-15  9:04 ` [PATCH 3.4 136/146] x86, kvm: use kernel_fpu_begin/end() in kvm_load/put_guest_fpu() lizf
2015-09-15  9:04 ` lizf [this message]
2015-09-15  9:04 ` [PATCH 3.4 138/146] ipmi: fix timeout calculation when bmc is disconnected lizf
2015-09-15  9:04 ` [PATCH 3.4 139/146] net: socket: Fix the wrong returns for recvmsg and sendmsg lizf
2015-09-15  9:04 ` [PATCH 3.4 140/146] bridge: superfluous skb->nfct check in br_nf_dev_queue_xmit lizf
2015-09-15  9:04 ` [PATCH 3.4 141/146] block: fix ext_dev_lock lockdep report lizf
2015-09-15  9:04 ` [PATCH 3.4 142/146] NET: ROSE: Don't dereference NULL neighbour pointer lizf
2015-09-15  9:04 ` [PATCH 3.4 143/146] pipe: iovec: Fix memory corruption when retrying atomic copy as non-atomic lizf
2015-09-15  9:04 ` [PATCH 3.4 144/146] sched: Queue RT tasks to head when prio drops lizf
2015-09-15  9:04 ` [PATCH 3.4 145/146] udp: fix behavior of wrong checksums lizf
2015-09-15  9:04 ` [PATCH 3.4 146/146] ipv6: add check for blackhole or prohibited entry in rt6_redire lizf
2015-09-15  9:18 ` [PATCH 3.4 000/146] 3.4.109-rc1 review lizf
2015-09-15 14:22 ` Guenter Roeck
2015-09-18  1:45   ` Zefan Li
2015-09-18  2:48     ` Zefan Li
2015-09-18  4:05     ` Guenter Roeck

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=1442307861-32031-137-git-send-email-lizf@kernel.org \
    --to=lizf@kernel.org \
    --cc=avi@redhat.com \
    --cc=hpa@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizefan@huawei.com \
    --cc=rui.xiang@huawei.com \
    --cc=stable@vger.kernel.org \
    --cc=suresh.b.siddha@intel.com \
    /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).