All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Hutchings <ben@decadent.org.uk>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: akpm@linux-foundation.org, "Johannes Weiner" <hannes@cmpxchg.org>,
	"Tejun Heo" <tj@kernel.org>, "Jan Kara" <jack@suse.cz>,
	"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	"Linus Torvalds" <torvalds@linux-foundation.org>
Subject: [PATCH 3.2 096/152] mm: protect set_page_dirty() from ongoing truncation
Date: Tue, 17 Feb 2015 01:46:53 +0000	[thread overview]
Message-ID: <lsq.1424137613.927987603@decadent.org.uk> (raw)
In-Reply-To: <lsq.1424137613.308090640@decadent.org.uk>

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

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

From: Johannes Weiner <hannes@cmpxchg.org>

commit 2d6d7f98284648c5ed113fe22a132148950b140f upstream.

Tejun, while reviewing the code, spotted the following race condition
between the dirtying and truncation of a page:

__set_page_dirty_nobuffers()       __delete_from_page_cache()
  if (TestSetPageDirty(page))
                                     page->mapping = NULL
				     if (PageDirty())
				       dec_zone_page_state(page, NR_FILE_DIRTY);
				       dec_bdi_stat(mapping->backing_dev_info, BDI_RECLAIMABLE);
    if (page->mapping)
      account_page_dirtied(page)
        __inc_zone_page_state(page, NR_FILE_DIRTY);
	__inc_bdi_stat(mapping->backing_dev_info, BDI_RECLAIMABLE);

which results in an imbalance of NR_FILE_DIRTY and BDI_RECLAIMABLE.

Dirtiers usually lock out truncation, either by holding the page lock
directly, or in case of zap_pte_range(), by pinning the mapcount with
the page table lock held.  The notable exception to this rule, though,
is do_wp_page(), for which this race exists.  However, do_wp_page()
already waits for a locked page to unlock before setting the dirty bit,
in order to prevent a race where clear_page_dirty() misses the page bit
in the presence of dirty ptes.  Upgrade that wait to a fully locked
set_page_dirty() to also cover the situation explained above.

Afterwards, the code in set_page_dirty() dealing with a truncation race
is no longer needed.  Remove it.

Reported-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[bwh: Backported to 3.2:
 - Adjust context
 - Use VM_BUG_ON() rather than VM_BUG_ON_PAGE()]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 include/linux/writeback.h |  1 -
 mm/memory.c               | 27 +++++++++++++++++----------
 mm/page-writeback.c       | 43 ++++++++++++-------------------------------
 3 files changed, 29 insertions(+), 42 deletions(-)

--- a/include/linux/writeback.h
+++ b/include/linux/writeback.h
@@ -190,7 +190,6 @@ int write_cache_pages(struct address_spa
 		      struct writeback_control *wbc, writepage_t writepage,
 		      void *data);
 int do_writepages(struct address_space *mapping, struct writeback_control *wbc);
-void set_page_dirty_balance(struct page *page);
 void writeback_set_ratelimit(void);
 void tag_pages_for_writeback(struct address_space *mapping,
 			     pgoff_t start, pgoff_t end);
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -2661,17 +2661,24 @@ reuse:
 		if (!dirty_page)
 			return ret;
 
-		/*
-		 * Yes, Virginia, this is actually required to prevent a race
-		 * with clear_page_dirty_for_io() from clearing the page dirty
-		 * bit after it clear all dirty ptes, but before a racing
-		 * do_wp_page installs a dirty pte.
-		 *
-		 * __do_fault is protected similarly.
-		 */
 		if (!page_mkwrite) {
-			wait_on_page_locked(dirty_page);
-			set_page_dirty_balance(dirty_page);
+			struct address_space *mapping;
+			int dirtied;
+
+			lock_page(dirty_page);
+			dirtied = set_page_dirty(dirty_page);
+			VM_BUG_ON(PageAnon(dirty_page));
+			mapping = dirty_page->mapping;
+			unlock_page(dirty_page);
+
+			if (dirtied && mapping) {
+				/*
+				 * Some device drivers do not set page.mapping
+				 * but still dirty their pages
+				 */
+				balance_dirty_pages_ratelimited(mapping);
+			}
+
 		}
 		put_page(dirty_page);
 		if (page_mkwrite) {
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -1202,16 +1202,6 @@ pause:
 		bdi_start_background_writeback(bdi);
 }
 
-void set_page_dirty_balance(struct page *page)
-{
-	if (set_page_dirty(page)) {
-		struct address_space *mapping = page_mapping(page);
-
-		if (mapping)
-			balance_dirty_pages_ratelimited(mapping);
-	}
-}
-
 static DEFINE_PER_CPU(int, bdp_ratelimits);
 
 /**
@@ -1764,32 +1754,25 @@ EXPORT_SYMBOL(account_page_writeback);
  * page dirty in that case, but not all the buffers.  This is a "bottom-up"
  * dirtying, whereas __set_page_dirty_buffers() is a "top-down" dirtying.
  *
- * Most callers have locked the page, which pins the address_space in memory.
- * But zap_pte_range() does not lock the page, however in that case the
- * mapping is pinned by the vma's ->vm_file reference.
- *
- * We take care to handle the case where the page was truncated from the
- * mapping by re-checking page_mapping() inside tree_lock.
+ * The caller must ensure this doesn't race with truncation.  Most will simply
+ * hold the page lock, but e.g. zap_pte_range() calls with the page mapped and
+ * the pte lock held, which also locks out truncation.
  */
 int __set_page_dirty_nobuffers(struct page *page)
 {
 	if (!TestSetPageDirty(page)) {
 		struct address_space *mapping = page_mapping(page);
-		struct address_space *mapping2;
 		unsigned long flags;
 
 		if (!mapping)
 			return 1;
 
 		spin_lock_irqsave(&mapping->tree_lock, flags);
-		mapping2 = page_mapping(page);
-		if (mapping2) { /* Race with truncate? */
-			BUG_ON(mapping2 != mapping);
-			WARN_ON_ONCE(!PagePrivate(page) && !PageUptodate(page));
-			account_page_dirtied(page, mapping);
-			radix_tree_tag_set(&mapping->page_tree,
-				page_index(page), PAGECACHE_TAG_DIRTY);
-		}
+		BUG_ON(page_mapping(page) != mapping);
+		WARN_ON_ONCE(!PagePrivate(page) && !PageUptodate(page));
+		account_page_dirtied(page, mapping);
+		radix_tree_tag_set(&mapping->page_tree, page_index(page),
+				   PAGECACHE_TAG_DIRTY);
 		spin_unlock_irqrestore(&mapping->tree_lock, flags);
 		if (mapping->host) {
 			/* !PageAnon && !swapper_space */
@@ -1946,12 +1929,10 @@ int clear_page_dirty_for_io(struct page
 		/*
 		 * We carefully synchronise fault handlers against
 		 * installing a dirty pte and marking the page dirty
-		 * at this point. We do this by having them hold the
-		 * page lock at some point after installing their
-		 * pte, but before marking the page dirty.
-		 * Pages are always locked coming in here, so we get
-		 * the desired exclusion. See mm/memory.c:do_wp_page()
-		 * for more comments.
+		 * at this point.  We do this by having them hold the
+		 * page lock while dirtying the page, and pages are
+		 * always locked coming in here, so we get the desired
+		 * exclusion.
 		 */
 		if (TestClearPageDirty(page)) {
 			dec_zone_page_state(page, NR_FILE_DIRTY);


  parent reply	other threads:[~2015-02-17  2:08 UTC|newest]

Thread overview: 171+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-17  1:46 [PATCH 3.2 000/152] 3.2.67-rc1 review Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 010/152] ipv6: mld: fix add_grhead skb_over_panic for devs with large MTUs Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 141/152] fsnotify: next_i is freed during fsnotify_unmount_inodes Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 092/152] regulator: core: fix race condition in regulator_put() Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 054/152] ncpfs: return proper error from NCP_IOC_SETROOT ioctl Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 081/152] spi: dw-mid: fix FIFO size Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 018/152] genhd: check for int overflow in disk_expand_part_tbl() Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 079/152] ALSA: hda - Fix wrong gpio_dir & gpio_mask hint setups for IDT/STAC codecs Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 121/152] scripts/recordmcount.pl: There is no -m32 gcc option on Super-H anymore Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 113/152] gpio: sysfs: fix gpio-chip device-attribute leak Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 060/152] isofs: Fix infinite looping over CE entries Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 088/152] sata_dwc_460ex: fix resource leak on error path Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 084/152] virtio_pci: document why we defer kfree Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 145/152] tg3: tg3_disable_ints using uninitialized mailbox value to disable interrupts Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 040/152] eCryptfs: Remove buggy and unnecessary write in file name decode routine Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 001/152] eCryptfs: Force RO mount when encrypted view is enabled Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 039/152] Bluetooth: Add USB device 04ca:3010 as Atheros AR3012 Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 021/152] mfd: tc6393xb: Fail ohci suspend if full state restore is required Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 099/152] usb: gadget: udc: atmel: change setting for DMA Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 051/152] KEYS: Fix stale key registration at error path Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 071/152] x86_64, vdso: Fix the vdso address randomization algorithm Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 135/152] vm: make stack guard page errors return VM_FAULT_SIGSEGV rather than SIGBUS Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 107/152] crypto: add missing crypto module aliases Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 080/152] spi: dw: Fix detecting FIFO depth Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 013/152] driver core: Fix unbalanced device reference in drivers_probe Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 125/152] Input: i8042 - add noloop quirk for Medion Akoya E7225 (MD98857) Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 134/152] vm: add VM_FAULT_SIGSEGV handling support Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 090/152] time: adjtimex: Validate the ADJ_FREQUENCY values Ben Hutchings
2015-02-17 14:16   ` Luis Henriques
2015-02-17 14:16     ` Luis Henriques
2015-02-18 12:55     ` Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 083/152] virtio_pci: defer kfree until release callback Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 009/152] ipv6: Remove all uses of LL_ALLOCATED_SPACE Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 017/152] bus: omap_l3_noc: Correct returning IRQ_HANDLED unconditionally in the irq handler Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 067/152] udf: Verify i_size when loading inode Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 045/152] ath9k: fix BE/BK queue order Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 128/152] usb-storage/SCSI: blacklist FUA on JMicron 152d:2566 USB-SATA controller Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 006/152] writeback: fix a subtle race condition in I_DIRTY clearing Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 089/152] time: settimeofday: Validate the values of tv from user Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 120/152] libata: allow sata_sil24 to opt-out of tag ordered submission Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 077/152] USB: cp210x: fix ID for production CEL MeshConnect USB Stick Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 129/152] usb-core bInterval quirk Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 012/152] UBI: Fix invalid vfree() Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 122/152] libata: prevent HSM state change race between ISR and PIO Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 138/152] ACPI / EC: Fix regression due to conflicting firmware behavior between Samsung and Acer Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 151/152] KVM: x86 emulator: reject SYSENTER in compatibility mode on AMD guests Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 024/152] Bluetooth: ath3k: Add support for a new AR3012 device Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 022/152] serial: samsung: wait for transfer completion before clock disable Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 061/152] iscsi-target: Fail connection on short sendmsg writes Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 117/152] gpio: sysfs: fix gpio attribute-creation race Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 094/152] mm: prevent endless growth of anon_vma hierarchy Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 007/152] usb: renesas_usbhs: gadget: fix NULL pointer dereference in ep_disable() Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 016/152] scsi: correct return values for .eh_abort_handler implementations Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 033/152] Bluetooth: Ignore isochronous endpoints for Intel USB bootloader Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 055/152] x86_64, switch_to(): Load TLS descriptors before switching DS and ES Ben Hutchings
2015-02-24 15:47   ` Denys Vlasenko
2015-02-24 20:02     ` Andy Lutomirski
2015-02-24 20:08       ` Denys Vlasenko
2015-02-25  3:23         ` Brian Gerst
2015-02-26 15:32           ` Andy Lutomirski
2015-02-26 16:28             ` Brian Gerst
2015-02-26 19:17               ` Andy Lutomirski
2015-02-17  1:46 ` [PATCH 3.2 065/152] ocfs2: fix journal commit deadlock Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 114/152] gpiolib: Refactor gpio_export Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 034/152] Bluetooth: Add support for Acer [13D3:3432] Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 050/152] ALSA: usb-audio: Don't resubmit pending URBs at MIDI error recovery Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 130/152] USB: Add OTG PET device to TPL Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 147/152] net/core: Handle csum for CHECKSUM_COMPLETE VXLAN forwarding Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 118/152] net: sctp: fix race for one-to-many sockets in sendmsg's auto associate Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 059/152] x86/tls: Disallow unusual TLS segments Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 046/152] ath5k: fix hardware queue index assignment Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 082/152] virtio: use dev_to_virtio wrapper in virtio Ben Hutchings
2015-02-17  5:26   ` Rusty Russell
2015-02-18  0:55     ` Ben Hutchings
2015-02-18  4:44       ` Rusty Russell
2015-02-17  1:46 ` [PATCH 3.2 146/152] enic: fix rx skb checksum Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 035/152] Bluetooth: Add support for Broadcom device of Asus Z97-DELUXE motherboard Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 064/152] ALSA: usb-audio: extend KEF X300A FU 10 tweak to Arcam rPAC Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 140/152] x86, cpu, amd: Add workaround for family 16h, erratum 793 Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 102/152] USB: console: fix potential use after free Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 144/152] dcache: Fix locking bugs in backported "deal with deadlock in d_walk()" Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 149/152] splice: Apply generic position and size checks to each write Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 132/152] ALSA: seq-dummy: remove deadlock-causing events on close Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 143/152] netfilter: ipset: small potential read beyond the end of buffer Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 131/152] drm/i915: Only fence tiled region of object Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 004/152] [media] af9005: fix kernel panic on init if compiled without IR Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 148/152] vfs: Fix vfsmount_lock imbalance in path_init() Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 105/152] crypto: prefix module autoloading with "crypto-" Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 042/152] ALSA: hda - using uninitialized data Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 030/152] Bluetooth: sort the list of IDs in the source code Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 075/152] video/logo: prevent use of logos after they have been freed Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 097/152] HID: roccat: potential out of bounds in pyra_sysfs_write_settings() Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 062/152] ceph: introduce global empty snap context Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 110/152] can: dev: fix crtlmode_supported check Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 126/152] x86, tls: Interpret an all-zero struct user_desc as "no segment" Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 011/152] KVM: s390: flush CPU on load control Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 073/152] crypto: af_alg - fix backlog handling Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 074/152] net: Fix stacked vlan offload features computation Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 115/152] Fix circular locking dependency (3.3-rc2) Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 020/152] [media] uvcvideo: Fix destruction order in uvc_delete() Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 108/152] gpio: fix memory and reference leaks in gpiochip_add error path Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 057/152] genirq: Prevent proc race against freeing of irq descriptors Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 023/152] Bluetooth: btusb: Add support for Belkin F8065bf Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 049/152] hp_accel: Add support for HP ZBook 15 Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 111/152] sysfs.h: add ATTRIBUTE_GROUPS() macro Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 066/152] isofs: Fix unchecked printing of ER records Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 052/152] fib_trie: Fix /proc/net/fib_trie when CONFIG_IP_MULTIPLE_TABLES is not defined Ben Hutchings
2015-02-17  1:46 ` Ben Hutchings [this message]
2015-02-17  1:46 ` [PATCH 3.2 091/152] Input: i8042 - reset keyboard to fix Elantech touchpad detection Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 025/152] Bluetooth: ath3k: Add support for another AR3012 card Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 072/152] udf: Check component length before reading it Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 031/152] Bluetooth: append new supported device to the list [0b05:17d0] Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 139/152] s390/3215: fix tty output containing tabs Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 070/152] udf: Check path length when reading symlink Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 003/152] [media] sound: Update au0828 quirks table Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 076/152] video/fbdev: fix defio's fsync Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 002/152] [media] sound: simplify au0828 quirk table Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 133/152] net: sctp: fix slab corruption from use after free on INIT collisions Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 078/152] Revert "tcp: Apply device TSO segment limit earlier" Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 123/152] x86, hyperv: Mark the Hyper-V clocksource as being continuous Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 037/152] Bluetooth: Add support for Acer [0489:e078] Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 085/152] USB: cp210x: add IDs for CEL USB sticks and MeshWorks devices Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 043/152] dm space map metadata: fix sm_bootstrap_get_nr_blocks() Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 027/152] Bluetooth: Enable Atheros 0cf3:311e for firmware upload Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 095/152] mm: remove unused arg of set_page_dirty_balance() Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 005/152] writeback: Move I_DIRTY_PAGES handling Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 038/152] Bluetooth: ath3k: Add support of MCI 13d3:3408 bt device Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 137/152] Revert "x86, 64bit, mm: Mark data/bss/brk to nx" Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 041/152] USB: adutux: NULL dereferences on disconnect Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 048/152] drm/vmwgfx: Don't use memory accounting for kernel-side fence objects Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 136/152] Revert "x86, mm: Set NX across entire PMD at boot" Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 014/152] drbd: merge_bvec_fn: properly remap bvm->bi_bdev Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 056/152] mac80211: fix multicast LED blinking and counter Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 101/152] usb: gadget: udc: atmel: fix possible oops when unloading module Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 036/152] Add a new PID/VID 0227/0930 for AR3012 Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 119/152] ALSA: usb-audio: Add mic volume fix quirk for Logitech Webcam C210 Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 127/152] nl80211: fix per-station group key get/del and memory leak Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 008/152] ipv4: Remove all uses of LL_ALLOCATED_SPACE Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 100/152] usb: gadget: udc: atmel: fix possible IN hang issue Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 087/152] mm: propagate error from stack expansion even for guard page Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 044/152] ath9k_hw: fix hardware queue allocation Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 109/152] ftrace/jprobes/x86: Fix conflict between jprobes and function graph tracing Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 063/152] x86/tls: Don't validate lm in set_thread_area() after all Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 152/152] KVM: x86: SYSENTER emulation is broken Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 047/152] iommu/vt-d: Fix an off-by-one bug in __domain_mapping() Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 058/152] decompress_bunzip2: off by one in get_next_block() Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 019/152] USB: cdc-acm: check for valid interfaces Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 086/152] ASoC: wm8960: Fix capture sample rate from 11250 to 11025 Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 028/152] Bluetooth: Add firmware update for Atheros 0cf3:311f Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 142/152] KEYS: close race between key lookup and freeing Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 093/152] Input: I8042 - add Acer Aspire 7738 to the nomux list Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 015/152] PCI: Restore detection of read-only BARs Ben Hutchings
2015-02-17 17:01   ` Bjorn Helgaas
2015-02-18 13:09     ` Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 069/152] udf: Treat symlink component of type 2 as / Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 116/152] gpio: sysfs: fix gpio device-attribute leak Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 106/152] crypto: include crypto- module prefix in template Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 112/152] driver core: Introduce device_create_groups Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 068/152] udf: Verify symlink size before loading it Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 029/152] Bluetooth: btusb: Add IMC Networks (Broadcom based) Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 150/152] netfilter: conntrack: disable generic tracking for known protocols Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 103/152] mm: Don't count the stack guard page towards RLIMIT_STACK Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 026/152] Bluetooth: Add support for Toshiba Bluetooth device [0930:0220] Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 098/152] OHCI: add a quirk for ULi M5237 blocking on reset Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 032/152] Bluetooth: Add support for Intel bootloader devices Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 104/152] mm: fix corner case in anon_vma endless growing prevention Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 053/152] Btrfs: fix fs corruption on transaction abort if device supports discard Ben Hutchings
2015-02-17  1:46 ` [PATCH 3.2 124/152] x86, tls, ldt: Stop checking lm in LDT_empty Ben Hutchings
2015-02-17  3:24 ` [PATCH 3.2 000/152] 3.2.67-rc1 review Ben Hutchings
2015-02-17  3:32 ` Guenter Roeck
2015-02-17 13:55   ` Ben Hutchings

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=lsq.1424137613.927987603@decadent.org.uk \
    --to=ben@decadent.org.uk \
    --cc=akpm@linux-foundation.org \
    --cc=hannes@cmpxchg.org \
    --cc=jack@suse.cz \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=tj@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 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.