All of lore.kernel.org
 help / color / mirror / Atom feed
* [added to the 4.1 stable tree] af_unix: Fix splice-bind deadlock
@ 2016-07-12  2:51 Sasha Levin
  2016-07-12  2:51 ` [added to the 4.1 stable tree] percpu: fix synchronization between chunk->map_extend_work and chunk destruction Sasha Levin
                   ` (267 more replies)
  0 siblings, 268 replies; 274+ messages in thread
From: Sasha Levin @ 2016-07-12  2:51 UTC (permalink / raw)
  To: stable, stable-commits; +Cc: Rainer Weikusat, David S. Miller, Sasha Levin

From: Rainer Weikusat <rweikusat@mobileactivedefense.com>

This patch has been added to the 4.1 stable tree. If you have any
objections, please let us know.

===============

[ Upstream commit c845acb324aa85a39650a14e7696982ceea75dc1 ]

On 2015/11/06, Dmitry Vyukov reported a deadlock involving the splice
system call and AF_UNIX sockets,

http://lists.openwall.net/netdev/2015/11/06/24

The situation was analyzed as

(a while ago) A: socketpair()
B: splice() from a pipe to /mnt/regular_file
	does sb_start_write() on /mnt
C: try to freeze /mnt
	wait for B to finish with /mnt
A: bind() try to bind our socket to /mnt/new_socket_name
	lock our socket, see it not bound yet
	decide that it needs to create something in /mnt
	try to do sb_start_write() on /mnt, block (it's
	waiting for C).
D: splice() from the same pipe to our socket
	lock the pipe, see that socket is connected
	try to lock the socket, block waiting for A
B:	get around to actually feeding a chunk from
	pipe to file, try to lock the pipe.  Deadlock.

on 2015/11/10 by Al Viro,

http://lists.openwall.net/netdev/2015/11/10/4

The patch fixes this by removing the kern_path_create related code from
unix_mknod and executing it as part of unix_bind prior acquiring the
readlock of the socket in question. This means that A (as used above)
will sb_start_write on /mnt before it acquires the readlock, hence, it
won't indirectly block B which first did a sb_start_write and then
waited for a thread trying to acquire the readlock. Consequently, A
being blocked by C waiting for B won't cause a deadlock anymore
(effectively, both A and B acquire two locks in opposite order in the
situation described above).

Dmitry Vyukov(<dvyukov@google.com>) tested the original patch.

Signed-off-by: Rainer Weikusat <rweikusat@mobileactivedefense.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
---
 net/unix/af_unix.c | 66 +++++++++++++++++++++++++++++++++---------------------
 1 file changed, 40 insertions(+), 26 deletions(-)

diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
index 535a642..03da879 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -935,32 +935,20 @@ fail:
 	return NULL;
 }
 
-static int unix_mknod(const char *sun_path, umode_t mode, struct path *res)
+static int unix_mknod(struct dentry *dentry, struct path *path, umode_t mode,
+		      struct path *res)
 {
-	struct dentry *dentry;
-	struct path path;
-	int err = 0;
-	/*
-	 * Get the parent directory, calculate the hash for last
-	 * component.
-	 */
-	dentry = kern_path_create(AT_FDCWD, sun_path, &path, 0);
-	err = PTR_ERR(dentry);
-	if (IS_ERR(dentry))
-		return err;
+	int err;
 
-	/*
-	 * All right, let's create it.
-	 */
-	err = security_path_mknod(&path, dentry, mode, 0);
+	err = security_path_mknod(path, dentry, mode, 0);
 	if (!err) {
-		err = vfs_mknod(d_inode(path.dentry), dentry, mode, 0);
+		err = vfs_mknod(d_inode(path->dentry), dentry, mode, 0);
 		if (!err) {
-			res->mnt = mntget(path.mnt);
+			res->mnt = mntget(path->mnt);
 			res->dentry = dget(dentry);
 		}
 	}
-	done_path_create(&path, dentry);
+
 	return err;
 }
 
@@ -971,10 +959,12 @@ static int unix_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
 	struct unix_sock *u = unix_sk(sk);
 	struct sockaddr_un *sunaddr = (struct sockaddr_un *)uaddr;
 	char *sun_path = sunaddr->sun_path;
-	int err;
+	int err, name_err;
 	unsigned int hash;
 	struct unix_address *addr;
 	struct hlist_head *list;
+	struct path path;
+	struct dentry *dentry;
 
 	err = -EINVAL;
 	if (sunaddr->sun_family != AF_UNIX)
@@ -990,14 +980,34 @@ static int unix_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
 		goto out;
 	addr_len = err;
 
+	name_err = 0;
+	dentry = NULL;
+	if (sun_path[0]) {
+		/* Get the parent directory, calculate the hash for last
+		 * component.
+		 */
+		dentry = kern_path_create(AT_FDCWD, sun_path, &path, 0);
+
+		if (IS_ERR(dentry)) {
+			/* delay report until after 'already bound' check */
+			name_err = PTR_ERR(dentry);
+			dentry = NULL;
+		}
+	}
+
 	err = mutex_lock_interruptible(&u->readlock);
 	if (err)
-		goto out;
+		goto out_path;
 
 	err = -EINVAL;
 	if (u->addr)
 		goto out_up;
 
+	if (name_err) {
+		err = name_err == -EEXIST ? -EADDRINUSE : name_err;
+		goto out_up;
+	}
+
 	err = -ENOMEM;
 	addr = kmalloc(sizeof(*addr)+addr_len, GFP_KERNEL);
 	if (!addr)
@@ -1008,11 +1018,11 @@ static int unix_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
 	addr->hash = hash ^ sk->sk_type;
 	atomic_set(&addr->refcnt, 1);
 
-	if (sun_path[0]) {
-		struct path path;
+	if (dentry) {
+		struct path u_path;
 		umode_t mode = S_IFSOCK |
 		       (SOCK_INODE(sock)->i_mode & ~current_umask());
-		err = unix_mknod(sun_path, mode, &path);
+		err = unix_mknod(dentry, &path, mode, &u_path);
 		if (err) {
 			if (err == -EEXIST)
 				err = -EADDRINUSE;
@@ -1020,9 +1030,9 @@ static int unix_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
 			goto out_up;
 		}
 		addr->hash = UNIX_HASH_SIZE;
-		hash = d_backing_inode(path.dentry)->i_ino & (UNIX_HASH_SIZE-1);
+		hash = d_backing_inode(dentry)->i_ino & (UNIX_HASH_SIZE - 1);
 		spin_lock(&unix_table_lock);
-		u->path = path;
+		u->path = u_path;
 		list = &unix_socket_table[hash];
 	} else {
 		spin_lock(&unix_table_lock);
@@ -1045,6 +1055,10 @@ out_unlock:
 	spin_unlock(&unix_table_lock);
 out_up:
 	mutex_unlock(&u->readlock);
+out_path:
+	if (dentry)
+		done_path_create(&path, dentry);
+
 out:
 	return err;
 }
-- 
2.5.0


^ permalink raw reply related	[flat|nested] 274+ messages in thread

end of thread, other threads:[~2016-07-30 18:04 UTC | newest]

Thread overview: 274+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-12  2:51 [added to the 4.1 stable tree] af_unix: Fix splice-bind deadlock Sasha Levin
2016-07-12  2:51 ` [added to the 4.1 stable tree] percpu: fix synchronization between chunk->map_extend_work and chunk destruction Sasha Levin
2016-07-12  2:51 ` [added to the 4.1 stable tree] percpu: fix synchronization between synchronous map extension " Sasha Levin
2016-07-12  2:51 ` [added to the 4.1 stable tree] cgroup: remove redundant cleanup in css_create Sasha Levin
2016-07-12  2:51 ` [added to the 4.1 stable tree] dmaengine: at_xdmac: align descriptors on 64 bits Sasha Levin
2016-07-12  2:51 ` [added to the 4.1 stable tree] dmaengine: at_xdmac: fix residue corruption Sasha Levin
2016-07-12  2:51 ` [added to the 4.1 stable tree] dmaengine: at_xdmac: double FIFO flush needed to compute residue Sasha Levin
2016-07-12  2:51 ` [added to the 4.1 stable tree] clk: rockchip: initialize flags of clk_init_data in mmc-phase clock Sasha Levin
2016-07-12  2:51 ` [added to the 4.1 stable tree] usb: dwc3: exynos: Fix deferred probing storm Sasha Levin
2016-07-12  2:51 ` [added to the 4.1 stable tree] usb: gadget: fix spinlock dead lock in gadgetfs Sasha Levin
2016-07-12  2:51 ` [added to the 4.1 stable tree] HID: elo: kill not flush the work Sasha Levin
2016-07-12  2:51 ` [added to the 4.1 stable tree] xhci: Fix handling timeouted commands on hosts in weird states Sasha Levin
2016-07-12  2:51 ` [added to the 4.1 stable tree] usb: xhci-plat: properly handle probe deferral for devm_clk_get() Sasha Levin
2016-07-12  2:51 ` [added to the 4.1 stable tree] usb: quirks: Fix sorting Sasha Levin
2016-07-12  2:51 ` [added to the 4.1 stable tree] usb: quirks: Add no-lpm quirk for Acer C120 LED Projector Sasha Levin
2016-07-12  2:51 ` [added to the 4.1 stable tree] USB: xhci: Add broken streams quirk for Frescologic device id 1009 Sasha Levin
2016-07-12  2:51 ` [added to the 4.1 stable tree] usb: musb: Ensure rx reinit occurs for shared_fifo endpoints Sasha Levin
2016-07-12  2:51 ` [added to the 4.1 stable tree] usb: musb: Stop bulk endpoint while queue is rotated Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] usb: host: ehci-tegra: Grab the correct UTMI pads reset Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] scsi: fix race between simultaneous decrements of ->host_failed Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] ARM: 8578/1: mm: ensure pmd_present only checks the valid bit Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] ARM: 8579/1: mm: Fix definition of pmd_mknotpresent Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] crypto: vmx - Increase priority of aes-cbc cipher Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] crypto: ux500 - memmove the right size Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] ipmi: Remove smi_msg from waiting_rcv_msgs list before handle_one_recv_msg() Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] drm/radeon: fix asic initialization for virtualized environments Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] usb: common: otg-fsm: add license to usb-otg-fsm Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] MIPS: KVM: Fix modular KVM under QEMU Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] spi: sun4i: fix FIFO limit Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] spi: sunxi: fix transfer timeout Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] kprobes/x86: Clear TF bit in fault on single-stepping Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] kernel/sysrq, watchdog, sched/core: Reset watchdog on all CPUs while processing sysrq-w Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] power_supply: power_supply_read_temp only if use_cnt > 0 Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] drm/i915/ilk: Don't disable SSC source if it's in use Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] drm/dp/mst: Always clear proposed vcpi table for port Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] nfsd4/rpc: move backchannel create logic into rpc code Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] base: make module_create_drivers_dir race-free Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] kvm: Fix irq route entries exceeding KVM_MAX_IRQ_ROUTES Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] memory: omap-gpmc: Fix omap gpmc EXTRADELAY timing Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] cgroup: set css->id to -1 during init Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] KEYS: potential uninitialized variable Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] ALSA: hda - Fix possible race on regmap bypass flip Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] ALSA: hdac_regmap - fix the register access for runtime PM Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] btrfs: account for non-CoW'd blocks in btrfs_abort_transaction Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] IB/mlx4: Properly initialize GRH TClass and FlowLabel in AHs Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] can: c_can: Update D_CAN TX and RX functions to 32 bit - fix Altera Cyclone access Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] can: at91_can: RX queue could get stuck at high bus load Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] tracing: Handle NULL formats in hold_module_trace_bprintk_format() Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] drm: atmel-hlcdc: actually disable scaling when no scaling is required Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] arm64: mm: remove page_mapping check in __sync_icache_dcache Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] pinctrl: imx: Do not treat a PIN without MUX register as an error Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] pinctrl: single: Fix missing flush of posted write for a wakeirq Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] ubi: Make recover_peb power cut aware Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] mm: Export migrate_page_move_mapping and migrate_page_copy Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] UBIFS: Implement ->migratepage() Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] can: fix handling of unmodifiable configuration options fix Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] can: fix oops caused by wrong rtnl dellink usage Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] xen/pciback: Fix conf_space read/write overlap check Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] Input: wacom_w8001 - w8001_MAX_LENGTH should be 13 Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] Input: elantech - add more IC body types to the list Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] drm/nouveau: fix for disabled fbdev emulation Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] Input: vmmouse - remove port reservation Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] cifs: dynamic allocation of ntlmssp blob Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] HID: hiddev: validate num_values for HIDIOCGUSAGES, HIDIOCSUSAGES commands Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] ALSA: hda - remove one pin from ALC292_STANDARD_PINS Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] ALSA: hda / realtek - add two more Thinkpad IDs (5050,5053) for tpt460 fixup Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] ALSA: dummy: Fix a use-after-free at closing Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] pNFS: Tighten up locking around DS commit buckets Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] nfs: avoid race that crashes nfs_init_commit Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] pnfs_nfs: fix _cancel_empty_pagelist Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] Fix reconnect to not defer smb3 session reconnect long after socket reconnect Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] File names with trailing period or space need special case conversion Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] USB: EHCI: declare hostpc register as zero-length array Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] tmpfs: don't undo fallocate past its last page Sasha Levin
2016-07-12  9:31   ` Vlastimil Babka
2016-07-12 11:58     ` Hugh Dickins
2016-07-12 12:41       ` Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] mm/swap.c: flush lru pvecs on compound page arrival Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] mm, compaction: skip compound pages by order in free scanner Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] mm, compaction: abort free scanner if split fails Sasha Levin
2016-07-12  2:52 ` [added to the 4.1 stable tree] fs/nilfs2: fix potential underflow in call to crc32_le Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] powerpc/tm: Always reclaim in start_thread() for exec() class syscalls Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] KVM: arm/arm64: Stop leaking vcpu pid references Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] make nfs_atomic_open() call d_drop() on all ->open_context() errors Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] USB: don't free bandwidth_mutex too early Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] ARC: unwind: ensure that .debug_frame is generated (vs. .eh_frame) Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] arc: unwind: warn only once if DW2_UNWIND is disabled Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] Revert "s390/kdump: Clear subchannel ID to signal non-CCW/SCSI IPL" Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] NFS: Fix another OPEN_DOWNGRADE bug Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] namespace: update event counter when umounting a deleted dentry Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] locks: use file_inode() Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] PCI: Allow a NULL "parent" pointer in pci_bus_assign_domain_nr() Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] ASoC: samsung: pass DMA channels as pointers Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] dm snapshot: disallow the COW and origin devices from being identical Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] ALSA: usb-audio: Minor code cleanup in create_fixed_stream_quirk() Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] ALSA: usb-audio: Fix double-free in error paths after snd_usb_add_audio_stream() call Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] tpm: fix the cleanup of struct tpm_chip Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] HID: logitech: fix Dual Action gamepad support Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] 8250: use callbacks to access UART_DLL/UART_DLM Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] mtip32xx: Fix for rmmod crash when drive is in FTL rebuild Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] mtip32xx: Fix broken service thread handling Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] ALSA: pcm: Avoid "BUG:" string for warnings again Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] hwmon: (max1111) Return -ENODEV from max1111_read_channel if not instantiated Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] PKCS#7: pkcs7_validate_trust(): initialize the _trusted output argument Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] ALSA: timer: Use mod_timer() for rearming the system timer Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] mm: fix invalid node in alloc_migrate_target() Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] powerpc/mm: Fixup preempt underflow with huge pages Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] drm: Fix for DP CTS test 4.2.2.5 - I2C DEFER handling Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] drm/udl: Use unlocked gem unreferencing Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] drm/radeon: add a dpm quirk for sapphire Dual-X R7 370 2G D5 Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] drm/radeon: add a dpm quirk for all R7 370 parts Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] tcp: convert cached rtt from usec to jiffies when feeding initial rto Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] net: jme: fix suspend/resume on JMC260 Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] net: qca_spi: Don't clear IFF_BROADCAST Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] net: qca_spi: clear IFF_TX_SKB_SHARING Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] sctp: lack the check for ports in sctp_v6_cmp_addr Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] mld, igmp: Fix reserved tailroom calculation Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] qmi_wwan: add Sierra Wireless EM74xx device ID Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] ipv6: re-enable fragment header matching in ipv6_find_hdr Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] cdc_ncm: toggle altsetting to force reset before setup Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] usbnet: cleanup after bind() in probe() Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] udp6: fix UDP/IPv6 encap resubmit path Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] packet: Allow packets with only a header (but no payload) Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] net: validate variable length ll headers Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] ax25: add link layer header validation function Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] packet: validate variable length ll headers Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] sh_eth: fix NULL pointer dereference in sh_eth_ring_format() Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] sh_eth: fix RX buffer size alignment Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] qlcnic: Remove unnecessary usage of atomic_t Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] qlcnic: Fix mailbox completion handling during spurious interrupt Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] macvtap: always pass ethernet header in linear Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] ipv4: Don't do expensive useless work during inetdev destroy Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] net: Fix use after free in the recvmmsg exit path Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] mlx4: add missing braces in verify_qp_parameters Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] farsync: fix off-by-one bug in fst_add_one Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] ath9k: fix buffer overrun for ar9287 Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] ppp: ensure file->private_data can't be overridden Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] qlge: Fix receive packets drop Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] net: bcmgenet: fix dma api length mismatch Sasha Levin
2016-07-12  2:53 ` [added to the 4.1 stable tree] bonding: fix bond_get_stats() Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] ipv4: fix broadcast packets reception Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] ppp: take reference on channels netns Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] xfrm: Fix crash observed during device unregistration and decryption Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] qmi_wwan: add "D-Link DWM-221 B1" device id Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] ipv6: udp: fix UDP_MIB_IGNOREDMULTI updates Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] rtnl: fix msg size calculation in if_nlmsg_size() Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] ipv4: l2tp: fix a potential issue in l2tp_ip_recv Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] ipv6: l2tp: fix a potential issue in l2tp_ip6_recv Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] ip6_tunnel: set rtnl_link_ops before calling register_netdevice Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] pinctrl: nomadik: fix pull debug print inversion Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] [media] coda: fix error path in case of missing pdata on non-DT platform Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] [media] v4l: vsp1: Set the SRU CTRL0 register when starting the stream Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] mac80211: avoid excessive stack usage in sta_info Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] mac80211: fix ibss scan parameters Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] mac80211: fix unnecessary frame drops in mesh fwding Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] mac80211: fix txq queue related crashes Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] futex: Acknowledge a new waiter in counter before plist Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] powerpc: Update TM user feature bits in scan_features() Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] Input: pmic8xxx-pwrkey - fix algorithm for converting trigger delay Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] xen kconfig: don't "select INPUT_XEN_KBDDEV_FRONTEND" Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] pinctrl: single: Fix pcs_parse_bits_in_pinctrl_entry to use __ffs than ffs Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] drm/i915: Cleanup phys status page too Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] i2c: exynos5: Fix possible ABBA deadlock by keeping I2C clock prepared Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] ASoC: s3c24xx: use const snd_soc_component_driver pointer Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] ASoC: ssm4567: Reset device before regcache_sync() Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] efi: Expose non-blocking set_variable() wrapper to efivars Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] cgroup: make sure a parent css isn't freed before its children Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] USB: usbip: fix potential out-of-bounds write Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] spi/rockchip: Make sure spi clk is on in rockchip_spi_set_cs Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] regulator: s5m8767: fix get_register() error handling Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] paride: make 'verbose' parameter an 'int' again Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] fbdev: da8xx-fb: fix videomodes of lcd panels Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] misc/bmp085: Enable building as a module Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] rtc: hym8563: fix invalid year calculation Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] rtc: vr41xx: Wire up alarm_irq_enable Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] rtc: ds1685: passing bogus values to irq_restore Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] rtc: max77686: Properly handle regmap_irq_get_virq() error code Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] drivers/misc/ad525x_dpot: AD5274 fix RDAC read back errors Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] x86/mm/kmmio: Fix mmiotrace for hugepages Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] ext4: fix NULL pointer dereference in ext4_mark_inode_dirty() Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] perf tools: handle spaces in file names obtained from /proc/pid/maps Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] perf stat: Document --detailed option Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] ARM: OMAP3: Add cpuidle parameters table for omap3430 Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] jme: Do not enable NIC WoL functions on S0 Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] jme: Fix device PM wakeup API usage Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] sunrpc/cache: drop reference when sunrpc_cache_pipe_upcall() detects a race Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] megaraid_sas: add missing curly braces in ioctl handler Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] ipvs: correct initial offset of Call-ID header search in SIP persistence engine Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] ipvs: drop first packet to redirect conntrack Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] nbd: ratelimit error msgs after socket close Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] clk: rockchip: free memory in error cases when registering clock branches Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] clk: qcom: msm8960: fix ce3_core clk enable register Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] clk: versatile: sp810: support reentrance Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] clk: qcom: msm8960: Fix ce3_src register offset Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] lpfc: fix misleading indentation Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] Input: zforce_ts - fix dual touch recognition Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] proc: prevent accessing /proc/<PID>/environ until it's ready Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] mm: update min_free_kbytes from khugepaged after core initialization Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] batman-adv: Check skb size before using encapsulated ETH+VLAN header Sasha Levin
2016-07-12  2:54 ` [added to the 4.1 stable tree] batman-adv: Fix broadcast/ogm queue limit on a removed interface Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] batman-adv: Reduce refcnt of removed router when updating route Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] iio: ak8975: fix maybe-uninitialized warning Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] ACPI / processor: Request native thermal interrupt handling via _OSC Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] decnet: Do not build routes to devices without decnet private data Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] route: do not cache fib route info on local routes with oif Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] packet: fix heap info leak in PACKET_DIAG_MCLIST sock_diag interface Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] net: sched: do not requeue a NULL skb Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] bpf/verifier: reject invalid LD_ABS | BPF_DW instruction Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] atl2: Disable unimplemented scatter/gather feature Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] openvswitch: use flow protocol when recalculating ipv6 checksums Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] ipv4/fib: don't warn when primary address is missing if in_dev is dead Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] net/mlx4_en: fix spurious timestamping callbacks Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] bpf: fix double-fdput in replace_map_fd_with_map_ptr() Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] net_sched: introduce qdisc_replace() helper Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] net_sched: update hierarchical backlog too Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] sch_htb: update backlog as well Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] sch_dsmark: " Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] netem: Segment GSO packets on enqueue Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] net: fec: only clear a queue's work bit if the queue was emptied Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] net: fix infoleak in llc Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] net: fix infoleak in rtnetlink Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] net/mlx4_en: Fix endianness bug in IPV6 csum calculation Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] VSOCK: do not disconnect socket when peer has shutdown SEND only Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] net: bridge: fix old ioctl unlocked net device walk Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] net: fix a kernel infoleak in x25 module Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] tcp: refresh skb timestamp at retransmit time Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] s390/mm: fix asce_bits handling with dynamic pagetable levels Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] drm/radeon: fix PLL sharing on DCE6.1 (v2) Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] Btrfs: don't use src fd for printk Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] clk: qcom: msm8916: Fix crypto clock flags Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] usb: gadget: f_fs: Fix EFAULT generation for async read operations Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] KVM: x86: mask CPUID(0xD,0x1).EAX against host value Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] tty: vt, return error when con_startup fails Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] serial: samsung: Reorder the sequence of clock control when call s3c24xx_serial_set_termios() Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] MIPS: Reserve nosave data for hibernation Sasha Levin
2016-07-17 14:02   ` Huacai Chen
2016-07-12  2:55 ` [added to the 4.1 stable tree] pipe: limit the per-user amount of pages allocated in pipes Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] xfs: print name of verifier if it fails Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] tipc: check nl sock before parsing nested attributes Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] netlink: Fix dump skb leak/double free Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] tipc: fix nametable publication field in nl compat Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] tuntap: correctly wake up process during uninit Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] sfc: on MC reset, clear PIO buffer linkage in TXQs Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] tcp: record TLP and ER timer stats in v6 stats Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] sparc: Fix system call tracing register handling Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] sparc64: Fix bootup regressions on some Kconfig combinations Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] sparc64: Fix numa node distance initialization Sasha Levin
2016-07-30 18:04   ` Nitin Gupta
2016-07-12  2:55 ` [added to the 4.1 stable tree] sparc64: Fix sparc64_set_context stack handling Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] sparc/PCI: Fix for panic while enabling SR-IOV Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] sparc64: Take ctx_alloc_lock properly in hugetlb_setup() Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] sparc: Harden signal return frame checks Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] sparc64: Fix return from trap window fill crashes Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] MIPS: Fix 64k page support for 32 bit kernels Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] netfilter: x_tables: validate e->target_offset early Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] netfilter: x_tables: make sure e->next_offset covers remaining blob size Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] netfilter: x_tables: fix unconditional helper Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] netfilter: x_tables: don't move to non-existent next rule Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] netfilter: x_tables: validate targets of jumps Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] netfilter: x_tables: add and use xt_check_entry_offsets Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] netfilter: x_tables: kill check_entry helper Sasha Levin
2016-07-12  2:55 ` [added to the 4.1 stable tree] netfilter: x_tables: assert minimum target size Sasha Levin
2016-07-12  2:56 ` [added to the 4.1 stable tree] netfilter: x_tables: add compat version of xt_check_entry_offsets Sasha Levin
2016-07-12  2:56 ` [added to the 4.1 stable tree] netfilter: x_tables: check standard target size too Sasha Levin
2016-07-12  2:56 ` [added to the 4.1 stable tree] netfilter: x_tables: check for bogus target offset Sasha Levin
2016-07-12  2:56 ` [added to the 4.1 stable tree] netfilter: x_tables: validate all offsets and sizes in a rule Sasha Levin
2016-07-12  2:56 ` [added to the 4.1 stable tree] netfilter: x_tables: don't reject valid target size on some architectures Sasha Levin
2016-07-12  2:56 ` [added to the 4.1 stable tree] netfilter: arp_tables: simplify translate_compat_table args Sasha Levin
2016-07-12  2:56 ` [added to the 4.1 stable tree] netfilter: ip_tables: " Sasha Levin
2016-07-12  2:56 ` [added to the 4.1 stable tree] netfilter: ip6_tables: " Sasha Levin
2016-07-12  2:56 ` [added to the 4.1 stable tree] netfilter: x_tables: xt_compat_match_from_user doesn't need a retval Sasha Levin
2016-07-12  2:56 ` [added to the 4.1 stable tree] netfilter: x_tables: do compat validation via translate_table Sasha Levin
2016-07-12  2:56 ` [added to the 4.1 stable tree] netfilter: x_tables: introduce and use xt_copy_counters_from_user Sasha Levin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.