All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Soeren Moch <smoch@web.de>,
	Mauro Carvalho Chehab <mchehab@s-opensource.com>
Subject: [PATCH 4.7 042/186] [media] media: dvb_ringbuffer: Add memory barriers
Date: Thu, 18 Aug 2016 15:57:39 +0200	[thread overview]
Message-ID: <20160818135933.963003623@linuxfoundation.org> (raw)
In-Reply-To: <20160818135932.219369981@linuxfoundation.org>

4.7-stable review patch.  If anyone has any objections, please let me know.

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

From: Soeren Moch <smoch@web.de>

commit ca6e6126db5494f18c6c6615060d4d803b528bff upstream.

Implement memory barriers according to Documentation/circular-buffers.txt:
- use smp_store_release() to update ringbuffer read/write pointers
- use smp_load_acquire() to load write pointer on reader side
- use ACCESS_ONCE() to load read pointer on writer side

This fixes data stream corruptions observed e.g. on an ARM Cortex-A9
quad core system with different types (PCI, USB) of DVB tuners.

Signed-off-by: Soeren Moch <smoch@web.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/media/dvb-core/dvb_ringbuffer.c |   74 ++++++++++++++++++++++++++------
 1 file changed, 61 insertions(+), 13 deletions(-)

--- a/drivers/media/dvb-core/dvb_ringbuffer.c
+++ b/drivers/media/dvb-core/dvb_ringbuffer.c
@@ -55,7 +55,13 @@ void dvb_ringbuffer_init(struct dvb_ring
 
 int dvb_ringbuffer_empty(struct dvb_ringbuffer *rbuf)
 {
-	return (rbuf->pread==rbuf->pwrite);
+	/* smp_load_acquire() to load write pointer on reader side
+	 * this pairs with smp_store_release() in dvb_ringbuffer_write(),
+	 * dvb_ringbuffer_write_user(), or dvb_ringbuffer_reset()
+	 *
+	 * for memory barriers also see Documentation/circular-buffers.txt
+	 */
+	return (rbuf->pread == smp_load_acquire(&rbuf->pwrite));
 }
 
 
@@ -64,7 +70,12 @@ ssize_t dvb_ringbuffer_free(struct dvb_r
 {
 	ssize_t free;
 
-	free = rbuf->pread - rbuf->pwrite;
+	/* ACCESS_ONCE() to load read pointer on writer side
+	 * this pairs with smp_store_release() in dvb_ringbuffer_read(),
+	 * dvb_ringbuffer_read_user(), dvb_ringbuffer_flush(),
+	 * or dvb_ringbuffer_reset()
+	 */
+	free = ACCESS_ONCE(rbuf->pread) - rbuf->pwrite;
 	if (free <= 0)
 		free += rbuf->size;
 	return free-1;
@@ -76,7 +87,11 @@ ssize_t dvb_ringbuffer_avail(struct dvb_
 {
 	ssize_t avail;
 
-	avail = rbuf->pwrite - rbuf->pread;
+	/* smp_load_acquire() to load write pointer on reader side
+	 * this pairs with smp_store_release() in dvb_ringbuffer_write(),
+	 * dvb_ringbuffer_write_user(), or dvb_ringbuffer_reset()
+	 */
+	avail = smp_load_acquire(&rbuf->pwrite) - rbuf->pread;
 	if (avail < 0)
 		avail += rbuf->size;
 	return avail;
@@ -86,14 +101,25 @@ ssize_t dvb_ringbuffer_avail(struct dvb_
 
 void dvb_ringbuffer_flush(struct dvb_ringbuffer *rbuf)
 {
-	rbuf->pread = rbuf->pwrite;
+	/* dvb_ringbuffer_flush() counts as read operation
+	 * smp_load_acquire() to load write pointer
+	 * smp_store_release() to update read pointer, this ensures that the
+	 * correct pointer is visible for subsequent dvb_ringbuffer_free()
+	 * calls on other cpu cores
+	 */
+	smp_store_release(&rbuf->pread, smp_load_acquire(&rbuf->pwrite));
 	rbuf->error = 0;
 }
 EXPORT_SYMBOL(dvb_ringbuffer_flush);
 
 void dvb_ringbuffer_reset(struct dvb_ringbuffer *rbuf)
 {
-	rbuf->pread = rbuf->pwrite = 0;
+	/* dvb_ringbuffer_reset() counts as read and write operation
+	 * smp_store_release() to update read pointer
+	 */
+	smp_store_release(&rbuf->pread, 0);
+	/* smp_store_release() to update write pointer */
+	smp_store_release(&rbuf->pwrite, 0);
 	rbuf->error = 0;
 }
 
@@ -119,12 +145,17 @@ ssize_t dvb_ringbuffer_read_user(struct
 			return -EFAULT;
 		buf += split;
 		todo -= split;
-		rbuf->pread = 0;
+		/* smp_store_release() for read pointer update to ensure
+		 * that buf is not overwritten until read is complete,
+		 * this pairs with ACCESS_ONCE() in dvb_ringbuffer_free()
+		 */
+		smp_store_release(&rbuf->pread, 0);
 	}
 	if (copy_to_user(buf, rbuf->data+rbuf->pread, todo))
 		return -EFAULT;
 
-	rbuf->pread = (rbuf->pread + todo) % rbuf->size;
+	/* smp_store_release() to update read pointer, see above */
+	smp_store_release(&rbuf->pread, (rbuf->pread + todo) % rbuf->size);
 
 	return len;
 }
@@ -139,11 +170,16 @@ void dvb_ringbuffer_read(struct dvb_ring
 		memcpy(buf, rbuf->data+rbuf->pread, split);
 		buf += split;
 		todo -= split;
-		rbuf->pread = 0;
+		/* smp_store_release() for read pointer update to ensure
+		 * that buf is not overwritten until read is complete,
+		 * this pairs with ACCESS_ONCE() in dvb_ringbuffer_free()
+		 */
+		smp_store_release(&rbuf->pread, 0);
 	}
 	memcpy(buf, rbuf->data+rbuf->pread, todo);
 
-	rbuf->pread = (rbuf->pread + todo) % rbuf->size;
+	/* smp_store_release() to update read pointer, see above */
+	smp_store_release(&rbuf->pread, (rbuf->pread + todo) % rbuf->size);
 }
 
 
@@ -158,10 +194,16 @@ ssize_t dvb_ringbuffer_write(struct dvb_
 		memcpy(rbuf->data+rbuf->pwrite, buf, split);
 		buf += split;
 		todo -= split;
-		rbuf->pwrite = 0;
+		/* smp_store_release() for write pointer update to ensure that
+		 * written data is visible on other cpu cores before the pointer
+		 * update, this pairs with smp_load_acquire() in
+		 * dvb_ringbuffer_empty() or dvb_ringbuffer_avail()
+		 */
+		smp_store_release(&rbuf->pwrite, 0);
 	}
 	memcpy(rbuf->data+rbuf->pwrite, buf, todo);
-	rbuf->pwrite = (rbuf->pwrite + todo) % rbuf->size;
+	/* smp_store_release() for write pointer update, see above */
+	smp_store_release(&rbuf->pwrite, (rbuf->pwrite + todo) % rbuf->size);
 
 	return len;
 }
@@ -181,12 +223,18 @@ ssize_t dvb_ringbuffer_write_user(struct
 			return len - todo;
 		buf += split;
 		todo -= split;
-		rbuf->pwrite = 0;
+		/* smp_store_release() for write pointer update to ensure that
+		 * written data is visible on other cpu cores before the pointer
+		 * update, this pairs with smp_load_acquire() in
+		 * dvb_ringbuffer_empty() or dvb_ringbuffer_avail()
+		 */
+		smp_store_release(&rbuf->pwrite, 0);
 	}
 	status = copy_from_user(rbuf->data+rbuf->pwrite, buf, todo);
 	if (status)
 		return len - todo;
-	rbuf->pwrite = (rbuf->pwrite + todo) % rbuf->size;
+	/* smp_store_release() for write pointer update, see above */
+	smp_store_release(&rbuf->pwrite, (rbuf->pwrite + todo) % rbuf->size);
 
 	return len;
 }

  parent reply	other threads:[~2016-08-18 14:50 UTC|newest]

Thread overview: 160+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20160818140817uscas1p238499f62d2adb3fdec69b8b057669de7@uscas1p2.samsung.com>
     [not found] ` <20160818135932.219369981@linuxfoundation.org>
2016-08-18 13:57   ` [PATCH 4.7 003/186] usb: gadget: pch_udc: reorder spin_[un]lock to avoid deadlock Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 007/186] USB: serial: option: add support for Telit LE910 PID 0x1206 Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 010/186] arm64: debug: unmask PSTATE.D earlier Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 011/186] arm64: Fix incorrect per-cpu usage for boot CPU Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 022/186] arm64: mm: avoid fdt_check_header() before the FDT is fully mapped Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 031/186] KVM: nVMX: Fix memory corruption when using VMCS shadowing Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 033/186] s390/cio: allow to reset channel measurement block Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 034/186] s390/mm: fix gmap tlb flush issues Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 036/186] intel_pstate: Fix MSR_CONFIG_TDP_x addressing in core_get_max_pstate() Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 039/186] perf/x86/intel/uncore: Fix uncore num_counters Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 041/186] [media] media: usbtv: prevent access to freed resources Greg Kroah-Hartman
2016-08-18 13:57   ` Greg Kroah-Hartman [this message]
2016-08-18 13:57   ` [PATCH 4.7 044/186] [media] videobuf2-v4l2: Verify planes array in buffer dequeueing Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 045/186] [media] vb2: core: Skip planes array verification if pb is NULL Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 047/186] [media] sur40: lower poll interval to fix occasional FPS drops to ~56 FPS Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 048/186] [media] sur40: fix occasional oopses on device close Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 049/186] regulator: s2mps11: Fix the voltage linear range for s2mps15 Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 050/186] dm: fix second blk_delay_queue() parameter to be in msec units not jiffies Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 051/186] dm: set DMF_SUSPENDED* _before_ clearing DMF_NOFLUSH_SUSPENDING Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 052/186] xfs: bufferhead chains are invalid after end_page_writeback Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 053/186] hp-wmi: Fix wifi cannot be hard-unblocked Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 054/186] s5p-mfc: Set device name for reserved memory region devs Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 055/186] s5p-mfc: Add release callback for " Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 056/186] dm verity fec: fix block calculation Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 057/186] iwlwifi: pcie: enable interrupts before releasing the NICs CPU Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 058/186] iwlwifi: pcie: fix a race in firmware loading flow Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 059/186] iwlwifi: add new 8260 PCI IDs Greg Kroah-Hartman
2016-08-18 13:57   ` [PATCH 4.7 060/186] iwlwifi: add new 8265 Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 063/186] spi: pxa2xx: Clear all RFT bits in reset_sccr1() on Intel Quark Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 065/186] Bluetooth: Add support of 13d3:3490 AR3012 device Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 067/186] EDAC: Correct channel count limit Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 068/186] megaraid_sas: Do not fire MR_DCMD_PD_LIST_QUERY to controllers which do not support it Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 069/186] HID: uhid: fix timeout when probe races with IO Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 070/186] ovl: disallow overlayfs as upperdir Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 071/186] remoteproc: Fix potential race condition in rproc_add Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 072/186] ARC: mm: dont loose PTE_SPECIAL in pte_modify() Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 073/186] ARC: dma: fix address translation in arc_dma_free Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 074/186] jbd2: make journal y2038 safe Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 075/186] fs/cifs: make share unaccessible at root level mountable Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 076/186] cifs: Check for existing directory when opening file with O_CREAT Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 077/186] cifs: unbreak TCP session reuse Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 078/186] cifs: fix crash due to race in hmac(md5) handling Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 079/186] CIFS: Fix a possible invalid memory access in smb2_query_symlink() Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 080/186] random: add interrupt callback to VMBus IRQ handler Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 081/186] random: properly align get_random_int_hash Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 082/186] random: initialize the non-blocking pool via add_hwgenerator_randomness() Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 083/186] random: print a warning for the first ten uninitialized random users Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 084/186] cachefiles: Fix race between inactivating and culling a cache object Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 085/186] MIPS: KVM: Fix mapped fault broken commpage handling Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 086/186] MIPS: KVM: Add missing gfn range check Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 087/186] MIPS: KVM: Fix gfn range check in kseg0 tlb faults Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 088/186] MIPS: KVM: Propagate kseg0/mapped tlb fault errors Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 089/186] powerpc/tm: Fix stack pointer corruption in __tm_recheckpoint() Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 090/186] Btrfs: fix delalloc accounting after copy_from_user faults Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 091/186] nfs: dont create zero-length requests Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 092/186] nfsd: Fix race between FREE_STATEID and LOCK Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 093/186] nfsd: dont return an unhashed lock stateid after taking mutex Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 094/186] pNFS: Separate handling of NFS4ERR_LAYOUTTRYLATER and RECALLCONFLICT Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 095/186] pNFS: Fix post-layoutget error handling in pnfs_update_layout() Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 096/186] pNFS: Handle NFS4ERR_RECALLCONFLICT correctly in LAYOUTGET Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 097/186] pNFS: Fix LAYOUTGET handling of NFS4ERR_BAD_STATEID and NFS4ERR_EXPIRED Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 099/186] iommu/exynos: Suppress unbinding to prevent system failure Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 100/186] iommu/vt-d: Return error code in domain_context_mapping_one() Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 101/186] iommu/io-pgtable-arm: Fix iova_to_phys for block entries Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 102/186] iommu/amd: Handle IOMMU_DOMAIN_DMA in ops->domain_free call-back Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 103/186] iommu/amd: Init unity mappings only for dma_ops domains Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 104/186] iommu/amd: Update Alias-DTE in update_device_table() Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 105/186] audit: fix a double fetch in audit_log_single_execve_arg() Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 106/186] ARM: 8561/3: dma-mapping: Dont use outer_flush_range when the L2C is coherent Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 107/186] ARM: dts: sunxi: Add a startup delay for fixed regulator enabled phys Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 108/186] ARM: dts: realview: Fix PBX-A9 cache description Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 109/186] ARM: tegra: fix erroneous address in dts Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 110/186] Revert "ARM: aspeed: adapt defconfigs for new CONFIG_PRINTK_TIME" Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 111/186] cgroupns: Fix the locking in copy_cgroup_ns Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 112/186] cgroupns: Close race between cgroup_post_fork and copy_cgroup_ns Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 113/186] cgroupns: Only allow creation of hierarchies in the initial cgroup namespace Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 114/186] tpm_crb: fix address space of the return pointer in crb_map_res() Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 115/186] clk: rockchip: fix incorrect rk3399 spdif-DPTX divider bits Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 116/186] soc: qcom: smp2p: Correct addressing of outgoing value Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 117/186] netlabel: add address family checks to netlbl_{sock,req}_delattr() Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 118/186] w1:omap_hdq: fix regression Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 120/186] drm/amdgpu: Poll for both connect/disconnect on analog connectors Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 121/186] drm/amdgpu: support backlight control for UNIPHY3 Greg Kroah-Hartman
2016-08-18 13:58   ` [PATCH 4.7 122/186] drm/amdgpu: Disable RPM helpers while reprobing connectors on resume Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 123/186] drm/amdgpu: fix firmware info version checks Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 124/186] drm/amdgpu/gmc7: add missing mullins case Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 126/186] drm/radeon: Poll for both connect/disconnect on analog connectors Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 127/186] drm/radeon: fix firmware info version checks Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 128/186] drm/radeon: support backlight control for UNIPHY3 Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 129/186] drm/nouveau: check for supported chipset before booting fbdev off the hw Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 130/186] drm/nouveau/gr/nv3x: fix instobj write offsets in gr setup Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 131/186] drm/nouveau/fbcon: fix font width not divisible by 8 Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 132/186] drm: Restore double clflush on the last partial cacheline Greg Kroah-Hartman
2016-08-18 13:59     ` Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 134/186] drm/amd/powerplay: fix the incorrect return value Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 135/186] drm/rockchip: allocate correct crtc state structure on reset Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 136/186] drm/i915/gen9: Add WaInPlaceDecompressionHang Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 141/186] balloon: check the number of available pages in leak balloon Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 142/186] ftrace/recordmcount: Work around for addition of metag magic but not relocations Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 143/186] metag: Fix __cmpxchg_u32 asm constraint for CMP Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 144/186] block: add missing group association in bio-cloning functions Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 145/186] block: fix bdi vs gendisk lifetime mismatch Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 146/186] floppy: fix open(O_ACCMODE) for ioctl-only open Greg Kroah-Hartman
2016-08-24 13:34     ` Mark Hounschell
2016-08-24 20:17       ` Greg Kroah-Hartman
2016-08-24 21:11         ` Jiri Kosina
2016-08-25 13:08           ` Mark Hounschell
2016-08-25 14:41             ` Jens Axboe
2016-08-25 14:50               ` Mark Hounschell
2016-08-25 14:53               ` Jiri Kosina
2016-08-25 14:57                 ` Jens Axboe
2016-08-18 13:59   ` [PATCH 4.7 147/186] mtd: nand: fix bug writing 1 byte less than page size Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 148/186] mm/hugetlb: avoid soft lockup in set_max_huge_pages() Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 149/186] ALSA: hda: Fix krealloc() with __GFP_ZERO usage Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 150/186] ALSA: hda/realtek - Cant adjust speakers volume on a Dell AIO Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 151/186] ALSA: hda: add AMD Bonaire AZ PCI ID with proper driver caps Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 152/186] ALSA: hda - Fix headset mic detection problem for two dell machines Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 153/186] IB/mlx5: Fix iteration overrun in GSI qps Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 154/186] IB/mlx5: Fix MODIFY_QP command input structure Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 155/186] IB/rdmavt: Disable by default Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 156/186] IB/rdmavt: Add missing spin_lock_init call for rdi->n_cqs_lock Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 157/186] IB/srpt: Limit the number of SG elements per work request Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 158/186] IB/core: Make rdma_rw_ctx_init() initialize all used fields Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 159/186] IB/core, RDMA RW API: Do not exceed QP SGE send limit Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 160/186] of: fix memory leak related to safe_name() Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 161/186] ubi: Make volume resize power cut aware Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 162/186] ubi: Fix early logging Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 163/186] ubi: Fix race condition between ubi device creation and udev Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 164/186] iscsi-target: Fix panic when adding second TCP connection to iSCSI session Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 165/186] target: Fix ordered task target_setup_cmd_from_cdb exception hang Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 166/186] target: Fix missing complete during ABORT_TASK + CMD_T_FABRIC_STOP Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 167/186] target: Fix race between iscsi-target connection shutdown + ABORT_TASK Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 168/186] target: Fix max_unmap_lba_count calc overflow Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 169/186] target: Fix ordered task CHECK_CONDITION early exception handling Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 170/186] um: Fix possible deadlock in sig_handler_common() Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 171/186] Input: elan_i2c - properly wake up touchpad on ASUS laptops Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 172/186] Input: i8042 - break load dependency between atkbd/psmouse and i8042 Greg Kroah-Hartman
2016-08-18 16:29     ` Dmitry Torokhov
2016-08-19  7:37       ` Greg Kroah-Hartman
2016-08-19 17:13         ` Dmitry Torokhov
2016-09-05 14:01           ` Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 173/186] SUNRPC: Dont allocate a full sockaddr_storage for tracing Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 174/186] MIPS: mm: Fix definition of R6 cache instruction Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 175/186] MIPS: Fix r4k clockevents registration Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 176/186] MIPS: Dont register r4k sched clock when CPUFREQ enabled Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 177/186] MIPS: hpet: Increase HPET_MIN_PROG_DELTA and decrease HPET_MIN_CYCLES Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 178/186] PCI: Mark Atheros AR9485 and QCA9882 to avoid bus reset Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 179/186] x86/platform/intel_mid_pci: Rework IRQ0 workaround Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 180/186] ACPI / EC: Work around method reentrancy limit in ACPICA for _Qxx Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 181/186] lpfc: fix oops in lpfc_sli4_scmd_to_wqidx_distr() from lpfc_send_taskmgmt() Greg Kroah-Hartman
2016-08-18 13:59   ` [PATCH 4.7 182/186] rtc: s3c: Add s3c_rtc_{enable/disable}_clk in s3c_rtc_setfreq() Greg Kroah-Hartman
2016-08-18 14:00   ` [PATCH 4.7 183/186] dm flakey: error READ bios during the down_interval Greg Kroah-Hartman
2016-08-18 14:00   ` [PATCH 4.7 184/186] module: Invalidate signatures on force-loaded modules Greg Kroah-Hartman
2016-08-18 14:00   ` [PATCH 4.7 185/186] Documentation/module-signing.txt: Note need for version info if reusing a key Greg Kroah-Hartman
2016-08-18 14:00   ` [PATCH 4.7 186/186] phy: rcar-gen3-usb2: fix mutex_lock calling in interrupt Greg Kroah-Hartman
2016-08-18 20:08   ` [PATCH 4.7 000/186] 4.7.2-stable review Guenter Roeck
2016-08-19  7:38     ` Greg Kroah-Hartman
2016-08-18 21:36   ` Shuah Khan
2016-08-19  7:32     ` Greg Kroah-Hartman
     [not found]   ` <57b761d9.45c8c20a.762ba.ebc2@mx.google.com>
2016-08-20  9:45     ` Greg Kroah-Hartman

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=20160818135933.963003623@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mchehab@s-opensource.com \
    --cc=smoch@web.de \
    --cc=stable@vger.kernel.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 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.