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;
}
next prev parent reply other threads:[~2012-08-07 22:40 UTC|newest]
Thread overview: 116+ 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 ` [ 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome