stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	alan@lxorguk.ukuu.org.uk,
	Christoph Paasch <christoph.paasch@uclouvain.be>,
	"David S. Miller" <davem@davemloft.net>
Subject: [ 085/123] inet: Fix kmemleak in tcp_v4/6_syn_recv_sock and dccp_v4/6_request_recv_sock
Date: Wed,  9 Jan 2013 12:35:24 -0800	[thread overview]
Message-ID: <20130109201509.532373729@linuxfoundation.org> (raw)
In-Reply-To: <20130109201458.392601412@linuxfoundation.org>

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

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


From: Christoph Paasch <christoph.paasch@uclouvain.be>

[ Upstream commit e337e24d6624e74a558aa69071e112a65f7b5758 ]

If in either of the above functions inet_csk_route_child_sock() or
__inet_inherit_port() fails, the newsk will not be freed:

unreferenced object 0xffff88022e8a92c0 (size 1592):
  comm "softirq", pid 0, jiffies 4294946244 (age 726.160s)
  hex dump (first 32 bytes):
    0a 01 01 01 0a 01 01 02 00 00 00 00 a7 cc 16 00  ................
    02 00 03 01 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [<ffffffff8153d190>] kmemleak_alloc+0x21/0x3e
    [<ffffffff810ab3e7>] kmem_cache_alloc+0xb5/0xc5
    [<ffffffff8149b65b>] sk_prot_alloc.isra.53+0x2b/0xcd
    [<ffffffff8149b784>] sk_clone_lock+0x16/0x21e
    [<ffffffff814d711a>] inet_csk_clone_lock+0x10/0x7b
    [<ffffffff814ebbc3>] tcp_create_openreq_child+0x21/0x481
    [<ffffffff814e8fa5>] tcp_v4_syn_recv_sock+0x3a/0x23b
    [<ffffffff814ec5ba>] tcp_check_req+0x29f/0x416
    [<ffffffff814e8e10>] tcp_v4_do_rcv+0x161/0x2bc
    [<ffffffff814eb917>] tcp_v4_rcv+0x6c9/0x701
    [<ffffffff814cea9f>] ip_local_deliver_finish+0x70/0xc4
    [<ffffffff814cec20>] ip_local_deliver+0x4e/0x7f
    [<ffffffff814ce9f8>] ip_rcv_finish+0x1fc/0x233
    [<ffffffff814cee68>] ip_rcv+0x217/0x267
    [<ffffffff814a7bbe>] __netif_receive_skb+0x49e/0x553
    [<ffffffff814a7cc3>] netif_receive_skb+0x50/0x82

This happens, because sk_clone_lock initializes sk_refcnt to 2, and thus
a single sock_put() is not enough to free the memory. Additionally, things
like xfrm, memcg, cookie_values,... may have been initialized.
We have to free them properly.

This is fixed by forcing a call to tcp_done(), ending up in
inet_csk_destroy_sock, doing the final sock_put(). tcp_done() is necessary,
because it ends up doing all the cleanup on xfrm, memcg, cookie_values,
xfrm,...

Before calling tcp_done, we have to set the socket to SOCK_DEAD, to
force it entering inet_csk_destroy_sock. To avoid the warning in
inet_csk_destroy_sock, inet_num has to be set to 0.
As inet_csk_destroy_sock does a dec on orphan_count, we first have to
increase it.

Calling tcp_done() allows us to remove the calls to
tcp_clear_xmit_timer() and tcp_cleanup_congestion_control().

A similar approach is taken for dccp by calling dccp_done().

This is in the kernel since 093d282321 (tproxy: fix hash locking issue
when using port redirection in __inet_inherit_port()), thus since
version >= 2.6.37.

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 include/net/inet_connection_sock.h |    1 +
 net/dccp/ipv4.c                    |    4 ++--
 net/dccp/ipv6.c                    |    3 ++-
 net/ipv4/inet_connection_sock.c    |   16 ++++++++++++++++
 net/ipv4/tcp_ipv4.c                |    6 ++----
 net/ipv6/tcp_ipv6.c                |    3 ++-
 6 files changed, 25 insertions(+), 8 deletions(-)

--- a/include/net/inet_connection_sock.h
+++ b/include/net/inet_connection_sock.h
@@ -318,6 +318,7 @@ extern void inet_csk_reqsk_queue_prune(s
 				       const unsigned long max_rto);
 
 extern void inet_csk_destroy_sock(struct sock *sk);
+extern void inet_csk_prepare_forced_close(struct sock *sk);
 
 /*
  * LISTEN is a special case for poll..
--- a/net/dccp/ipv4.c
+++ b/net/dccp/ipv4.c
@@ -439,8 +439,8 @@ exit:
 	NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_LISTENDROPS);
 	return NULL;
 put_and_exit:
-	bh_unlock_sock(newsk);
-	sock_put(newsk);
+	inet_csk_prepare_forced_close(newsk);
+	dccp_done(newsk);
 	goto exit;
 }
 
--- a/net/dccp/ipv6.c
+++ b/net/dccp/ipv6.c
@@ -585,7 +585,8 @@ static struct sock *dccp_v6_request_recv
 	newinet->inet_rcv_saddr = LOOPBACK4_IPV6;
 
 	if (__inet_inherit_port(sk, newsk) < 0) {
-		sock_put(newsk);
+		inet_csk_prepare_forced_close(newsk);
+		dccp_done(newsk);
 		goto out;
 	}
 	__inet6_hash(newsk, NULL);
--- a/net/ipv4/inet_connection_sock.c
+++ b/net/ipv4/inet_connection_sock.c
@@ -699,6 +699,22 @@ void inet_csk_destroy_sock(struct sock *
 }
 EXPORT_SYMBOL(inet_csk_destroy_sock);
 
+/* This function allows to force a closure of a socket after the call to
+ * tcp/dccp_create_openreq_child().
+ */
+void inet_csk_prepare_forced_close(struct sock *sk)
+{
+	/* sk_clone_lock locked the socket and set refcnt to 2 */
+	bh_unlock_sock(sk);
+	sock_put(sk);
+
+	/* The below has to be done to allow calling inet_csk_destroy_sock */
+	sock_set_flag(sk, SOCK_DEAD);
+	percpu_counter_inc(sk->sk_prot->orphan_count);
+	inet_sk(sk)->inet_num = 0;
+}
+EXPORT_SYMBOL(inet_csk_prepare_forced_close);
+
 int inet_csk_listen_start(struct sock *sk, const int nr_table_entries)
 {
 	struct inet_sock *inet = inet_sk(sk);
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@ -1774,10 +1774,8 @@ exit:
 	NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_LISTENDROPS);
 	return NULL;
 put_and_exit:
-	tcp_clear_xmit_timers(newsk);
-	tcp_cleanup_congestion_control(newsk);
-	bh_unlock_sock(newsk);
-	sock_put(newsk);
+	inet_csk_prepare_forced_close(newsk);
+	tcp_done(newsk);
 	goto exit;
 }
 EXPORT_SYMBOL(tcp_v4_syn_recv_sock);
--- a/net/ipv6/tcp_ipv6.c
+++ b/net/ipv6/tcp_ipv6.c
@@ -1384,7 +1384,8 @@ static struct sock * tcp_v6_syn_recv_soc
 #endif
 
 	if (__inet_inherit_port(sk, newsk) < 0) {
-		sock_put(newsk);
+		inet_csk_prepare_forced_close(newsk);
+		tcp_done(newsk);
 		goto out;
 	}
 	__inet6_hash(newsk, NULL);



  parent reply	other threads:[~2013-01-09 20:35 UTC|newest]

Thread overview: 131+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-09 20:33 [ 000/123] 3.7.2-stable review Greg Kroah-Hartman
2013-01-09 20:34 ` [ 001/123] net: fix a race in gro_cell_poll() Greg Kroah-Hartman
2013-01-09 20:34 ` [ 002/123] firmware loader: Fix the race FW_STATUS_DONE is followed by class_timeout Greg Kroah-Hartman
2013-01-09 20:34 ` [ 003/123] firmware loader: Fix the concurrent request_firmware() race for kref_get/put Greg Kroah-Hartman
2013-01-09 20:34 ` [ 004/123] b43legacy: Fix firmware loading when driver is built into the kernel Greg Kroah-Hartman
2013-01-11  3:47   ` Ben Hutchings
2013-01-11 13:38     ` Greg Kroah-Hartman
2013-01-09 20:34 ` [ 005/123] b43: fix tx path skb leaks Greg Kroah-Hartman
2013-01-09 20:34 ` [ 006/123] pnpacpi: fix incorrect TEST_ALPHA() test Greg Kroah-Hartman
2013-01-09 20:34 ` [ 007/123] SGI-XP: handle non-fatal traps Greg Kroah-Hartman
2013-01-09 20:34 ` [ 008/123] exec: do not leave bprm->interp on stack Greg Kroah-Hartman
2013-01-09 20:34 ` [ 009/123] arm64: Make !dirty ptes read-only Greg Kroah-Hartman
2013-01-09 20:34 ` [ 010/123] arm64: signal: push the unwinding prologue on the signal stack Greg Kroah-Hartman
2013-01-09 20:34 ` [ 011/123] x86, 8042: Enable A20 using KBC to fix S3 resume on some MSI laptops Greg Kroah-Hartman
2013-01-09 20:34 ` [ 012/123] mm: highmem: export kmap_to_page for modules Greg Kroah-Hartman
2013-01-09 20:34 ` [ 013/123] virtio: 9p: correctly pass physical address to userspace for high pages Greg Kroah-Hartman
2013-01-09 20:34 ` [ 014/123] virtio: force vring descriptors to be allocated from lowmem Greg Kroah-Hartman
2013-01-09 20:34 ` [ 015/123] mm: fix calculation of dirtyable memory Greg Kroah-Hartman
2013-01-09 20:34 ` [ 016/123] mm: Fix PageHead when !CONFIG_PAGEFLAGS_EXTENDED Greg Kroah-Hartman
2013-01-09 20:34 ` [ 017/123] tmpfs mempolicy: fix /proc/mounts corrupting memory Greg Kroah-Hartman
2013-01-09 20:34 ` [ 018/123] ALSA: usb-audio: Avoid autopm calls after disconnection Greg Kroah-Hartman
2013-01-09 20:34 ` [ 019/123] ALSA: usb-audio: Fix missing autopm for MIDI input Greg Kroah-Hartman
2013-01-09 20:34 ` [ 020/123] ALSA: hda - Move runtime PM check to runtime_idle callback Greg Kroah-Hartman
2013-01-09 20:34 ` [ 021/123] ALSA: hda - Add stereo-dmic fixup for Acer Aspire One 522 Greg Kroah-Hartman
2013-01-09 20:34 ` [ 022/123] ALSA: hda - Always turn on pins for HDMI/DP Greg Kroah-Hartman
2013-01-09 20:34 ` [ 023/123] ALSA: hda - Fix the wrong pincaps set in ALC861VD dallas/hp fixup Greg Kroah-Hartman
2013-01-09 20:34 ` [ 024/123] ALSA: hda - Fix pin configuration of HP Pavilion dv7 Greg Kroah-Hartman
2013-01-09 20:34 ` [ 025/123] ALSA: hda - add mute LED for HP Pavilion 17 (Realtek codec) Greg Kroah-Hartman
2013-01-09 20:34 ` [ 026/123] qmi_wwan/cdc_ether: add Dell Wireless 5800 (Novatel E362) USB IDs Greg Kroah-Hartman
2013-01-09 20:34 ` [ 027/123] rtlwifi: fix incorrect use of usb_alloc_coherent with usb_control_msg Greg Kroah-Hartman
2013-01-09 20:34 ` [ 028/123] p54usb: add USB ID for T-Com Sinus 154 data II Greg Kroah-Hartman
2013-01-09 20:34 ` [ 029/123] p54usb: add USBIDs for two more p54usb devices Greg Kroah-Hartman
2013-01-09 20:34 ` [ 030/123] USB: chipidea: fix use after free bug Greg Kroah-Hartman
2013-01-09 20:34 ` [ 031/123] usb: gadget: midi: free hs descriptors Greg Kroah-Hartman
2013-01-09 20:34 ` [ 032/123] usb: gadget: phonet: free requests in pn_bind()s error path Greg Kroah-Hartman
2013-01-09 20:34 ` [ 033/123] usb: gadget: tcm_usb_gadget: NULL terminate the FS descriptor list Greg Kroah-Hartman
2013-01-09 20:34 ` [ 034/123] usb: gadget: uvc: fix error path in uvc_function_bind() Greg Kroah-Hartman
2013-01-09 20:34 ` [ 035/123] usb: gadget: network: fix bind() error path Greg Kroah-Hartman
2013-01-09 20:34 ` [ 036/123] ACPI: do acpisleep dmi check when CONFIG_ACPI_SLEEP is set Greg Kroah-Hartman
2013-01-09 20:34 ` [ 037/123] libata: restore acpi disable functionality Greg Kroah-Hartman
2013-01-09 20:34 ` [ 038/123] ACPI / scan: Do not use dummy HID for system bus ACPI nodes Greg Kroah-Hartman
2013-01-09 20:34 ` [ 039/123] NFS: Add sequence_priviliged_ops for nfs4_proc_sequence() Greg Kroah-Hartman
2013-01-09 20:34 ` [ 040/123] nfs: dont extend writes to cover entire page if pagecache is invalid Greg Kroah-Hartman
2013-01-09 20:34 ` [ 041/123] NFSv4: Check for buffer length in __nfs4_get_acl_uncached Greg Kroah-Hartman
2013-01-09 20:34 ` [ 042/123] nfs: dont zero out the rest of the page if we hit the EOF on a DIO READ Greg Kroah-Hartman
2013-01-09 20:34 ` [ 043/123] NFS: avoid NULL dereference in nfs_destroy_server Greg Kroah-Hartman
2013-01-09 20:34 ` [ 044/123] NFS: Fix calls to drop_nlink() Greg Kroah-Hartman
2013-01-09 20:34 ` [ 045/123] NFS: Dont use SetPageError in the NFS writeback code Greg Kroah-Hartman
2013-01-09 20:34 ` [ 046/123] nfs: fix wrong object type in lockowner_slab Greg Kroah-Hartman
2013-01-09 20:34 ` [ 047/123] nfsd: fix v4 reply caching Greg Kroah-Hartman
2013-01-09 20:34 ` [ 048/123] nfsd4: fix oops on unusual readlike compound Greg Kroah-Hartman
2013-01-09 20:34 ` [ 049/123] nfsd: avoid permission checks on EXCLUSIVE_CREATE replay Greg Kroah-Hartman
2013-01-09 20:34 ` [ 050/123] NFS: Fix access to suid/sgid executables Greg Kroah-Hartman
2013-01-09 20:34 ` [ 051/123] pnfs: Increase the refcount when LAYOUTGET fails the first time Greg Kroah-Hartman
2013-01-09 20:34 ` [ 052/123] nfs: fix null checking in nfs_get_option_str() Greg Kroah-Hartman
2013-01-09 20:34 ` [ 053/123] NFS: Ensure that we free the rpc_task after read and write cleanups are done Greg Kroah-Hartman
2013-01-09 20:34 ` [ 054/123] nfs: avoid dereferencing null pointer in initiate_bulk_draining Greg Kroah-Hartman
2013-01-09 20:34 ` [ 055/123] vfs: d_obtain_alias() needs to use "/" as default name Greg Kroah-Hartman
2013-01-09 20:34 ` [ 056/123] Input: walkera0701 - fix crash on startup Greg Kroah-Hartman
2013-01-09 20:34 ` [ 057/123] Input: wacom - fix touch support for Bamboo Fun CTH-461 Greg Kroah-Hartman
2013-01-09 20:34 ` [ 058/123] Input: sentelic - only report position of first finger as ST coordinates Greg Kroah-Hartman
2013-01-09 20:34 ` [ 059/123] Input: gpio_keys_polled - defer probing if GPIO probing is deferred Greg Kroah-Hartman
2013-01-09 20:34 ` [ 060/123] Input: gpio_keys " Greg Kroah-Hartman
2013-01-09 20:35 ` [ 061/123] genirq: Always force thread affinity Greg Kroah-Hartman
2013-01-09 20:35 ` [ 062/123] usb: musb: cppi_dma: export cppi_interrupt() Greg Kroah-Hartman
2013-01-09 20:35 ` [ 063/123] Revert "usb: musb: dsps: remove explicit NOP device creation" Greg Kroah-Hartman
2013-01-09 20:35 ` [ 064/123] xhci: Fix conditional check in bandwidth calculation Greg Kroah-Hartman
2013-01-09 20:35 ` [ 065/123] xHCI: Fix TD Size calculation on 1.0 hosts Greg Kroah-Hartman
2013-01-09 20:35 ` [ 066/123] xhci: fix null-pointer dereference when destroying half-built segment rings Greg Kroah-Hartman
2013-01-09 20:35 ` [ 067/123] USB: fix endpoint-disabling for failed config changes Greg Kroah-Hartman
2013-01-09 20:35 ` [ 068/123] usb: host: xhci: Stricter conditional for Z1 system models for Compliance Mode Patch Greg Kroah-Hartman
2013-01-09 20:35 ` [ 069/123] xhci: Add Lynx Point LP to list of Intel switchable hosts Greg Kroah-Hartman
2013-01-09 20:35 ` [ 070/123] cgroup: cgroup_subsys->fork() should be called after the task is added to css_set Greg Kroah-Hartman
2013-01-09 20:35 ` [ 071/123] cgroup: remove incorrect dget/dput() pair in cgroup_create_dir() Greg Kroah-Hartman
2013-01-09 20:35 ` [ 072/123] cgroup_rm_file: dont delete the uncreated files Greg Kroah-Hartman
2013-01-09 20:35 ` [ 073/123] mm/hugetlb: create hugetlb cgroup file in hugetlb_init Greg Kroah-Hartman
2013-01-09 20:35 ` [ 074/123] staging: drm/omap: Fix include error during make Greg Kroah-Hartman
2013-01-09 20:35 ` [ 075/123] SMB3 mounts fail with access denied to some servers Greg Kroah-Hartman
2013-01-09 20:35 ` [ 076/123] freezer: add missing mbs to freezer_count() and freezer_should_skip() Greg Kroah-Hartman
2013-01-09 20:35 ` [ 077/123] sparc: huge_ptep_set_* functions need to call set_huge_pte_at() Greg Kroah-Hartman
2013-01-09 20:35 ` [ 078/123] sparc64: Fix unrolled AES 256-bit key loops Greg Kroah-Hartman
2013-01-09 20:35 ` [ 079/123] sparc64: Fix AES ctr mode block size Greg Kroah-Hartman
2013-01-09 20:35 ` [ 080/123] sparc64: Set CRYPTO_TFM_REQ_MAY_SLEEP consistently in AES code Greg Kroah-Hartman
2013-01-09 20:35 ` [ 081/123] sparc64: Fix ECB looping constructs " Greg Kroah-Hartman
2013-01-09 20:35 ` [ 082/123] sparc64: Set CRYPTO_TFM_REQ_MAY_SLEEP consistently in DES code Greg Kroah-Hartman
2013-01-09 20:35 ` [ 083/123] sparc64: Set CRYPTO_TFM_REQ_MAY_SLEEP consistently in CAMELLIA code Greg Kroah-Hartman
2013-01-09 20:35 ` [ 084/123] batman-adv: fix random jitter calculation Greg Kroah-Hartman
2013-01-09 20:35 ` Greg Kroah-Hartman [this message]
2013-01-09 20:35 ` [ 086/123] ipv6: Change skb->data before using icmpv6_notify() to propagate redirect Greg Kroah-Hartman
2013-01-09 20:35 ` [ 087/123] mac802154: fix NOHZ local_softirq_pending 08 warning Greg Kroah-Hartman
2013-01-09 20:35 ` [ 088/123] net: sched: integer overflow fix Greg Kroah-Hartman
2013-01-09 20:35 ` [ 089/123] sctp: jsctp_sf_eat_sack: fix jprobes function signature mismatch Greg Kroah-Hartman
2013-01-09 20:35 ` [ 090/123] tcp: fix MSG_SENDPAGE_NOTLAST logic Greg Kroah-Hartman
2013-01-09 20:35 ` [ 091/123] printk: fix incorrect length from print_time() when seconds > 99999 Greg Kroah-Hartman
2013-01-09 20:35 ` [ 092/123] signals: sys_ssetmask() uses uninitialized newmask Greg Kroah-Hartman
2013-01-09 20:35 ` [ 093/123] xfs: fix direct IO nested transaction deadlock Greg Kroah-Hartman
2013-01-09 20:35 ` [ 094/123] xfs: fix stray dquot unlock when reclaiming dquots Greg Kroah-Hartman
2013-01-09 20:35 ` [ 095/123] arm64: compat for clock_adjtime(2) is miswired Greg Kroah-Hartman
2013-01-09 20:35 ` [ 096/123] ARM: mm: use pteval_t to represent page protection values Greg Kroah-Hartman
2013-01-09 20:35 ` [ 097/123] ARM: missing ->mmap_sem around find_vma() in swp_emulate.c Greg Kroah-Hartman
2013-01-09 20:35 ` [ 098/123] ARM: 7607/1: realview: fix private peripheral memory base for EB rev. B boards Greg Kroah-Hartman
2013-01-09 20:35 ` [ 099/123] ARM: 7606/1: cache: flush to LoUU instead of LoUIS on uniprocessor CPUs Greg Kroah-Hartman
2013-01-09 20:35 ` [ 100/123] fs: Fix imbalance in freeze protection in mark_files_ro() Greg Kroah-Hartman
2013-01-09 20:35 ` [ 101/123] cifs: move check for NULL socket into smb_send_rqst Greg Kroah-Hartman
2013-01-09 20:35 ` [ 102/123] cifs: adjust sequence number downward after signing NT_CANCEL request Greg Kroah-Hartman
2013-01-09 20:35 ` [ 103/123] solos-pci: fix double-free of TX skb in DMA mode Greg Kroah-Hartman
2013-01-09 20:35 ` [ 104/123] PCI/PM: Keep runtime PM enabled for unbound PCI devices Greg Kroah-Hartman
2013-01-09 20:35 ` [ 105/123] PCI: Reduce Ricoh 0xe822 SD card reader base clock frequency to 50MHz Greg Kroah-Hartman
2013-01-09 20:35 ` [ 106/123] PCI/PM: Do not suspend port if any subordinate device needs PME polling Greg Kroah-Hartman
2013-01-09 20:35 ` [ 107/123] PCI: Work around Stratus ftServer broken PCIe hierarchy (fix DMI check) Greg Kroah-Hartman
2013-01-09 20:35 ` [ 108/123] Bluetooth: Add support for BCM20702A0 [0b05, 17b5] Greg Kroah-Hartman
2013-01-09 20:35 ` [ 109/123] Bluetooth: Add missing lock nesting notation Greg Kroah-Hartman
2013-01-09 20:35 ` [ 110/123] Bluetooth: cancel power_on work when unregistering the device Greg Kroah-Hartman
2013-01-09 20:35 ` [ 111/123] Revert "Bluetooth: Fix possible deadlock in SCO code" Greg Kroah-Hartman
2013-01-09 20:35 ` [ 112/123] lib: atomic64: Initialize locks statically to fix early users Greg Kroah-Hartman
2013-01-09 20:35 ` [ 113/123] proc: pid/status: show all supplementary groups Greg Kroah-Hartman
2013-01-09 20:35 ` [ 114/123] CRIS: fix I/O macros Greg Kroah-Hartman
2013-01-09 20:35 ` [ 115/123] revert "rtc: recycle id when unloading a rtc driver" Greg Kroah-Hartman
2013-01-09 20:35 ` [ 116/123] drivers/rtc/rtc-vt8500.c: correct handling of CR_24H bitfield Greg Kroah-Hartman
2013-01-09 20:35 ` [ 117/123] drivers/rtc/rtc-vt8500.c: fix handling of data passed in struct rtc_time Greg Kroah-Hartman
2013-01-09 20:35 ` [ 118/123] mm: limit mmu_gather batching to fix soft lockups on !CONFIG_PREEMPT Greg Kroah-Hartman
2013-01-09 20:35 ` [ 119/123] linux/kernel.h: fix DIV_ROUND_CLOSEST with unsigned divisors Greg Kroah-Hartman
2013-01-09 20:35 ` [ 120/123] HID: Add Apple wireless keyboard 2011 ANSI to special driver list Greg Kroah-Hartman
2013-01-09 20:36 ` [ 121/123] can: Do not call dev_put if restart timer is running upon close Greg Kroah-Hartman
2013-01-09 20:36 ` [ 122/123] cifs: rename cifs_readdir_lookup to cifs_prime_dcache and make it void return Greg Kroah-Hartman
2013-01-09 20:36 ` [ 123/123] cifs: dont compare uniqueids in cifs_prime_dcache unless server inode numbers are in use Greg Kroah-Hartman
2013-01-10 15:32 ` [ 000/123] 3.7.2-stable review Paul Bolle
2013-01-10 15:56   ` Paul Bolle
2013-01-10 18:04 ` Shuah Khan
2013-01-10 19:45   ` Jonathan Nieder
2013-01-11 14:43 ` Satoru Takeuchi

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=20130109201509.532373729@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=christoph.paasch@uclouvain.be \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).