linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Luis Henriques <luis.henriques@canonical.com>
To: Ben Hutchings <ben@decadent.org.uk>
Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	kernel-team@lists.ubuntu.com,
	Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [PATCH 116/150] vfs,proc: guarantee unique inodes in /proc
Date: Wed, 27 Mar 2013 10:14:01 +0000	[thread overview]
Message-ID: <20130327101401.GC3103@hercules> (raw)
In-Reply-To: <1364362839.3520.52.camel@deadeye.wl.decadent.org.uk>

On Wed, Mar 27, 2013 at 05:40:39AM +0000, Ben Hutchings wrote:
> On Tue, 2013-03-26 at 15:20 +0000, Luis Henriques wrote:
> > 3.5.7.9 -stable review patch.  If anyone has any objections, please let me know.
> > 
> > ------------------
> > 
> > From: Linus Torvalds <torvalds@linux-foundation.org>
> > 
> > commit 51f0885e5415b4cc6535e9cdcc5145bfbc134353 upstream.
> > 
> > Dave Jones found another /proc issue with his Trinity tool: thanks to
> > the namespace model, we can have multiple /proc dentries that point to
> > the same inode, aliasing directories in /proc/<pid>/net/ for example.
> > 
> > This ends up being a total disaster, because it acts like hardlinked
> > directories, and causes locking problems.  We rely on the topological
> > sort of the inodes pointed to by dentries, and if we have aliased
> > directories, that odering becomes unreliable.
> > 
> > In short: don't do this.  Multiple dentries with the same (directory)
> > inode is just a bad idea, and the namespace code should never have
> > exposed things this way.  But we're kind of stuck with it.
> > 
> > This solves things by just always allocating a new inode during /proc
> > dentry lookup, instead of using "iget_locked()" to look up existing
> > inodes by superblock and number.  That actually simplies the code a bit,
> > at the cost of potentially doing more inode [de]allocations.
> > 
> > That said, the inode lookup wasn't free either (and did a lot of locking
> > of inodes), so it is probably not that noticeable.  We could easily keep
> > the old lookup model for non-directory entries, but rather than try to
> > be excessively clever this just implements the minimal and simplest
> > workaround for the problem.
> > 
> > Reported-and-tested-by: Dave Jones <davej@redhat.com>
> > Analyzed-by: Al Viro <viro@zeniv.linux.org.uk>
> > Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
> > [ luis: backported to 3.5; adjust context ]
> 
> Prior to commit d3d009cb965eae7e002ea5badf603ea8f4c34915, callers of
> proc_get_inode() don't expect it to call pde_put() before returning NULL
> - only when returning an existing inode, which it will never do after
> this.  So I think you must either cherry-pick that first, or delete
> 'else pde_put(de);' as part of this fix.

Nice catch, thanks Ben.  I will use your backport to 3.2 instead, which
fixes this issue.

Cheers,
--
Luis

>From 9bb1703bd0fb8df183c09fd61939a10b749f29f9 Mon Sep 17 00:00:00 2001
From: Ben Hutchings <ben@decadent.org.uk>
Date: Mon, 25 Mar 2013 01:07:04 +0000
Subject: [PATCH] vfs,proc: guarantee unique inodes in /proc

commit 51f0885e5415b4cc6535e9cdcc5145bfbc134353 upstream.

Dave Jones found another /proc issue with his Trinity tool: thanks to
the namespace model, we can have multiple /proc dentries that point to
the same inode, aliasing directories in /proc/<pid>/net/ for example.

This ends up being a total disaster, because it acts like hardlinked
directories, and causes locking problems.  We rely on the topological
sort of the inodes pointed to by dentries, and if we have aliased
directories, that odering becomes unreliable.

In short: don't do this.  Multiple dentries with the same (directory)
inode is just a bad idea, and the namespace code should never have
exposed things this way.  But we're kind of stuck with it.

This solves things by just always allocating a new inode during /proc
dentry lookup, instead of using "iget_locked()" to look up existing
inodes by superblock and number.  That actually simplies the code a bit,
at the cost of potentially doing more inode [de]allocations.

That said, the inode lookup wasn't free either (and did a lot of locking
of inodes), so it is probably not that noticeable.  We could easily keep
the old lookup model for non-directory entries, but rather than try to
be excessively clever this just implements the minimal and simplest
workaround for the problem.

Reported-and-tested-by: Dave Jones <davej@redhat.com>
Analyzed-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[bwh: Backported to 3.2:
 - Adjust context
 - Never drop the pde reference in proc_get_inode(), as callers only
   expect this when we return an existing inode, and we never do that now]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 fs/proc/inode.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/fs/proc/inode.c b/fs/proc/inode.c
index 7ac817b..578f8a8 100644
--- a/fs/proc/inode.c
+++ b/fs/proc/inode.c
@@ -443,12 +443,10 @@ static const struct file_operations proc_reg_file_ops_no_compat = {
 
 struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de)
 {
-	struct inode * inode;
+	struct inode *inode = new_inode_pseudo(sb);
 
-	inode = iget_locked(sb, de->low_ino);
-	if (!inode)
-		return NULL;
-	if (inode->i_state & I_NEW) {
+	if (inode) {
+		inode->i_ino = de->low_ino;
 		inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
 		PROC_I(inode)->fd = 0;
 		PROC_I(inode)->pde = de;
@@ -477,9 +475,7 @@ struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de)
 				inode->i_fop = de->proc_fops;
 			}
 		}
-		unlock_new_inode(inode);
-	} else
-	       pde_put(de);
+	}
 	return inode;
 }			
 
-- 
1.8.1.2

  reply	other threads:[~2013-03-27 10:14 UTC|newest]

Thread overview: 157+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-26 15:18 [ 3.5.y.z extended stable ] Linux 3.5.7.9 stable review Luis Henriques
2013-03-26 15:18 ` [PATCH 001/150] USB: option: add Huawei E5331 Luis Henriques
2013-03-26 15:18 ` [PATCH 002/150] USB: storage: fix Huawei mode switching regression Luis Henriques
2013-03-26 15:18 ` [PATCH 003/150] USB: added support for Cinterion's products AH6 and PLS8 Luis Henriques
2013-03-26 15:18 ` [PATCH 004/150] ALSA: seq: Fix missing error handling in snd_seq_timer_open() Luis Henriques
2013-03-26 15:18 ` [PATCH 005/150] usb: cp210x new Vendor/Device IDs Luis Henriques
2013-03-26 15:18 ` [PATCH 006/150] staging: vt6656: Fix oops on resume from suspend Luis Henriques
2013-03-26 15:18 ` [PATCH 007/150] qcaux: add Franklin U600 Luis Henriques
2013-03-26 15:18 ` [PATCH 008/150] ext3: Fix format string issues Luis Henriques
2013-03-26 15:18 ` [PATCH 009/150] tty/serial: Add support for Altera serial port Luis Henriques
2013-03-26 15:18 ` [PATCH 010/150] Fix 4 port and add support for 8 port 'Unknown' PCI serial port cards Luis Henriques
2013-03-26 15:18 ` [PATCH 011/150] serial: 8250_pci: add support for another kind of NetMos Technology PCI 9835 Multi-I/O Controller Luis Henriques
2013-03-26 15:18 ` [PATCH 012/150] tty: serial: fix typo "ARCH_S5P6450" Luis Henriques
2013-03-26 15:18 ` [PATCH 013/150] usb: serial: Add Rigblaster Advantage to device table Luis Henriques
2013-03-26 15:18 ` [PATCH 014/150] w1: fix oops when w1_search is called from netlink connector Luis Henriques
2013-03-26 15:18 ` [PATCH 015/150] USB: cdc-wdm: fix buffer overflow Luis Henriques
2013-03-26 15:18 ` [PATCH 016/150] signal: always clear sa_restorer on execve Luis Henriques
2013-03-26 15:18 ` [PATCH 017/150] hwmon: (lineage-pem) Add missing terminating entry for pem_[input|fan]_attributes Luis Henriques
2013-03-26 15:18 ` [PATCH 018/150] hwmon: (pmbus/ltc2978) Fix temperature reporting Luis Henriques
2013-03-26 15:18 ` [PATCH 019/150] btrfs: use rcu_barrier() to wait for bdev puts at unmount Luis Henriques
2013-03-26 15:18 ` [PATCH 020/150] hwmon: (sht15) Fix memory leak if regulator_enable() fails Luis Henriques
2013-03-26 15:18 ` [PATCH 021/150] TTY: do not reset master's packet mode Luis Henriques
2013-03-26 15:18 ` [PATCH 022/150] virtio: rng: disallow multiple device registrations, fixes crashes Luis Henriques
2013-03-26 15:18 ` [PATCH 023/150] mm/hotplug: correctly add new zone to all other nodes' zone lists Luis Henriques
2013-03-26 15:18 ` [PATCH 024/150] block: use i_size_write() in bd_set_size() Luis Henriques
2013-03-26 15:18 ` [PATCH 025/150] loopdev: fix a deadlock Luis Henriques
2013-03-26 15:18 ` [PATCH 026/150] loopdev: remove an user triggerable oops Luis Henriques
2013-03-26 15:18 ` [PATCH 027/150] proc connector: reject unprivileged listener bumps Luis Henriques
2013-03-26 15:18 ` [PATCH 028/150] s390: critical section cleanup vs. machine checks Luis Henriques
2013-03-26 15:18 ` [PATCH 029/150] s390/mm: fix flush_tlb_kernel_range() Luis Henriques
2013-03-26 15:18 ` [PATCH 030/150] powerpc: Fix STAB initialization Luis Henriques
2013-03-26 15:18 ` [PATCH 031/150] powerpc: Fix cputable entry for 970MP rev 1.0 Luis Henriques
2013-03-26 15:18 ` [PATCH 032/150] atmel_lcdfb: fix 16-bpp modes on older SOCs Luis Henriques
2013-03-26 15:18 ` [PATCH 033/150] selinux: use GFP_ATOMIC under spin_lock Luis Henriques
2013-03-26 15:18 ` [PATCH 034/150] perf,x86: fix kernel crash with PEBS/BTS after suspend/resume Luis Henriques
2013-03-26 15:18 ` [PATCH 035/150] perf,x86: fix link failure for non-Intel configs Luis Henriques
2013-03-26 15:18 ` [PATCH 036/150] perf,x86: fix wrmsr_on_cpu() warning on suspend/resume Luis Henriques
2013-03-26 15:18 ` [PATCH 037/150] l2tp: Restore socket refcount when sendmsg succeeds Luis Henriques
2013-03-26 15:18 ` [PATCH 038/150] rds: limit the size allocated by rds_message_alloc() Luis Henriques
2013-03-26 15:18 ` [PATCH 039/150] net: ipv6: Don't purge default router if accept_ra=2 Luis Henriques
2013-03-26 15:18 ` [PATCH 040/150] tcp: fix double-counted receiver RTT when leaving receiver fast path Luis Henriques
2013-03-26 15:19 ` [PATCH 041/150] tun: add a missing nf_reset() in tun_net_xmit() Luis Henriques
2013-03-26 15:19 ` [PATCH 042/150] macvlan: Set IFF_UNICAST_FLT flag to prevent unnecessary promisc mode Luis Henriques
2013-03-26 15:19 ` [PATCH 043/150] netlabel: correctly list all the static label mappings Luis Henriques
2013-03-26 15:19 ` [PATCH 044/150] netlabel: fix build problems when CONFIG_IPV6=n Luis Henriques
2013-03-26 15:19 ` [PATCH 045/150] bridging: fix rx_handlers return code Luis Henriques
2013-03-26 15:19 ` [PATCH 046/150] ipv6: stop multicast forwarding to process interface scoped addresses Luis Henriques
2013-03-26 15:19 ` [PATCH 047/150] rtnl: fix info leak on RTM_GETLINK request for VF devices Luis Henriques
2013-03-26 15:19 ` [PATCH 048/150] dcbnl: fix various netlink info leaks Luis Henriques
2013-03-26 15:19 ` [PATCH 049/150] 6lowpan: Fix endianness issue in is_addr_link_local() Luis Henriques
2013-03-26 15:19 ` [PATCH 050/150] ahci: Add Device IDs for Intel Lynx Point-LP PCH Luis Henriques
2013-03-26 15:19 ` [PATCH 051/150] ahci: AHCI-mode SATA patch for Intel Avoton DeviceIDs Luis Henriques
2013-03-26 15:19 ` [PATCH 052/150] ahci: Add Device IDs for Intel Wellsburg PCH Luis Henriques
2013-03-26 15:19 ` [PATCH 053/150] HID: add support for Sony RF receiver with USB product id 0x0374 Luis Henriques
2013-03-26 15:19 ` [PATCH 054/150] HID: clean up quirk for Sony RF receivers Luis Henriques
2013-03-26 15:19 ` [PATCH 055/150] rt2x00: error in configurations with mesh support disabled Luis Henriques
2013-03-26 15:19 ` [PATCH 056/150] mwifiex: fix potential out-of-boundary access to ibss rate table Luis Henriques
2013-03-26 15:19 ` [PATCH 057/150] rtlwifi: rtl8192cu: Fix schedule while atomic bug splat Luis Henriques
2013-03-26 15:19 ` [PATCH 058/150] rtlwifi: rtl8192cu: Fix problem that prevents reassociation Luis Henriques
2013-03-26 15:19 ` [PATCH 059/150] vhost/net: fix heads usage of ubuf_info Luis Henriques
2013-03-26 15:19 ` [PATCH 060/150] tools: hv: Netlink source address validation allows DoS Luis Henriques
2013-03-26 15:19 ` [PATCH 061/150] udf: avoid info leak on export Luis Henriques
2013-03-26 15:19 ` [PATCH 062/150] isofs: " Luis Henriques
2013-03-26 15:19 ` [PATCH 063/150] key: Fix resource leak Luis Henriques
2013-03-26 15:19 ` [PATCH 064/150] ext4: fix the wrong number of the allocated blocks in ext4_split_extent() Luis Henriques
2013-03-26 15:19 ` [PATCH 065/150] jbd2: fix use after free in jbd2_journal_dirty_metadata() Luis Henriques
2013-03-26 15:19 ` [PATCH 066/150] ext4: use atomic64_t for the per-flexbg free_clusters count Luis Henriques
2013-03-26 15:19 ` [PATCH 067/150] tracing: Fix race in snapshot swapping Luis Henriques
2013-03-26 15:19 ` [PATCH 068/150] cifs: delay super block destruction until all cifsFileInfo objects are gone Luis Henriques
2013-03-26 15:19 ` [PATCH 069/150] drm/i915: restrict kernel address leak in debugfs Luis Henriques
2013-03-26 15:19 ` [PATCH 070/150] drm/i915: bounds check execbuffer relocation count Luis Henriques
2013-03-26 15:19 ` [PATCH 071/150] tracing: Fix free of probe entry by calling call_rcu_sched() Luis Henriques
2013-03-26 15:19 ` [PATCH 072/150] tracing: Keep overwrite in sync between regular and snapshot buffers Luis Henriques
2013-03-26 15:19 ` [PATCH 073/150] USB: xhci: correctly enable interrupts Luis Henriques
2013-03-26 15:19 ` [PATCH 074/150] usb-storage: add unusual_devs entry for Samsung YP-Z3 mp3 player Luis Henriques
2013-03-26 15:19 ` [PATCH 075/150] drm/radeon: fix backend map setup on 1 RB trinity boards Luis Henriques
2013-03-26 15:19 ` [PATCH 076/150] drm/radeon/benchmark: make sure bo blit copy exists before using it Luis Henriques
2013-03-26 15:19 ` [PATCH 077/150] drm/radeon: add support for Richland APUs Luis Henriques
2013-03-26 15:19 ` [PATCH 078/150] drm/radeon: add Richland pci ids Luis Henriques
2013-03-26 15:19 ` [PATCH 079/150] ALSA: hda/cirrus - Fix the digital beep registration Luis Henriques
2013-03-26 15:19 ` [PATCH 080/150] USB: xhci - fix bit definitions for IMAN register Luis Henriques
2013-03-26 15:19 ` [PATCH 081/150] x86-64: Fix the failure case in copy_user_handle_tail() Luis Henriques
2013-03-26 15:19 ` [PATCH 082/150] target/iscsi: Fix mutual CHAP auth on big-endian arches Luis Henriques
2013-03-26 15:19 ` [PATCH 083/150] target/file: Bump FD_MAX_SECTORS to 2048 to handle 1M sized I/Os Luis Henriques
2013-03-26 15:19 ` [PATCH 084/150] ALSA: snd-usb: mixer: propagate errors up the call chain Luis Henriques
2013-03-26 15:19 ` [PATCH 085/150] ALSA: snd-usb: mixer: ignore -EINVAL in snd_usb_mixer_controls() Luis Henriques
2013-03-26 15:19 ` [PATCH 086/150] ext4: fix data=journal fast mount/umount hang Luis Henriques
2013-03-26 15:19 ` [PATCH 087/150] ALSA: hda - Fix typo in checking IEC958 emphasis bit Luis Henriques
2013-03-26 15:19 ` [PATCH 088/150] usb: gadget: udc-core: fix a regression during gadget driver unbinding Luis Henriques
2013-03-26 15:19 ` [PATCH 089/150] usb: gadget: ffs: fix enable multiple instances Luis Henriques
2013-03-26 15:19 ` [PATCH 090/150] dm thin: fix discard corruption Luis Henriques
2013-03-26 15:19 ` [PATCH 091/150] dm verity: avoid deadlock Luis Henriques
2013-03-26 15:19 ` [PATCH 092/150] drm/mgag200: Bug fix: Modified pll algorithm for EH project Luis Henriques
2013-03-26 15:19 ` [PATCH 093/150] cifs: ignore everything in SPNEGO blob after mechTypes Luis Henriques
2013-03-26 15:19 ` [PATCH 094/150] USB: cdc-acm: fix device unregistration Luis Henriques
2013-03-26 15:19 ` [PATCH 095/150] USB: garmin_gps: fix memory leak on disconnect Luis Henriques
2013-03-26 15:19 ` [PATCH 096/150] USB: io_ti: fix get_icount for two port adapters Luis Henriques
2013-03-26 15:19 ` [PATCH 097/150] USB: serial: fix interface refcounting Luis Henriques
2013-03-26 15:19 ` [PATCH 098/150] USB: serial: add modem-status-change wait queue Luis Henriques
2013-03-26 15:31   ` Johan Hovold
2013-03-27  9:35     ` Luis Henriques
2013-03-26 15:19 ` [PATCH 099/150] USB: ark3116: fix use-after-free in TIOCMIWAIT Luis Henriques
2013-03-26 15:19 ` [PATCH 100/150] USB: ch341: " Luis Henriques
2013-03-26 15:20 ` [PATCH 101/150] USB: cypress_m8: " Luis Henriques
2013-03-26 15:20 ` [PATCH 102/150] USB: f81232: " Luis Henriques
2013-03-26 15:20 ` [PATCH 103/150] USB: ftdi_sio: " Luis Henriques
2013-03-26 15:20 ` [PATCH 104/150] USB: io_edgeport: " Luis Henriques
2013-03-26 15:20 ` [PATCH 105/150] USB: io_ti: " Luis Henriques
2013-03-26 15:20 ` [PATCH 106/150] USB: mct_u232: " Luis Henriques
2013-03-26 15:20 ` [PATCH 107/150] USB: mos7840: fix broken TIOCMIWAIT Luis Henriques
2013-03-26 15:20 ` [PATCH 108/150] USB: mos7840: fix use-after-free in TIOCMIWAIT Luis Henriques
2013-03-26 15:20 ` [PATCH 109/150] USB: oti6858: " Luis Henriques
2013-03-26 15:20 ` [PATCH 110/150] USB: pl2303: " Luis Henriques
2013-03-26 15:20 ` [PATCH 111/150] USB: quatech2: " Luis Henriques
2013-03-26 15:20 ` [PATCH 112/150] USB: spcp8x5: " Luis Henriques
2013-03-26 15:20 ` [PATCH 113/150] USB: ssu100: " Luis Henriques
2013-03-26 15:20 ` [PATCH 114/150] USB: ti_usb_3410_5052: " Luis Henriques
2013-03-26 15:20 ` [PATCH 115/150] i2c: tegra: check the clk_prepare_enable() return value Luis Henriques
2013-03-26 15:20 ` [PATCH 116/150] vfs,proc: guarantee unique inodes in /proc Luis Henriques
2013-03-27  5:40   ` Ben Hutchings
2013-03-27 10:14     ` Luis Henriques [this message]
2013-03-26 15:20 ` [PATCH 117/150] mm/hugetlb: fix total hugetlbfs pages count when using memory overcommit accouting Luis Henriques
2013-03-26 15:20 ` [PATCH 118/150] drivers/rtc/rtc-at91rm9200.c: use a variable for storing IMR Luis Henriques
2013-03-26 15:20 ` [PATCH 119/150] KMS: fix EDID detailed timing vsync parsing Luis Henriques
2013-03-26 15:20 ` [PATCH 120/150] KMS: fix EDID detailed timing frame rate Luis Henriques
2013-03-26 15:20 ` [PATCH 121/150] tg3: 5715 does not link up when autoneg off Luis Henriques
2013-03-26 15:20 ` [PATCH 122/150] sunsu: Fix panic in case of nonexistent port at "console=ttySY" cmdline option Luis Henriques
2013-03-26 15:20 ` [PATCH 123/150] sfc: Disable VF queues during register self-test Luis Henriques
2013-03-26 15:20 ` [PATCH 124/150] sfc: Really disable flow control while flushing Luis Henriques
2013-03-26 15:20 ` [PATCH 125/150] sfc: Convert firmware subtypes to native byte order in efx_mcdi_get_board_cfg() Luis Henriques
2013-03-26 15:20 ` [PATCH 126/150] sfc: Add parentheses around use of bitfield macro arguments Luis Henriques
2013-03-26 15:20 ` [PATCH 127/150] sfc: Fix MCDI structure field lookup Luis Henriques
2013-03-26 15:20 ` [PATCH 128/150] sfc: Avoid generating over-length MC_CMD_FLUSH_RX_QUEUES request Luis Henriques
2013-03-26 15:20 ` [PATCH 129/150] sfc: Work-around flush timeout when flushes have completed Luis Henriques
2013-03-26 15:20 ` [PATCH 130/150] sfc: lock TX queues when calling netif_device_detach() Luis Henriques
2013-03-26 15:20 ` [PATCH 131/150] sfc: Correctly initialise reset_method in siena_test_chip() Luis Henriques
2013-03-26 15:20 ` [PATCH 132/150] sfc: Fix timekeeping in efx_mcdi_poll() Luis Henriques
2013-03-26 15:20 ` [PATCH 133/150] sfc: Properly sync RX DMA buffer when it is not the last in the page Luis Henriques
2013-03-26 15:20 ` [PATCH 134/150] sfc: Fix efx_rx_buf_offset() in the presence of swiotlb Luis Henriques
2013-03-26 15:20 ` [PATCH 135/150] sfc: Correct efx_rx_buffer::page_offset when EFX_PAGE_IP_ALIGN != 0 Luis Henriques
2013-03-26 15:20 ` [PATCH 136/150] sfc: Detach net device when stopping queues for reconfiguration Luis Henriques
2013-03-26 15:20 ` [PATCH 137/150] sfc: Only use TX push if a single descriptor is to be written Luis Henriques
2013-03-26 15:20 ` [PATCH 138/150] sfc: Disable soft interrupt handling during efx_device_detach_sync() Luis Henriques
2013-03-27  0:34   ` Ben Hutchings
2013-03-27  9:36     ` Luis Henriques
2013-03-26 15:20 ` [PATCH 139/150] sctp: don't break the loop while meeting the active_path so as to find the matched transport Luis Henriques
2013-03-26 15:20 ` [PATCH 140/150] netconsole: don't call __netpoll_cleanup() while atomic Luis Henriques
2013-03-26 15:20 ` [PATCH 141/150] net/ipv4: Ensure that location of timestamp option is stored Luis Henriques
2013-03-26 15:20 ` [PATCH 142/150] bonding: don't call update_speed_duplex() under spinlocks Luis Henriques
2013-03-26 15:20 ` [PATCH 143/150] sctp: Use correct sideffect command in duplicate cookie handling Luis Henriques
2013-03-26 15:20 ` [PATCH 144/150] ipv4: fix definition of FIB_TABLE_HASHSZ Luis Henriques
2013-03-26 15:20 ` [PATCH 145/150] rtnetlink: Mask the rta_type when range checking Luis Henriques
2013-03-26 15:20 ` [PATCH 146/150] tcp: fix skb_availroom() Luis Henriques
2013-03-26 15:20 ` [PATCH 147/150] inet: limit length of fragment queue hash table bucket lists Luis Henriques
2013-03-26 15:20 ` [PATCH 148/150] bnx2x: fix occasional statistics off-by-4GB error Luis Henriques
2013-03-26 15:20 ` [PATCH 149/150] signal: Define __ARCH_HAS_SA_RESTORER so we know whether to clear sa_restorer Luis Henriques
2013-03-26 15:20 ` [PATCH 150/150] kernel/signal.c: use __ARCH_HAS_SA_RESTORER instead of SA_RESTORER Luis Henriques

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=20130327101401.GC3103@hercules \
    --to=luis.henriques@canonical.com \
    --cc=ben@decadent.org.uk \
    --cc=kernel-team@lists.ubuntu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

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

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is 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).