All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Greg KH <gregkh@linuxfoundation.org>,
	torvalds@linux-foundation.org, akpm@linux-foundation.org,
	alan@lxorguk.ukuu.org.uk, David Howells <dhowells@redhat.com>,
	Steve Dickson <steved@redhat.com>,
	Trond Myklebust <Trond.Myklebust@netapp.com>
Subject: [ 070/109] NFS: Fix a number of bugs in the idmapper
Date: Tue,  7 Aug 2012 15:35:29 -0700	[thread overview]
Message-ID: <20120807222049.238646520@linuxfoundation.org> (raw)
In-Reply-To: <20120807222043.089735600@linuxfoundation.org>

From: Greg KH <gregkh@linuxfoundation.org>

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

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

From: David Howells <dhowells@redhat.com>

commit a427b9ec4eda8cd6e641ea24541d30b641fc3140 upstream.

Fix a number of bugs in the NFS idmapper code:

 (1) Only registered key types can be passed to the core keys code, so
     register the legacy idmapper key type.

     This is a requirement because the unregister function cleans up keys
     belonging to that key type so that there aren't dangling pointers to the
     module left behind - including the key->type pointer.

 (2) Rename the legacy key type.  You can't have two key types with the same
     name, and (1) would otherwise require that.

 (3) complete_request_key() must be called in the error path of
     nfs_idmap_legacy_upcall().

 (4) There is one idmap struct for each nfs_client struct.  This means that
     idmap->idmap_key_cons is shared without the use of a lock.  This is a
     problem because key_instantiate_and_link() - as called indirectly by
     idmap_pipe_downcall() - releases anyone waiting for the key to be
     instantiated.

     What happens is that idmap_pipe_downcall() running in the rpc.idmapd
     thread, releases the NFS filesystem in whatever thread that is running in
     to continue.  This may then make another idmapper call, overwriting
     idmap_key_cons before idmap_pipe_downcall() gets the chance to call
     complete_request_key().

     I *think* that reading idmap_key_cons only once, before
     key_instantiate_and_link() is called, and then caching the result in a
     variable is sufficient.

Bug (4) is the cause of:

BUG: unable to handle kernel NULL pointer dereference at           (null)
IP: [<          (null)>]           (null)
PGD 0
Oops: 0010 [#1] SMP
CPU 1
Modules linked in: ppdev parport_pc lp parport ip6table_filter ip6_tables ebtable_nat ebtables ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack nfs fscache xt_CHECKSUM auth_rpcgss iptable_mangle nfs_acl bridge stp llc lockd be2iscsi iscsi_boot_sysfs bnx2i cnic uio cxgb4i cxgb4 cxgb3i libcxgbi cxgb3 mdio ib_iser rdma_cm ib_cm iw_cm ib_sa ib_mad ib_core ib_addr iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi snd_hda_codec_realtek snd_usb_audio snd_hda_intel snd_hda_codec snd_seq snd_pcm snd_hwdep snd_usbmidi_lib snd_rawmidi snd_timer uvcvideo videobuf2_core videodev media videobuf2_vmalloc snd_seq_device videobuf2_memops e1000e vhost_net iTCO_wdt joydev coretemp snd soundcore macvtap macvlan i2c_i801 snd_page_alloc tun iTCO_vendor_support microcode kvm_intel kvm sunrpc hid_logitech_dj usb_storage i915 drm_kms_helper drm i2c_algo_bit i2c_core video [last unloaded: scsi_wait_scan]
Pid: 1229, comm: rpc.idmapd Not tainted 3.4.2-1.fc16.x86_64 #1 Gateway DX4710-UB801A/G33M05G1
RIP: 0010:[<0000000000000000>]  [<          (null)>]           (null)
RSP: 0018:ffff8801a3645d40  EFLAGS: 00010246
RAX: ffff880077707e30 RBX: ffff880077707f50 RCX: ffff8801a18ccd80
RDX: 0000000000000006 RSI: ffff8801a3645e75 RDI: ffff880077707f50
RBP: ffff8801a3645d88 R08: ffff8801a430f9c0 R09: ffff8801a3645db0
R10: 000000000000000a R11: 0000000000000246 R12: ffff8801a18ccd80
R13: ffff8801a3645e75 R14: ffff8801a430f9c0 R15: 0000000000000006
FS:  00007fb6fb51a700(0000) GS:ffff8801afc80000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 00000001a49b0000 CR4: 00000000000027e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process rpc.idmapd (pid: 1229, threadinfo ffff8801a3644000, task ffff8801a3bf9710)
Stack:
 ffffffff81260878 ffff8801a3645db0 ffff8801a3645db0 ffff880077707a90
 ffff880077707f50 ffff8801a18ccd80 0000000000000006 ffff8801a3645e75
 ffff8801a430f9c0 ffff8801a3645dd8 ffffffff81260983 ffff8801a3645de8
Call Trace:
 [<ffffffff81260878>] ? __key_instantiate_and_link+0x58/0x100
 [<ffffffff81260983>] key_instantiate_and_link+0x63/0xa0
 [<ffffffffa057062b>] idmap_pipe_downcall+0x1cb/0x1e0 [nfs]
 [<ffffffffa0107f57>] rpc_pipe_write+0x67/0x90 [sunrpc]
 [<ffffffff8117f833>] vfs_write+0xb3/0x180
 [<ffffffff8117fb5a>] sys_write+0x4a/0x90
 [<ffffffff81600329>] system_call_fastpath+0x16/0x1b
Code:  Bad RIP value.
RIP  [<          (null)>]           (null)
 RSP <ffff8801a3645d40>
CR2: 0000000000000000

Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-by: Steve Dickson <steved@redhat.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/nfs/idmap.c |   26 ++++++++++++++++++++------
 1 file changed, 20 insertions(+), 6 deletions(-)

--- a/fs/nfs/idmap.c
+++ b/fs/nfs/idmap.c
@@ -205,12 +205,18 @@ static int nfs_idmap_init_keyring(void)
 	if (ret < 0)
 		goto failed_put_key;
 
+	ret = register_key_type(&key_type_id_resolver_legacy);
+	if (ret < 0)
+		goto failed_reg_legacy;
+
 	set_bit(KEY_FLAG_ROOT_CAN_CLEAR, &keyring->flags);
 	cred->thread_keyring = keyring;
 	cred->jit_keyring = KEY_REQKEY_DEFL_THREAD_KEYRING;
 	id_resolver_cache = cred;
 	return 0;
 
+failed_reg_legacy:
+	unregister_key_type(&key_type_id_resolver);
 failed_put_key:
 	key_put(keyring);
 failed_put_cred:
@@ -222,6 +228,7 @@ static void nfs_idmap_quit_keyring(void)
 {
 	key_revoke(id_resolver_cache->thread_keyring);
 	unregister_key_type(&key_type_id_resolver);
+	unregister_key_type(&key_type_id_resolver_legacy);
 	put_cred(id_resolver_cache);
 }
 
@@ -385,7 +392,7 @@ static const struct rpc_pipe_ops idmap_u
 };
 
 static struct key_type key_type_id_resolver_legacy = {
-	.name		= "id_resolver",
+	.name		= "id_legacy",
 	.instantiate	= user_instantiate,
 	.match		= user_match,
 	.revoke		= user_revoke,
@@ -658,6 +665,7 @@ static int nfs_idmap_legacy_upcall(struc
 	if (ret < 0)
 		goto out2;
 
+	BUG_ON(idmap->idmap_key_cons != NULL);
 	idmap->idmap_key_cons = cons;
 
 	ret = rpc_queue_upcall(idmap->idmap_pipe, msg);
@@ -671,8 +679,7 @@ out2:
 out1:
 	kfree(msg);
 out0:
-	key_revoke(cons->key);
-	key_revoke(cons->authkey);
+	complete_request_key(cons, ret);
 	return ret;
 }
 
@@ -706,11 +713,18 @@ idmap_pipe_downcall(struct file *filp, c
 {
 	struct rpc_inode *rpci = RPC_I(filp->f_path.dentry->d_inode);
 	struct idmap *idmap = (struct idmap *)rpci->private;
-	struct key_construction *cons = idmap->idmap_key_cons;
+	struct key_construction *cons;
 	struct idmap_msg im;
 	size_t namelen_in;
 	int ret;
 
+	/* If instantiation is successful, anyone waiting for key construction
+	 * will have been woken up and someone else may now have used
+	 * idmap_key_cons - so after this point we may no longer touch it.
+	 */
+	cons = ACCESS_ONCE(idmap->idmap_key_cons);
+	idmap->idmap_key_cons = NULL;
+
 	if (mlen != sizeof(im)) {
 		ret = -ENOSPC;
 		goto out;
@@ -723,7 +737,7 @@ idmap_pipe_downcall(struct file *filp, c
 
 	if (!(im.im_status & IDMAP_STATUS_SUCCESS)) {
 		ret = mlen;
-		complete_request_key(idmap->idmap_key_cons, -ENOKEY);
+		complete_request_key(cons, -ENOKEY);
 		goto out_incomplete;
 	}
 
@@ -740,7 +754,7 @@ idmap_pipe_downcall(struct file *filp, c
 	}
 
 out:
-	complete_request_key(idmap->idmap_key_cons, ret);
+	complete_request_key(cons, ret);
 out_incomplete:
 	return ret;
 }



  parent reply	other threads:[~2012-08-07 22:40 UTC|newest]

Thread overview: 117+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-07 22:34 [ 000/109] 3.4.8-stable review Greg Kroah-Hartman
2012-08-07 22:34 ` [ 001/109] target: Add generation of LOGICAL BLOCK ADDRESS OUT OF RANGE Greg Kroah-Hartman
2012-08-07 22:34 ` [ 002/109] iscsi-target: Drop bogus struct file usage for iSCSI/SCTP Greg Kroah-Hartman
2012-08-07 22:34 ` [ 003/109] mmc: sdhci-pci: CaFe has broken card detection Greg Kroah-Hartman
2012-08-07 22:34 ` [ 004/109] mmc: sdhci: fix incorrect command used in tuning Greg Kroah-Hartman
2012-08-07 22:34 ` [ 005/109] powerpc/ftrace: Fix assembly trampoline register usage Greg Kroah-Hartman
2012-08-07 22:34 ` [ 006/109] powerpc: Add "memory" attribute for mfmsr() Greg Kroah-Hartman
2012-08-07 22:34 ` [ 007/109] powerpc/eeh: Check handle_eeh_events() return value Greg Kroah-Hartman
2012-08-07 22:34 ` [ 008/109] powerpc/85xx: use the BRx registers to enable indirect mode on the P1022DS Greg Kroah-Hartman
2012-08-07 22:34 ` [ 009/109] SCSI: libsas: continue revalidation Greg Kroah-Hartman
2012-08-07 22:34 ` [ 010/109] SCSI: libsas: fix sas_discover_devices return code handling Greg Kroah-Hartman
2012-08-07 22:34 ` [ 011/109] SCSI: fix eh wakeup (scsi_schedule_eh vs scsi_restart_operations) Greg Kroah-Hartman
2012-08-07 22:34 ` [ 012/109] SCSI: fix hot unplug vs async scan race Greg Kroah-Hartman
2012-08-07 22:34 ` [ 013/109] SCSI: Fix device removal NULL pointer dereference Greg Kroah-Hartman
2012-08-07 22:34 ` [ 014/109] SCSI: Avoid dangling pointer in scsi_requeue_command() Greg Kroah-Hartman
2012-08-07 22:34 ` [ 015/109] rt2800usb: 2001:3c17 is an RT3370 device Greg Kroah-Hartman
2012-08-07 22:34 ` [ 016/109] ARM: OMAP2+: OPP: Fix to ensure check of right oppdef after bad one Greg Kroah-Hartman
2012-08-07 22:34 ` [ 017/109] ASoC: dapm: Fix locking during codec shutdown Greg Kroah-Hartman
2012-08-08 21:13   ` Herton Ronaldo Krzesinski
2012-08-09 10:08     ` Mark Brown
2012-08-09 15:18       ` Greg Kroah-Hartman
2012-08-07 22:34 ` [ 018/109] ASoC: dapm: Fix _PRE and _POST events for DAPM performance improvements Greg Kroah-Hartman
2012-08-07 22:34 ` [ 019/109] ASoC: wm8962: Redo early init of the part on resume Greg Kroah-Hartman
2012-08-07 22:34 ` [ 020/109] ALSA: hda - Add support for Realtek ALC282 Greg Kroah-Hartman
2012-08-07 22:34 ` [ 021/109] ALSA: hda - Turn on PIN_OUT from hdmi playback prepare Greg Kroah-Hartman
2012-08-07 22:34 ` [ 022/109] usbdevfs: Correct amount of data copied to user in processcompl_compat Greg Kroah-Hartman
2012-08-07 22:34 ` [ 023/109] usb: gadget: Fix g_ether interface link status Greg Kroah-Hartman
2012-08-07 22:34 ` [ 024/109] USB: option: add ZTE MF821D Greg Kroah-Hartman
2012-08-07 22:34 ` [ 025/109] Revert "usb/uas: make sure data urb is gone if we receive status before that" Greg Kroah-Hartman
2012-08-07 22:34 ` [ 026/109] ALSA: hda - add dock support for Thinkpad X230 Tablet Greg Kroah-Hartman
2012-08-07 22:34 ` [ 027/109] x86/mce: Fix siginfo_t->si_addr value for non-recoverable memory faults Greg Kroah-Hartman
2012-08-07 22:34 ` [ 028/109] locks: fix checking of fcntl_setlease argument Greg Kroah-Hartman
2012-08-07 22:34 ` [ 029/109] batman-adv: fix skb->data assignment Greg Kroah-Hartman
2012-08-09  1:53   ` Ben Hutchings
2012-08-09 15:17     ` Greg Kroah-Hartman
2012-08-07 22:34 ` [ 030/109] ftrace: Disable function tracing during suspend/resume and hibernation, again Greg Kroah-Hartman
2012-08-07 22:34 ` [ 031/109] PM / Sleep: call early resume handlers when suspend_noirq fails Greg Kroah-Hartman
2012-08-07 22:34 ` [ 032/109] TPM: chip disabled state erronously being reported as error Greg Kroah-Hartman
2012-08-07 22:34 ` [ 033/109] tun: fix a crash bug and a memory leak Greg Kroah-Hartman
2012-08-07 22:34 ` [ 034/109] mac80211: fail authentication when AP denied authentication Greg Kroah-Hartman
2012-08-07 22:34 ` [ 035/109] iwlwifi: fix debug print in iwl_sta_calc_ht_flags Greg Kroah-Hartman
2012-08-07 22:34 ` [ 036/109] rtlwifi: rtl8192cu: Change buffer allocation for synchronous reads Greg Kroah-Hartman
2012-08-07 22:34 ` [ 037/109] rtlwifi: rtl8192de: Fix phy-based version calculation Greg Kroah-Hartman
2012-08-07 22:34 ` [ 038/109] mwifiex: correction in mcs index check Greg Kroah-Hartman
2012-08-07 22:34 ` [ 039/109] s390/idle: fix sequence handling vs cpu hotplug Greg Kroah-Hartman
2012-08-07 22:34 ` [ 040/109] s390/mm: downgrade page table after fork of a 31 bit process Greg Kroah-Hartman
2012-08-07 22:35 ` [ 041/109] s390/mm: fix fault handling for page table walk case Greg Kroah-Hartman
2012-08-07 22:35 ` [ 042/109] iommu/amd: Add missing spin_lock initialization Greg Kroah-Hartman
2012-08-07 22:35 ` [ 043/109] iommu/amd: Fix hotplug with iommu=pt Greg Kroah-Hartman
2012-08-07 22:35 ` [ 044/109] udf: Improve table length check to avoid possible overflow Greg Kroah-Hartman
2012-08-07 22:35 ` [ 045/109] stable: update references to older 2.6 versions for 3.x Greg Kroah-Hartman
2012-08-07 22:35 ` [ 046/109] staging: zsmalloc: Finish conversion to a separate module Greg Kroah-Hartman
2012-08-07 22:35 ` [ 047/109] workqueue: perform cpu down operations from low priority cpu_notifier() Greg Kroah-Hartman
2012-08-07 22:35 ` [ 048/109] ACPI, APEI: Fixup common access width firmware bug Greg Kroah-Hartman
2012-08-07 22:35 ` [ 049/109] ACPI/AC: prevent OOPS on some boxes due to missing check power_supply_register() return value check Greg Kroah-Hartman
2012-08-07 22:35 ` [ 050/109] Btrfs: call the ordered free operation without any locks held Greg Kroah-Hartman
2012-08-07 22:35 ` [ 051/109] cifs: reinstate sec=ntlmv2 mount option Greg Kroah-Hartman
2012-08-07 22:35 ` [ 052/109] spi/pl022: disable port when unused Greg Kroah-Hartman
2012-08-07 22:35 ` [ 053/109] qeth: repair crash in qeth_l3_vlan_rx_kill_vid() Greg Kroah-Hartman
2012-08-07 22:35 ` [ 054/109] tg3: add device id of Apple Thunderbolt Ethernet device Greg Kroah-Hartman
2012-08-07 22:35 ` [ 055/109] tg3: Fix Read DMA workaround for 5719 A0 Greg Kroah-Hartman
2012-08-10  2:21   ` Ben Hutchings
2012-08-07 22:35 ` [ 056/109] tg3: Fix race condition in tg3_get_stats64() Greg Kroah-Hartman
2012-08-07 22:35 ` [ 057/109] drm/radeon: fix fence related segfault in CS Greg Kroah-Hartman
2012-08-07 22:35 ` [ 058/109] drm/radeon: fix bo creation retry path Greg Kroah-Hartman
2012-08-07 22:35 ` [ 059/109] drm/radeon: Try harder to avoid HW cursor ending on a multiple of 128 columns Greg Kroah-Hartman
2012-08-07 22:35 ` [ 060/109] drm/radeon: fix non revealent error message Greg Kroah-Hartman
2012-08-07 22:35 ` [ 061/109] drm/radeon: fix hotplug of DP to DVI|HDMI passive adapters (v2) Greg Kroah-Hartman
2012-08-07 22:35 ` [ 062/109] drm/radeon: on hotplug force link training to happen (v2) Greg Kroah-Hartman
2012-08-07 22:35 ` [ 063/109] drm/radeon: fix dpms on/off on trinity/aruba v2 Greg Kroah-Hartman
2012-08-07 22:35 ` [ 064/109] posix_types.h: Cleanup stale __NFDBITS and related definitions Greg Kroah-Hartman
2012-08-07 22:35 ` [ 065/109] dm thin: reduce endio_hook pool size Greg Kroah-Hartman
2012-08-07 22:35 ` [ 066/109] dm thin: fix memory leak in process_prepared_mapping error paths Greg Kroah-Hartman
2012-08-07 22:35 ` [ 067/109] pnfs-obj: Fix __r4w_get_page when offset is beyond i_size Greg Kroah-Hartman
2012-08-07 22:35 ` [ 068/109] nfsd4: our filesystems are normally case sensitive Greg Kroah-Hartman
2012-08-07 22:35 ` [ 069/109] nfs: skip commit in releasepage if were freeing memory for fs-related reasons Greg Kroah-Hartman
2012-08-07 22:35 ` Greg Kroah-Hartman [this message]
2012-08-07 22:35 ` [ 071/109] nouveau: Fix alignment requirements on src and dst addresses Greg Kroah-Hartman
2012-08-07 22:35 ` [ 072/109] ext4: pass a char * to ext4_count_free() instead of a buffer_head ptr Greg Kroah-Hartman
2012-08-07 22:35 ` [ 073/109] ext4: fix overhead calculation used by ext4_statfs() Greg Kroah-Hartman
2012-08-07 22:35 ` [ 074/109] ext4: fix hole punch failure when depth is greater than 0 Greg Kroah-Hartman
2012-08-07 22:35 ` [ 075/109] ext4: dont let i_reserved_meta_blocks go negative Greg Kroah-Hartman
2012-08-07 22:35 ` [ 076/109] ext4: undo ext4_calc_metadata_amount if we fail to claim space Greg Kroah-Hartman
2012-08-07 22:35 ` [ 077/109] atl1c: fix issue of transmit queue 0 timed out Greg Kroah-Hartman
2012-08-07 22:35 ` [ 078/109] netem: add limitation to reordered packets Greg Kroah-Hartman
2012-08-07 22:35 ` [ 079/109] gianfar: fix potential sk_wmem_alloc imbalance Greg Kroah-Hartman
2012-08-07 22:35 ` [ 080/109] net: Fix memory leak - vlan_info struct Greg Kroah-Hartman
2012-08-07 22:35 ` [ 081/109] bnx2: Fix bug in bnx2_free_tx_skbs() Greg Kroah-Hartman
2012-08-07 22:35 ` [ 082/109] sch_sfb: Fix missing NULL check Greg Kroah-Hartman
2012-08-07 22:35 ` [ 083/109] sctp: Fix list corruption resulting from freeing an association on a list Greg Kroah-Hartman
2012-08-07 22:35   ` Greg Kroah-Hartman
2012-08-07 22:35 ` [ 084/109] caif: Fix access to freed pernet memory Greg Kroah-Hartman
2012-08-07 22:35 ` [ 085/109] cipso: dont follow a NULL pointer when setsockopt() is called Greg Kroah-Hartman
2012-08-07 22:35 ` [ 086/109] net: Fix references to out-of-scope variables in put_cmsg_compat() Greg Kroah-Hartman
2012-08-07 22:35 ` [ 087/109] r8169: revert "add byte queue limit support" Greg Kroah-Hartman
2012-08-07 22:35 ` [ 088/109] caif: fix NULL pointer check Greg Kroah-Hartman
2012-08-07 22:35 ` [ 089/109] wanmain: comparing array with NULL Greg Kroah-Hartman
2012-08-07 22:35 ` [ 090/109] tcp: Add TCP_USER_TIMEOUT negative value check Greg Kroah-Hartman
2012-08-07 22:35 ` [ 091/109] USB: kaweth.c: use GFP_ATOMIC under spin_lock Greg Kroah-Hartman
2012-08-07 22:35 ` [ 092/109] net: fix rtnetlink IFF_PROMISC and IFF_ALLMULTI handling Greg Kroah-Hartman
2012-08-07 22:35 ` [ 093/109] tcp: perform DMA to userspace only if there is a task waiting for it Greg Kroah-Hartman
2012-08-07 22:35 ` [ 094/109] net/tun: fix ioctl() based info leaks Greg Kroah-Hartman
2012-08-07 22:35 ` [ 095/109] USB: echi-dbgp: increase the controller wait time to come out of halt Greg Kroah-Hartman
2012-08-07 22:35 ` [ 096/109] ALSA: snd-usb: fix clock source validity index Greg Kroah-Hartman
2012-08-07 22:35 ` [ 097/109] ALSA: mpu401: Fix missing initialization of irq field Greg Kroah-Hartman
2012-08-07 22:35 ` [ 098/109] ALSA: hda - Fix invalid D3 of headphone DAC on VT202x codecs Greg Kroah-Hartman
2012-08-07 22:35 ` [ 099/109] ALSA: hda - Fix mute-LED GPIO setup for HP Mini 210 Greg Kroah-Hartman
2012-08-07 22:35 ` [ 100/109] ALSA: hda - Fix polarity of mute LED on " Greg Kroah-Hartman
2012-08-07 22:36 ` [ 101/109] ALSA: hda - Fix mute-LED GPIO initialization for IDT codecs Greg Kroah-Hartman
2012-08-07 22:36 ` [ 102/109] ALSA: hda - Support dock on Lenovo Thinkpad T530 with ALC269VC Greg Kroah-Hartman
2012-08-07 22:36 ` [ 103/109] ASoC: wm8962: Allow VMID time to fully ramp Greg Kroah-Hartman
2012-08-07 22:36 ` [ 104/109] ASoC: wm8994: Ensure there are enough BCLKs for four channels Greg Kroah-Hartman
2012-08-07 22:36 ` [ 105/109] m68k: Make sys_atomic_cmpxchg_32 work on classic m68k Greg Kroah-Hartman
2012-08-07 22:36 ` [ 106/109] m68k: Correct the Atari ALLOWINT definition Greg Kroah-Hartman
2012-08-07 22:36 ` [ 107/109] futex: Test for pi_mutex on fault in futex_wait_requeue_pi() Greg Kroah-Hartman
2012-08-07 22:36 ` [ 108/109] futex: Fix bug in WARN_ON for NULL q.pi_state Greg Kroah-Hartman
2012-08-07 22:36 ` [ 109/109] futex: Forbid uaddr == uaddr2 in futex_wait_requeue_pi() 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=20120807222049.238646520@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=Trond.Myklebust@netapp.com \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=dhowells@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=steved@redhat.com \
    --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.