public inbox for linux-kernel@vger.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, "Jörn Engel" <joern@logfs.org>,
	"Steven Rostedt (Red Hat)" <rostedt@goodmis.org>,
	"Steve Hodgson" <steve@purestorage.com>,
	"Dave Jones" <davej@redhat.com>
Subject: [PATCH 3.2 183/185] ftrace: Check module functions being traced on reload
Date: Sun, 29 Dec 2013 03:08:44 +0100	[thread overview]
Message-ID: <lsq.1388282924.365029570@decadent.org.uk> (raw)
In-Reply-To: <lsq.1388282923.751256928@decadent.org.uk>

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

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

From: "Steven Rostedt (Red Hat)" <rostedt@goodmis.org>

commit 8c4f3c3fa9681dc549cd35419b259496082fef8b upstream.

There's been a nasty bug that would show up and not give much info.
The bug displayed the following warning:

 WARNING: at kernel/trace/ftrace.c:1529 __ftrace_hash_rec_update+0x1e3/0x230()
 Pid: 20903, comm: bash Tainted: G           O 3.6.11+ #38405.trunk
 Call Trace:
  [<ffffffff8103e5ff>] warn_slowpath_common+0x7f/0xc0
  [<ffffffff8103e65a>] warn_slowpath_null+0x1a/0x20
  [<ffffffff810c2ee3>] __ftrace_hash_rec_update+0x1e3/0x230
  [<ffffffff810c4f28>] ftrace_hash_move+0x28/0x1d0
  [<ffffffff811401cc>] ? kfree+0x2c/0x110
  [<ffffffff810c68ee>] ftrace_regex_release+0x8e/0x150
  [<ffffffff81149f1e>] __fput+0xae/0x220
  [<ffffffff8114a09e>] ____fput+0xe/0x10
  [<ffffffff8105fa22>] task_work_run+0x72/0x90
  [<ffffffff810028ec>] do_notify_resume+0x6c/0xc0
  [<ffffffff8126596e>] ? trace_hardirqs_on_thunk+0x3a/0x3c
  [<ffffffff815c0f88>] int_signal+0x12/0x17
 ---[ end trace 793179526ee09b2c ]---

It was finally narrowed down to unloading a module that was being traced.

It was actually more than that. When functions are being traced, there's
a table of all functions that have a ref count of the number of active
tracers attached to that function. When a function trace callback is
registered to a function, the function's record ref count is incremented.
When it is unregistered, the function's record ref count is decremented.
If an inconsistency is detected (ref count goes below zero) the above
warning is shown and the function tracing is permanently disabled until
reboot.

The ftrace callback ops holds a hash of functions that it filters on
(and/or filters off). If the hash is empty, the default means to filter
all functions (for the filter_hash) or to disable no functions (for the
notrace_hash).

When a module is unloaded, it frees the function records that represent
the module functions. These records exist on their own pages, that is
function records for one module will not exist on the same page as
function records for other modules or even the core kernel.

Now when a module unloads, the records that represents its functions are
freed. When the module is loaded again, the records are recreated with
a default ref count of zero (unless there's a callback that traces all
functions, then they will also be traced, and the ref count will be
incremented).

The problem is that if an ftrace callback hash includes functions of the
module being unloaded, those hash entries will not be removed. If the
module is reloaded in the same location, the hash entries still point
to the functions of the module but the module's ref counts do not reflect
that.

With the help of Steve and Joern, we found a reproducer:

 Using uinput module and uinput_release function.

 cd /sys/kernel/debug/tracing
 modprobe uinput
 echo uinput_release > set_ftrace_filter
 echo function > current_tracer
 rmmod uinput
 modprobe uinput
 # check /proc/modules to see if loaded in same addr, otherwise try again
 echo nop > current_tracer

 [BOOM]

The above loads the uinput module, which creates a table of functions that
can be traced within the module.

We add uinput_release to the filter_hash to trace just that function.

Enable function tracincg, which increments the ref count of the record
associated to uinput_release.

Remove uinput, which frees the records including the one that represents
uinput_release.

Load the uinput module again (and make sure it's at the same address).
This recreates the function records all with a ref count of zero,
including uinput_release.

Disable function tracing, which will decrement the ref count for uinput_release
which is now zero because of the module removal and reload, and we have
a mismatch (below zero ref count).

The solution is to check all currently tracing ftrace callbacks to see if any
are tracing any of the module's functions when a module is loaded (it already does
that with callbacks that trace all functions). If a callback happens to have
a module function being traced, it increments that records ref count and starts
tracing that function.

There may be a strange side effect with this, where tracing module functions
on unload and then reloading a new module may have that new module's functions
being traced. This may be something that confuses the user, but it's not
a big deal. Another approach is to disable all callback hashes on module unload,
but this leaves some ftrace callbacks that may not be registered, but can
still have hashes tracing the module's function where ftrace doesn't know about
it. That situation can cause the same bug. This solution solves that case too.
Another benefit of this solution, is it is possible to trace a module's
function on unload and load.

Link: http://lkml.kernel.org/r/20130705142629.GA325@redhat.com

Reported-by: Jörn Engel <joern@logfs.org>
Reported-by: Dave Jones <davej@redhat.com>
Reported-by: Steve Hodgson <steve@purestorage.com>
Tested-by: Steve Hodgson <steve@purestorage.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
[bwh: Backported to 3.2: adjust context, indentation]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -1799,12 +1799,57 @@ static cycle_t		ftrace_update_time;
 static unsigned long	ftrace_update_cnt;
 unsigned long		ftrace_update_tot_cnt;
 
-static int ops_traces_mod(struct ftrace_ops *ops)
+static inline int ops_traces_mod(struct ftrace_ops *ops)
 {
-	struct ftrace_hash *hash;
+	/*
+	 * Filter_hash being empty will default to trace module.
+	 * But notrace hash requires a test of individual module functions.
+	 */
+	return ftrace_hash_empty(ops->filter_hash) &&
+		ftrace_hash_empty(ops->notrace_hash);
+}
+
+/*
+ * Check if the current ops references the record.
+ *
+ * If the ops traces all functions, then it was already accounted for.
+ * If the ops does not trace the current record function, skip it.
+ * If the ops ignores the function via notrace filter, skip it.
+ */
+static inline bool
+ops_references_rec(struct ftrace_ops *ops, struct dyn_ftrace *rec)
+{
+	/* If ops isn't enabled, ignore it */
+	if (!(ops->flags & FTRACE_OPS_FL_ENABLED))
+		return 0;
+
+	/* If ops traces all mods, we already accounted for it */
+	if (ops_traces_mod(ops))
+		return 0;
+
+	/* The function must be in the filter */
+	if (!ftrace_hash_empty(ops->filter_hash) &&
+	    !ftrace_lookup_ip(ops->filter_hash, rec->ip))
+		return 0;
+
+	/* If in notrace hash, we ignore it too */
+	if (ftrace_lookup_ip(ops->notrace_hash, rec->ip))
+		return 0;
+
+	return 1;
+}
+
+static int referenced_filters(struct dyn_ftrace *rec)
+{
+	struct ftrace_ops *ops;
+	int cnt = 0;
+
+	for (ops = ftrace_ops_list; ops != &ftrace_list_end; ops = ops->next) {
+		if (ops_references_rec(ops, rec))
+		    cnt++;
+	}
 
-	hash = ops->filter_hash;
-	return ftrace_hash_empty(hash);
+	return cnt;
 }
 
 static int ftrace_update_code(struct module *mod)
@@ -1812,6 +1857,7 @@ static int ftrace_update_code(struct mod
 	struct dyn_ftrace *p;
 	cycle_t start, stop;
 	unsigned long ref = 0;
+	bool test = false;
 
 	/*
 	 * When adding a module, we need to check if tracers are
@@ -1824,9 +1870,12 @@ static int ftrace_update_code(struct mod
 
 		for (ops = ftrace_ops_list;
 		     ops != &ftrace_list_end; ops = ops->next) {
-			if (ops->flags & FTRACE_OPS_FL_ENABLED &&
-			    ops_traces_mod(ops))
-				ref++;
+			if (ops->flags & FTRACE_OPS_FL_ENABLED) {
+				if (ops_traces_mod(ops))
+					ref++;
+				else
+					test = true;
+			}
 		}
 	}
 
@@ -1834,6 +1883,7 @@ static int ftrace_update_code(struct mod
 	ftrace_update_cnt = 0;
 
 	while (ftrace_new_addrs) {
+		int cnt = ref;
 
 		/* If something went wrong, bail without enabling anything */
 		if (unlikely(ftrace_disabled))
@@ -1841,7 +1891,9 @@ static int ftrace_update_code(struct mod
 
 		p = ftrace_new_addrs;
 		ftrace_new_addrs = p->newlist;
-		p->flags = ref;
+		if (test)
+			cnt += referenced_filters(p);
+		p->flags = cnt;
 
 		/*
 		 * Do the initial record conversion from mcount jump
@@ -1864,7 +1916,7 @@ static int ftrace_update_code(struct mod
 		 * conversion puts the module to the correct state, thus
 		 * passing the ftrace_make_call check.
 		 */
-		if (ftrace_start_up && ref) {
+		if (ftrace_start_up && cnt) {
 			int failed = __ftrace_replace_code(p, 1);
 			if (failed) {
 				ftrace_bug(failed, p->ip);


  parent reply	other threads:[~2013-12-29  2:51 UTC|newest]

Thread overview: 196+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-29  2:08 [PATCH 3.2 000/185] 3.2.54-rc1 review Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 003/185] USB: mos7840: fix tiocmget error handling Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 055/185] cris: media platform drivers: fix build Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 054/185] x86/microcode/amd: Tone down printk(), don't treat a missing firmware file as an error Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 043/185] IB/ipath: Convert ipath_user_sdma_pin_pages() to use get_user_pages_fast() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 010/185] libata: Fix display of sata speed Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 088/185] powerpc/signals: Improved mark VSX not saved with small contexts fix Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 004/185] usb: Disable USB 2.0 Link PM before device reset Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 070/185] setfacl removes part of ACL when setting POSIX ACLs to Samba Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 071/185] dm delay: fix a possible deadlock due to shared workqueue Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 018/185] powerpc/vio: use strcpy in modalias_show Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 009/185] USB:add new zte 3g-dongle's pid to option.c Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 052/185] prism54: set netdev type to "wlan" Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 027/185] audit: printk USER_AVC messages when audit isn't enabled Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 040/185] loop: fix crash if blk_alloc_queue fails Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 069/185] radeon: workaround pinning failure on low ram gpu Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 030/185] drm/ttm: Fix memory type compatibility check Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 081/185] powerpc/signals: Mark VSX not saved with small contexts Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 085/185] ahci: add support for IBM Akebono platform device Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 045/185] rtlwifi: rtl8192se: Fix wrong assignment Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 063/185] drm/nouveau: when bailing out of a pushbuf ioctl, do not remove previous fence Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 001/185] selinux: correct locking in selinux_netlbl_socket_connect) Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 066/185] hwmon: (lm90) Fix max6696 alarm handling Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 034/185] mtd: map: fixed bug in 64-bit systems Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 051/185] mtd: gpmi: fix kernel BUG due to racing DMA operations Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 087/185] ahci: add Marvell 9230 to the AHCI PCI device list Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 028/185] audit: fix info leak in AUDIT_GET requests Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 067/185] drm/i915: flush cursors harder Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 064/185] ALSA: pcsp: Fix the order of input device unregistration Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 016/185] usb: wusbcore: change WA_SEGS_MAX to a legal value Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 036/185] qeth: avoid buffer overflow in snmp ioctl Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 006/185] rt2400pci: fix RSSI read Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 075/185] avr32: setup crt for early panic() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 060/185] exec/ptrace: fix get_dumpable() incorrect tests Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 062/185] ipc, msg: fix message length check for negative values Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 020/185] can: c_can: Fix RX message handling, handle lost message before EOB Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 037/185] x86/apic: Disable I/O APIC before shutdown of the local APIC Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 078/185] NFSv4: Update list of irrecoverable errors on DELEGRETURN Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 026/185] crypto: s390 - Fix aes-cbc IV corruption Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 050/185] mwifiex: correct packet length for packets from SDIO interface Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 015/185] usb: wusbcore: set the RPIPE wMaxPacketSize value correctly Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 068/185] rtlwifi: rtl8192cu: Fix more pointer arithmetic errors Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 053/185] ALSA: msnd: Avoid duplicated driver name Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 047/185] rtlwifi: rtl8192se: Fix incorrect signal strength for unassociated AP Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 072/185] nfsd: split up nfsd_setattr Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 083/185] iscsi-target: chap auth shouldn't match username with trailing garbage Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 029/185] audit: use nlmsg_len() to get message payload length Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 059/185] backlight: atmel-pwm-bl: fix gpio polarity in remove Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 048/185] rtlwifi: rtl8192cu: Fix incorrect signal strength for unassociated AP Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 039/185] blk-core: Fix memory corruption if blkcg_init_queue fails Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 073/185] nfsd: make sure to balance get/put_write_access Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 080/185] powerpc/pseries: Duplicate dtl entries sometimes sent to userspace Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 008/185] alarmtimer: return EINVAL instead of ENOTSUPP if rtcdev doesn't exist Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 014/185] ARM: sa11x0/assabet: ensure CS2 is configured appropriately Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 017/185] powerpc/vio: Fix modalias_show return values Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 007/185] rt2x00: check if device is still available on rt2x00mac_flush() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 074/185] nfsd4: fix xdr decoding of large non-write compounds Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 002/185] NFSv4: Fix a use-after-free situation in _nfs4_proc_getlk() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 065/185] ARM: integrator_cp: Set LCD{0,1} enable lines when turning on CLCD Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 033/185] mtd: nand: hack ONFI for non-power-of-2 dimensions Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 038/185] block: fix race between request completion and timeout handling Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 082/185] iscsi-target: fix extract_param to handle buffer length corner case Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 077/185] NFSv4 wait on recovery for async session errors Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 012/185] drivers/libata: Set max sector to 65535 for Slimtype DVD A DS8A9SH drive Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 005/185] usb: hub: Clear Port Reset Change during init/resume Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 022/185] ext4: avoid bh leak in retry path of ext4_expand_extra_isize_ea() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 076/185] avr32: fix out-of-range jump in large kernels Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 046/185] rtlwifi: Fix endian error in extracting packet type Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 056/185] mm: ensure get_unmapped_area() returns higher address than mmap_min_addr Ben Hutchings
2014-01-03  4:26   ` Ben Hutchings
2014-01-06 10:19     ` Akira Takeuchi
2014-01-06 12:32       ` Luis Henriques
2014-01-07  2:25         ` Akira Takeuchi
2014-01-07 10:50           ` Luis Henriques
2014-02-09 18:19       ` Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 058/185] backlight: atmel-pwm-bl: fix reported brightness Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 041/185] block: fix a probe argument to blk_register_region Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 057/185] vsprintf: check real user/group id for %pK Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 013/185] ALSA: 6fire: Fix probe of multiple cards Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 025/185] KVM: IOMMU: hva align mapping page size Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 031/185] PM / hibernate: Avoid overflow in hibernate_preallocate_memory() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 042/185] SUNRPC: Fix a data corruption issue when retransmitting RPC calls Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 024/185] ahci: Add Device IDs for Intel Wildcat Point-LP Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 090/185] mac80211: don't attempt to reorder multicast frames Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 084/185] configfs: fix race between dentry put and lookup Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 035/185] mtd: m25p80: fix allocation size Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 061/185] devpts: plug the memory leak in kill_sb Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 019/185] dm: allocate buffer for messages with small number of arguments using GFP_NOIO Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 044/185] IB/qib: Convert qib_user_sdma_pin_pages() to use get_user_pages_fast() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 021/185] dm mpath: fix race condition between multipath_dtr and pg_init_done Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 079/185] PCI: Remove duplicate pci_disable_device() from pcie_portdrv_remove() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 011/185] ahci: disabled FBS prior to issuing software reset Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 023/185] ASoC: ak4642: prevent un-necessary changes to SG_SL1 Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 086/185] PCI: Define macro for Marvell vendor ID Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 089/185] ASoC: wm8990: Mark the register map as dirty when powering down Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 049/185] rtlwifi: rtl8192de: Fix incorrect signal strength for unassociated AP Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 032/185] ALSA: hda - Add support for CX20952 Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 118/185] USB: mos7840: correct handling of CS5 setting Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 153/185] 6lowpan: Uncompression of traffic class field was incorrect Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 113/185] [SCSI] hpsa: return 0 from driver probe function on success, not 1 Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 178/185] aacraid: prevent invalid pointer dereference Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 119/185] USB: ftdi_sio: fixed handling of unsupported CSIZE setting Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 129/185] x86, build: Pass in additional -mno-mmx, -mno-sse options Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 154/185] bonding: fix two race conditions in bond_store_updelay/downdelay Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 148/185] um: add missing declaration of 'getrlimit()' and friends Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 152/185] bonding: don't permit to use ARP monitoring in 802.3ad mode Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 126/185] crypto: scatterwalk - Use sg_chain_ptr on chain entries Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 159/185] net: rework recvmsg handler msg_name and msg_namelen logic Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 170/185] ipv6: fix possible seqlock deadlock in ip6_finish_output2 Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 149/185] net: Fix "ip rule delete table 256" Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 160/185] net: add BUG_ON if kernel advertises msg_namelen > sizeof(struct sockaddr_storage) Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 145/185] selinux: handle TCP SYN-ACK packets correctly in selinux_ip_postroute() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 104/185] crypto: authenc - Find proper IV address in ablkcipher callback Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 177/185] libertas: potential oops in debugfs Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 108/185] [media] saa7164: fix return value check in saa7164_initdev() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 150/185] ipv6: use rt6_get_dflt_router to get default router in rt6_route_rcv Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 093/185] usb: dwc3: fix implementation of endpoint wedge Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 128/185] ARM: 7913/1: fix framepointer check in unwind_frame Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 124/185] usb: hub: Use correct reset for wedged USB3 devices that are NOTATTACHED Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 101/185] [SCSI] libsas: fix usage of ata_tf_to_fis Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 138/185] hwmon: (w83l786ng) Fix fan speed control mode setting and reporting Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 106/185] crypto: s390 - Fix aes-xts parameter corruption Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 174/185] KVM: perform an invalid memslot step for gpa base change Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 095/185] Staging: zram: Fix memory leak by refcount mismatch Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 115/185] USB: serial: option: blacklist interface 1 for Huawei E173s-6 Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 102/185] Staging: tidspbridge: disable driver Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 103/185] cpuset: Fix memory allocator deadlock Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 143/185] KVM: x86: Fix potential divide by 0 in lapic (CVE-2013-6367) Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 094/185] Staging: zram: Fix access of NULL pointer Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 107/185] crypto: ccm - Fix handling of zero plaintext when computing mac Ben Hutchings
2013-12-29  2:08 ` Ben Hutchings [this message]
2013-12-29  2:08 ` [PATCH 3.2 125/185] drivers/char/i8k.c: add Dell XPLS L421X Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 112/185] [SCSI] hpsa: do not discard scsi status on aborted commands Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 105/185] crypto: scatterwalk - Set the chain pointer indication bit Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 180/185] net: flow_dissector: fail on evil iph->ihl Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 156/185] connector: improved unaligned access error fix Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 109/185] net: smc91: fix crash regression on the versatile Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 179/185] xfs: underflow bug in xfs_attrlist_by_handle() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 164/185] atm: idt77252: fix dev refcnt leak Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 172/185] HID: multitouch: validate indexes details Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 165/185] net: core: Always propagate flag changes to interfaces Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 151/185] random32: fix off-by-one in seeding requirement Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 117/185] USB: spcp8x5: correct handling of CS5 setting Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 131/185] dm snapshot: avoid snapshot space leak on crash Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 116/185] USB: option: support new huawei devices Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 098/185] ALSA: hda/realtek - Add support of ALC231 codec Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 144/185] selinux: handle TCP SYN-ACK packets correctly in selinux_ip_output() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 171/185] {pktgen, xfrm} Update IPv4 header total len and checksum after tranformation Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 169/185] inet: fix possible seqlock deadlocks Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 139/185] hwmon: (w83l768ng) Fix fan speed control range Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 142/185] KVM: Improve create VCPU parameter (CVE-2013-4587) Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 166/185] bridge: flush br's address entry in fdb when remove the bridge dev Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 110/185] net: update consumers of MSG_MORE to recognize MSG_SENDPAGE_NOTLAST Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 182/185] ftrace: Create ftrace_hash_empty() helper routine Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 176/185] ARM: 7527/1: uaccess: explicitly check __user pointer when !CPU_USE_DOMAINS Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 121/185] powerpc/gpio: Fix the wrong GPIO input data on MPC8572/MPC8536 Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 099/185] ALSA: hda/realtek - Set pcbeep amp for ALC668 Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 100/185] tracing: Allow events to have NULL strings Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 157/185] ipv4: fix possible seqlock deadlock Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 091/185] USB: serial: fix race in generic write Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 141/185] futex: fix handling of read-only-mapped hugepages Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 127/185] ARM: 7912/1: check stack pointer in get_wchan Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 123/185] USB: cdc-acm: Added support for the Lenovo RD02-D400 USB Modem Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 162/185] net: clamp ->msg_namelen instead of returning an error Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 173/185] crypto: ansi_cprng - Fix off by one error in non-block size request Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 167/185] packet: fix use after free race in send path when dev is released Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 163/185] ipv6: fix leaking uninitialized port number of offender sockaddr Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 122/185] ASoC: wm8731: fix dsp mode configuration Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 155/185] isdnloop: use strlcpy() instead of strcpy() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 185/185] mmc: block: fix a bug of error handling in MMC driver Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 130/185] ALSA: memalloc.h - fix wrong truncation of dma_addr_t Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 140/185] hwmon: Prevent some divide by zeros in FAN_TO_REG() Ben Hutchings
2013-12-30  9:15   ` vt8231
2013-12-29  2:08 ` [PATCH 3.2 096/185] can: sja1000: fix {pre,post}_irq() handling and IRQ handler return value Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 092/185] usb: gadget: composite: reset delayed_status on reset_config Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 146/185] drivers/rtc/rtc-at91rm9200.c: correct alarm over day/month wrap Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 111/185] ARM: footbridge: fix VGA initialisation Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 133/185] x86, build, icc: Remove uninitialized_var() from compiler-intel.h Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 132/185] dm table: fail dm_table_create on dm_round_up overflow Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 147/185] sched: Avoid throttle_cfs_rq() racing with period_timer stopping Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 181/185] ftrace: Fix ftrace hash record update with notrace Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 114/185] [SCSI] enclosure: fix WARN_ON in dual path device removing Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 137/185] ARM: pxa: prevent PXA270 occasional reboot freezes Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 184/185] ftrace: Fix function graph with loading of modules Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 168/185] af_packet: block BH in prb_shutdown_retire_blk_timer() Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 097/185] irq: Enable all irqs unconditionally in irq_resume Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 175/185] KVM: Fix iommu map/unmap to handle memory slot moves Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 120/185] USB: pl2303: fixed handling of CS5 setting Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 136/185] ARM: pxa: tosa: fix keys mapping Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 161/185] inet: fix addr_len/msg->msg_namelen assignment in recv_error and rxpmtu functions Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 135/185] dm bufio: initialize read-only module parameters Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 158/185] inet: prevent leakage of uninitialized memory to user in recv syscalls Ben Hutchings
2013-12-29  2:08 ` [PATCH 3.2 134/185] x86, efi: Don't use (U)EFI time services on 32 bit Ben Hutchings
2013-12-29  2:19 ` [PATCH 3.2 000/185] 3.2.54-rc1 review Ben Hutchings
2013-12-29 13:54 ` Guenter Roeck
2013-12-29 14:50   ` 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.1388282924.365029570@decadent.org.uk \
    --to=ben@decadent.org.uk \
    --cc=akpm@linux-foundation.org \
    --cc=davej@redhat.com \
    --cc=joern@logfs.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=stable@vger.kernel.org \
    --cc=steve@purestorage.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox