From: lizf@kernel.org
To: stable@vger.kernel.org
Cc: linux-kernel@vger.kernel.org,
"Herton R. Krzesinski" <herton@redhat.com>,
Davidlohr Bueso <dave@stgolabs.net>,
Rafael Aquini <aquini@redhat.com>,
Aristeu Rozanski <aris@redhat.com>,
David Jeffery <djeffery@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Zefan Li <lizefan@huawei.com>
Subject: [PATCH 3.4 071/107] ipc,sem: fix use after free on IPC_RMID after a task using same semaphore set exits
Date: Wed, 16 Mar 2016 16:06:05 +0800 [thread overview]
Message-ID: <1458115601-5762-71-git-send-email-lizf@kernel.org> (raw)
In-Reply-To: <1458115541-5712-1-git-send-email-lizf@kernel.org>
From: "Herton R. Krzesinski" <herton@redhat.com>
3.4.111-rc1 review patch. If anyone has any objections, please let me know.
------------------
commit 602b8593d2b4138c10e922eeaafe306f6b51817b upstream.
The current semaphore code allows a potential use after free: in
exit_sem we may free the task's sem_undo_list while there is still
another task looping through the same semaphore set and cleaning the
sem_undo list at freeary function (the task called IPC_RMID for the same
semaphore set).
For example, with a test program [1] running which keeps forking a lot
of processes (which then do a semop call with SEM_UNDO flag), and with
the parent right after removing the semaphore set with IPC_RMID, and a
kernel built with CONFIG_SLAB, CONFIG_SLAB_DEBUG and
CONFIG_DEBUG_SPINLOCK, you can easily see something like the following
in the kernel log:
Slab corruption (Not tainted): kmalloc-64 start=ffff88003b45c1c0, len=64
000: 6b 6b 6b 6b 6b 6b 6b 6b 00 6b 6b 6b 6b 6b 6b 6b kkkkkkkk.kkkkkkk
010: ff ff ff ff 6b 6b 6b 6b ff ff ff ff ff ff ff ff ....kkkk........
Prev obj: start=ffff88003b45c180, len=64
000: 00 00 00 00 ad 4e ad de ff ff ff ff 5a 5a 5a 5a .....N......ZZZZ
010: ff ff ff ff ff ff ff ff c0 fb 01 37 00 88 ff ff ...........7....
Next obj: start=ffff88003b45c200, len=64
000: 00 00 00 00 ad 4e ad de ff ff ff ff 5a 5a 5a 5a .....N......ZZZZ
010: ff ff ff ff ff ff ff ff 68 29 a7 3c 00 88 ff ff ........h).<....
BUG: spinlock wrong CPU on CPU#2, test/18028
general protection fault: 0000 [#1] SMP
Modules linked in: 8021q mrp garp stp llc nf_conntrack_ipv4 nf_defrag_ipv4 ip6t_REJECT nf_reject_ipv6 nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables binfmt_misc ppdev input_leds joydev parport_pc parport floppy serio_raw virtio_balloon virtio_rng virtio_console virtio_net iosf_mbi crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcspkr qxl ttm drm_kms_helper drm snd_hda_codec_generic i2c_piix4 snd_hda_intel snd_hda_codec snd_hda_core snd_hwdep snd_seq snd_seq_device snd_pcm snd_timer snd soundcore crc32c_intel virtio_pci virtio_ring virtio pata_acpi ata_generic [last unloaded: speedstep_lib]
CPU: 2 PID: 18028 Comm: test Not tainted 4.2.0-rc5+ #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.8.1-20150318_183358- 04/01/2014
RIP: spin_dump+0x53/0xc0
Call Trace:
spin_bug+0x30/0x40
do_raw_spin_unlock+0x71/0xa0
_raw_spin_unlock+0xe/0x10
freeary+0x82/0x2a0
? _raw_spin_lock+0xe/0x10
semctl_down.clone.0+0xce/0x160
? __do_page_fault+0x19a/0x430
? __audit_syscall_entry+0xa8/0x100
SyS_semctl+0x236/0x2c0
? syscall_trace_leave+0xde/0x130
entry_SYSCALL_64_fastpath+0x12/0x71
Code: 8b 80 88 03 00 00 48 8d 88 60 05 00 00 48 c7 c7 a0 2c a4 81 31 c0 65 8b 15 eb 40 f3 7e e8 08 31 68 00 4d 85 e4 44 8b 4b 08 74 5e <45> 8b 84 24 88 03 00 00 49 8d 8c 24 60 05 00 00 8b 53 04 48 89
RIP [<ffffffff810d6053>] spin_dump+0x53/0xc0
RSP <ffff88003750fd68>
---[ end trace 783ebb76612867a0 ]---
NMI watchdog: BUG: soft lockup - CPU#3 stuck for 22s! [test:18053]
Modules linked in: 8021q mrp garp stp llc nf_conntrack_ipv4 nf_defrag_ipv4 ip6t_REJECT nf_reject_ipv6 nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables binfmt_misc ppdev input_leds joydev parport_pc parport floppy serio_raw virtio_balloon virtio_rng virtio_console virtio_net iosf_mbi crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcspkr qxl ttm drm_kms_helper drm snd_hda_codec_generic i2c_piix4 snd_hda_intel snd_hda_codec snd_hda_core snd_hwdep snd_seq snd_seq_device snd_pcm snd_timer snd soundcore crc32c_intel virtio_pci virtio_ring virtio pata_acpi ata_generic [last unloaded: speedstep_lib]
CPU: 3 PID: 18053 Comm: test Tainted: G D 4.2.0-rc5+ #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.8.1-20150318_183358- 04/01/2014
RIP: native_read_tsc+0x0/0x20
Call Trace:
? delay_tsc+0x40/0x70
__delay+0xf/0x20
do_raw_spin_lock+0x96/0x140
_raw_spin_lock+0xe/0x10
sem_lock_and_putref+0x11/0x70
SYSC_semtimedop+0x7bf/0x960
? handle_mm_fault+0xbf6/0x1880
? dequeue_task_fair+0x79/0x4a0
? __do_page_fault+0x19a/0x430
? kfree_debugcheck+0x16/0x40
? __do_page_fault+0x19a/0x430
? __audit_syscall_entry+0xa8/0x100
? do_audit_syscall_entry+0x66/0x70
? syscall_trace_enter_phase1+0x139/0x160
SyS_semtimedop+0xe/0x10
SyS_semop+0x10/0x20
entry_SYSCALL_64_fastpath+0x12/0x71
Code: 47 10 83 e8 01 85 c0 89 47 10 75 08 65 48 89 3d 1f 74 ff 7e c9 c3 0f 1f 44 00 00 55 48 89 e5 e8 87 17 04 00 66 90 c9 c3 0f 1f 00 <55> 48 89 e5 0f 31 89 c1 48 89 d0 48 c1 e0 20 89 c9 48 09 c8 c9
Kernel panic - not syncing: softlockup: hung tasks
I wasn't able to trigger any badness on a recent kernel without the
proper config debugs enabled, however I have softlockup reports on some
kernel versions, in the semaphore code, which are similar as above (the
scenario is seen on some servers running IBM DB2 which uses semaphore
syscalls).
The patch here fixes the race against freeary, by acquiring or waiting
on the sem_undo_list lock as necessary (exit_sem can race with freeary,
while freeary sets un->semid to -1 and removes the same sem_undo from
list_proc or when it removes the last sem_undo).
After the patch I'm unable to reproduce the problem using the test case
[1].
[1] Test case used below:
#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <sys/wait.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
#include <errno.h>
#define NSEM 1
#define NSET 5
int sid[NSET];
void thread()
{
struct sembuf op;
int s;
uid_t pid = getuid();
s = rand() % NSET;
op.sem_num = pid % NSEM;
op.sem_op = 1;
op.sem_flg = SEM_UNDO;
semop(sid[s], &op, 1);
exit(EXIT_SUCCESS);
}
void create_set()
{
int i, j;
pid_t p;
union {
int val;
struct semid_ds *buf;
unsigned short int *array;
struct seminfo *__buf;
} un;
/* Create and initialize semaphore set */
for (i = 0; i < NSET; i++) {
sid[i] = semget(IPC_PRIVATE , NSEM, 0644 | IPC_CREAT);
if (sid[i] < 0) {
perror("semget");
exit(EXIT_FAILURE);
}
}
un.val = 0;
for (i = 0; i < NSET; i++) {
for (j = 0; j < NSEM; j++) {
if (semctl(sid[i], j, SETVAL, un) < 0)
perror("semctl");
}
}
/* Launch threads that operate on semaphore set */
for (i = 0; i < NSEM * NSET * NSET; i++) {
p = fork();
if (p < 0)
perror("fork");
if (p == 0)
thread();
}
/* Free semaphore set */
for (i = 0; i < NSET; i++) {
if (semctl(sid[i], NSEM, IPC_RMID))
perror("IPC_RMID");
}
/* Wait for forked processes to exit */
while (wait(NULL)) {
if (errno == ECHILD)
break;
};
}
int main(int argc, char **argv)
{
pid_t p;
srand(time(NULL));
while (1) {
p = fork();
if (p < 0) {
perror("fork");
exit(EXIT_FAILURE);
}
if (p == 0) {
create_set();
goto end;
}
/* Wait for forked processes to exit */
while (wait(NULL)) {
if (errno == ECHILD)
break;
};
}
end:
return 0;
}
[akpm@linux-foundation.org: use normal comment layout]
Signed-off-by: Herton R. Krzesinski <herton@redhat.com>
Acked-by: Manfred Spraul <manfred@colorfullife.com>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Rafael Aquini <aquini@redhat.com>
CC: Aristeu Rozanski <aris@redhat.com>
Cc: David Jeffery <djeffery@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[lizf: Backported to 3.4: adjust context]
Signed-off-by: Zefan Li <lizefan@huawei.com>
---
ipc/sem.c | 23 +++++++++++++++++------
1 file changed, 17 insertions(+), 6 deletions(-)
diff --git a/ipc/sem.c b/ipc/sem.c
index 5215a81..67f2110 100644
--- a/ipc/sem.c
+++ b/ipc/sem.c
@@ -1606,16 +1606,27 @@ void exit_sem(struct task_struct *tsk)
rcu_read_lock();
un = list_entry_rcu(ulp->list_proc.next,
struct sem_undo, list_proc);
- if (&un->list_proc == &ulp->list_proc)
- semid = -1;
- else
- semid = un->semid;
+ if (&un->list_proc == &ulp->list_proc) {
+ /*
+ * We must wait for freeary() before freeing this ulp,
+ * in case we raced with last sem_undo. There is a small
+ * possibility where we exit while freeary() didn't
+ * finish unlocking sem_undo_list.
+ */
+ spin_unlock_wait(&ulp->lock);
+ rcu_read_unlock();
+ break;
+ }
+ spin_lock(&ulp->lock);
+ semid = un->semid;
+ spin_unlock(&ulp->lock);
rcu_read_unlock();
+ /* exit_sem raced with IPC_RMID, nothing to do */
if (semid == -1)
- break;
+ continue;
- sma = sem_lock_check(tsk->nsproxy->ipc_ns, un->semid);
+ sma = sem_lock_check(tsk->nsproxy->ipc_ns, semid);
/* exit_sem raced with IPC_RMID, nothing to do */
if (IS_ERR(sma))
--
1.9.1
next prev parent reply other threads:[~2016-03-16 8:24 UTC|newest]
Thread overview: 114+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-16 8:05 [PATCH 3.4 000/107] 3.4.111-rc1 review lizf
2016-03-16 8:04 ` [PATCH 3.4 001/107] Btrfs: use kmem_cache_free when freeing entry in inode cache lizf
2016-03-16 8:04 ` [PATCH 3.4 002/107] fs/buffer.c: support buffer cache allocations with gfp modifiers lizf
2016-03-16 8:04 ` [PATCH 3.4 003/107] bufferhead: Add _gfp version for sb_getblk() lizf
2016-03-16 8:04 ` [PATCH 3.4 004/107] ext4: avoid deadlocks in the writeback path by using sb_getblk_gfp lizf
2016-03-16 8:04 ` [PATCH 3.4 005/107] ext4: replace open coded nofail allocation in ext4_free_blocks() lizf
2016-03-16 8:05 ` [PATCH 3.4 006/107] mm: avoid setting up anonymous pages into file mapping lizf
2016-03-16 8:05 ` [PATCH 3.4 007/107] hpfs: kstrdup() out of memory handling lizf
2016-03-16 8:05 ` [PATCH 3.4 008/107] hpfs: hpfs_error: Remove static buffer, use vsprintf extension %pV instead lizf
2016-03-16 8:05 ` [PATCH 3.4 009/107] 9p: don't leave a half-initialized inode sitting around lizf
2016-03-16 8:05 ` [PATCH 3.4 010/107] ALSA: usb-audio: Add MIDI support for Steinberg MI2/MI4 lizf
2016-03-16 8:05 ` [PATCH 3.4 011/107] dm btree remove: fix bug in redistribute3 lizf
2016-03-16 8:05 ` [PATCH 3.4 012/107] dm thin: allocate the cell_sort_array dynamically lizf
2016-03-16 8:05 ` [PATCH 3.4 013/107] USB: option: add 2020:4000 ID lizf
2016-03-16 8:05 ` [PATCH 3.4 014/107] USB: cp210x: add ID for Aruba Networks controllers lizf
2016-03-16 8:05 ` [PATCH 3.4 015/107] dm btree: silence lockdep lock inversion in dm_btree_del() lizf
2016-03-16 8:05 ` [PATCH 3.4 016/107] s390/sclp: clear upper register halves in _sclp_print_early lizf
2016-03-16 8:05 ` [PATCH 3.4 017/107] drm: add a check for x/y in drm_mode_setcrtc lizf
2016-03-16 8:05 ` [PATCH 3.4 018/107] rtnetlink: verify IFLA_VF_INFO attributes before passing them to driver lizf
2016-03-16 8:05 ` [PATCH 3.4 019/107] net: do not process device backlog during unregistration lizf
2016-03-16 8:05 ` [PATCH 3.4 020/107] net: call rcu_read_lock early in process_backlog lizf
2016-03-16 8:05 ` [PATCH 3.4 021/107] s390/process: fix sfpc inline assembly lizf
2016-03-16 8:05 ` [PATCH 3.4 022/107] rds: rds_ib_device.refcount overflow lizf
2016-03-16 8:05 ` [PATCH 3.4 023/107] st: null pointer dereference panic caused by use after kref_put by st_open lizf
2016-03-16 8:05 ` [PATCH 3.4 024/107] ata: pmp: add quirk for Marvell 4140 SATA PMP lizf
2016-03-16 8:05 ` [PATCH 3.4 025/107] libata: add ATA_HORKAGE_BROKEN_FPDMA_AA quirk for HP 250GB SATA disk VB0250EAVER lizf
2016-03-16 8:05 ` [PATCH 3.4 026/107] libata: add ATA_HORKAGE_NOTRIM lizf
2016-03-16 8:05 ` [PATCH 3.4 027/107] libata: force disable trim for SuperSSpeed S238 lizf
2016-03-16 8:05 ` [PATCH 3.4 028/107] libata: increase the timeout when setting transfer mode lizf
2016-03-16 8:05 ` [PATCH 3.4 029/107] net: Clone skb before setting peeked flag lizf
2016-03-16 8:05 ` [PATCH 3.4 030/107] NET: AX.25: Stop heartbeat timer on disconnect lizf
2016-03-16 10:40 ` Richard Stearn
2016-03-17 1:18 ` Zefan Li
2016-03-16 8:05 ` [PATCH 3.4 031/107] can: mcp251x: fix resume when device is down lizf
2016-03-16 8:05 ` [PATCH 3.4 032/107] mac80211: clear subdir_stations when removing debugfs lizf
2016-03-16 8:05 ` [PATCH 3.4 033/107] inet: frags: fix defragmented packet's IP header for af_packet lizf
2016-03-16 8:05 ` [PATCH 3.4 034/107] md: make sure everything is freed when dm-raid stops an array lizf
2016-03-16 8:05 ` [PATCH 3.4 035/107] md: flush ->event_work before stopping array lizf
2016-03-16 8:05 ` [PATCH 3.4 036/107] usb: dwc3: Reset the transfer resource index on SET_INTERFACE lizf
2016-03-16 8:05 ` [PATCH 3.4 037/107] usb: xhci: Bugfix for NULL pointer deference in xhci_endpoint_init() function lizf
2016-03-16 8:05 ` [PATCH 3.4 038/107] xhci: Calculate old endpoints correctly on device reset lizf
2016-03-16 8:05 ` [PATCH 3.4 039/107] xhci: report U3 when link is in resume state lizf
2016-03-16 8:05 ` [PATCH 3.4 040/107] xhci: prevent bus_suspend if SS port resuming in phase 1 lizf
2016-03-16 8:05 ` [PATCH 3.4 041/107] usb-storage: ignore ZTE MF 823 card reader in mode 0x1225 lizf
2016-03-16 8:05 ` [PATCH 3.4 042/107] tile: use free_bootmem_late() for initrd lizf
2016-03-16 8:05 ` [PATCH 3.4 043/107] Input: usbtouchscreen - avoid unresponsive TSC-30 touch screen lizf
2016-03-16 8:05 ` [PATCH 3.4 044/107] md/raid1: fix test for 'was read error from last working device' lizf
2016-03-16 8:05 ` [PATCH 3.4 045/107] mmc: block: Add missing mmc_blk_put() in power_ro_lock_show() lizf
2016-03-16 8:05 ` [PATCH 3.4 046/107] netfilter: nf_conntrack: Support expectations in different zones lizf
2016-03-16 8:05 ` [PATCH 3.4 047/107] crypto: ixp4xx - Remove bogus BUG_ON on scattered dst buffer lizf
2016-03-16 8:05 ` [PATCH 3.4 048/107] iscsi-target: Fix use-after-free during TPG session shutdown lizf
2016-03-16 8:05 ` [PATCH 3.4 049/107] niu: don't count tx error twice in case of headroom realloc fails lizf
2016-03-16 8:05 ` [PATCH 3.4 050/107] vhost: actually track log eventfd file lizf
2016-03-16 8:05 ` [PATCH 3.4 051/107] USB: sierra: add 1199:68AB device ID lizf
2016-03-16 8:05 ` [PATCH 3.4 052/107] ALSA: usb-audio: add dB range mapping for some devices lizf
2016-03-16 8:05 ` [PATCH 3.4 053/107] drm/radeon/combios: add some validation of lvds values lizf
2016-03-16 8:05 ` [PATCH 3.4 054/107] target/iscsi: Fix double free of a TUR followed by a solicited NOPOUT lizf
2016-03-16 8:05 ` [PATCH 3.4 055/107] x86/xen: Probe target addresses in set_aliased_prot() before the hypercall lizf
2016-03-16 8:05 ` [PATCH 3.4 056/107] x86/ldt: Make modify_ldt synchronous lizf
2016-03-16 8:05 ` [PATCH 3.4 057/107] md/raid1: extend spinlock to protect raid1_end_read_request against inconsistencies lizf
2016-03-16 8:05 ` [PATCH 3.4 058/107] MIPS: Fix sched_getaffinity with MT FPAFF enabled lizf
2016-03-16 8:05 ` [PATCH 3.4 059/107] xhci: fix off by one error in TRB DMA address boundary check lizf
2016-03-16 8:05 ` [PATCH 3.4 060/107] rds: fix an integer overflow test in rds_info_getsockopt() lizf
2016-03-16 8:05 ` [PATCH 3.4 061/107] perf: Fix fasync handling on inherited events lizf
2016-03-16 8:05 ` [PATCH 3.4 062/107] MIPS: Make set_pte() SMP safe lizf
2016-03-16 8:05 ` [PATCH 3.4 063/107] ocfs2: fix BUG in ocfs2_downconvert_thread_do_work() lizf
2016-03-16 8:05 ` [PATCH 3.4 064/107] x86/ldt: Correct LDT access in single stepping logic lizf
2016-03-16 8:05 ` [PATCH 3.4 065/107] x86/ldt: Correct FPU emulation access to LDT lizf
2016-03-16 8:06 ` [PATCH 3.4 066/107] localmodconfig: Use Kbuild files too lizf
2016-03-16 8:06 ` [PATCH 3.4 067/107] dm btree: add ref counting ops for the leaves of top level btrees lizf
2016-03-16 8:06 ` [PATCH 3.4 068/107] libiscsi: Fix host busy blocking during connection teardown lizf
2016-03-16 8:06 ` [PATCH 3.4 069/107] libfc: Fix fc_fcp_cleanup_each_cmd() lizf
2016-03-16 8:06 ` [PATCH 3.4 070/107] EDAC, ppc4xx: Access mci->csrows array elements properly lizf
2016-03-16 8:06 ` lizf [this message]
2016-03-16 8:06 ` [PATCH 3.4 072/107] net: Fix RCU splat in af_key lizf
2016-03-16 8:06 ` [PATCH 3.4 073/107] sctp: donot reset the overall_error_count in SHUTDOWN_RECEIVE state lizf
2016-03-16 8:06 ` [PATCH 3.4 074/107] Revert "usb: dwc3: Reset the transfer resource index on SET_INTERFACE" lizf
2016-03-16 8:06 ` [PATCH 3.4 075/107] unix: avoid use-after-free in ep_remove_wait_queue lizf
2016-03-16 8:06 ` [PATCH 3.4 076/107] pptp: verify sockaddr_len in pptp_bind() and pptp_connect() lizf
2016-03-16 8:06 ` [PATCH 3.4 077/107] net: add validation for the socket syscall protocol argument lizf
2016-03-16 8:06 ` [PATCH 3.4 078/107] RDS: verify the underlying transport exists before creating a connection lizf
2016-03-16 8:06 ` [PATCH 3.4 079/107] RDS: fix race condition when sending a message on unbound socket lizf
2016-03-16 8:06 ` [PATCH 3.4 080/107] sg_start_req(): make sure that there's not too many elements in iovec lizf
2016-03-16 8:06 ` [PATCH 3.4 081/107] virtio-net: drop NETIF_F_FRAGLIST lizf
2016-03-16 8:06 ` [PATCH 3.4 082/107] isdn_ppp: Add checks for allocation failure in isdn_ppp_open() lizf
2016-03-16 8:06 ` [PATCH 3.4 083/107] ppp, slip: Validate VJ compression slot parameters completely lizf
2016-03-16 8:06 ` [PATCH 3.4 084/107] USB: whiteheat: fix potential null-deref at probe lizf
2016-03-16 8:06 ` [PATCH 3.4 085/107] KEYS: Fix race between key destruction and finding a keyring by name lizf
2016-03-16 8:06 ` [PATCH 3.4 086/107] KEYS: Fix crash when attempt to garbage collect an uninstantiated keyring lizf
2016-03-16 8:06 ` [PATCH 3.4 087/107] ipv6: addrconf: validate new MTU before applying it lizf
2016-03-16 8:06 ` [PATCH 3.4 088/107] KVM: x86: work around infinite loop in microcode when #AC is delivered lizf
2016-03-16 8:06 ` [PATCH 3.4 089/107] KVM: svm: unconditionally intercept #DB lizf
2016-03-16 8:06 ` [PATCH 3.4 090/107] get rid of s_files and files_lock lizf
2016-03-16 8:06 ` [PATCH 3.4 091/107] Initialize msg/shm IPC objects before doing ipc_addid() lizf
2016-03-16 8:06 ` [PATCH 3.4 092/107] net: avoid to hang up on sending due to sysctl configuration overflow lizf
2016-03-16 8:06 ` [PATCH 3.4 093/107] ipv6: probe routes asynchronous in rt6_probe lizf
2016-03-16 8:06 ` [PATCH 3.4 094/107] netfilter: nf_conntrack: fix RCU race in nf_conntrack_find_get lizf
2016-03-16 8:06 ` [PATCH 3.4 095/107] atm: deal with setting entry before mkip was called lizf
2016-03-16 8:06 ` [PATCH 3.4 096/107] SUNRPC: never enqueue a ->rq_cong request on ->sending lizf
2016-03-16 8:06 ` [PATCH 3.4 097/107] ipv6: prevent fib6_run_gc() contention lizf
2016-03-16 8:06 ` [PATCH 3.4 098/107] kernel/watchdog.c: touch_nmi_watchdog should only touch local cpu not every one lizf
2016-03-16 14:09 ` Don Zickus
2016-03-17 1:20 ` Zefan Li
2016-03-16 8:06 ` [PATCH 3.4 099/107] net: fix warnings in 'make htmldocs' by moving macro definition out of field declaration lizf
2016-03-16 8:06 ` [PATCH 3.4 100/107] af_unix: Guard against other == sk in unix_dgram_sendmsg lizf
2016-03-16 8:06 ` [PATCH 3.4 101/107] x86/LDT: Print the real LDT base address lizf
2016-03-16 8:06 ` [PATCH 3.4 102/107] ALSA: tlv: compute TLV_*_ITEM lengths automatically lizf
2016-03-16 8:06 ` [PATCH 3.4 103/107] ALSA: tlv: add DECLARE_TLV_DB_RANGE() lizf
2016-03-16 8:06 ` [PATCH 3.4 104/107] ALSA: usb-audio: Add a more accurate volume quirk for AudioQuest DragonFly lizf
2016-03-16 8:06 ` [PATCH 3.4 105/107] usb: dwc3: Fix assignment of EP transfer resources lizf
2016-03-16 8:06 ` [PATCH 3.4 106/107] dm btree remove: fix a bug when rebalancing nodes after removal lizf
2016-03-16 8:06 ` [PATCH 3.4 107/107] KVM: x86: move steal time initialization to vcpu entry time lizf
2016-03-16 17:51 ` [PATCH 3.4 000/107] 3.4.111-rc1 review Guenter Roeck
2016-03-17 1:21 ` Zefan Li
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=1458115601-5762-71-git-send-email-lizf@kernel.org \
--to=lizf@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=aquini@redhat.com \
--cc=aris@redhat.com \
--cc=dave@stgolabs.net \
--cc=djeffery@redhat.com \
--cc=herton@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lizefan@huawei.com \
--cc=stable@vger.kernel.org \
--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