LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Luis Henriques <luis.henriques@canonical.com>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	kernel-team@lists.ubuntu.com
Cc: Andy Lutomirski <luto@amacapital.net>,
	Luis Henriques <luis.henriques@canonical.com>
Subject: [PATCH 3.16.y-ckt 003/126] x86_64, vdso: Fix the vdso address randomization algorithm
Date: Tue, 27 Jan 2015 12:15:08 +0000	[thread overview]
Message-ID: <1422361031-19364-4-git-send-email-luis.henriques@canonical.com> (raw)
In-Reply-To: <1422361031-19364-1-git-send-email-luis.henriques@canonical.com>

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

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

From: Andy Lutomirski <luto@amacapital.net>

commit 394f56fe480140877304d342dec46d50dc823d46 upstream.

The theory behind vdso randomization is that it's mapped at a random
offset above the top of the stack.  To avoid wasting a page of
memory for an extra page table, the vdso isn't supposed to extend
past the lowest PMD into which it can fit.  Other than that, the
address should be a uniformly distributed address that meets all of
the alignment requirements.

The current algorithm is buggy: the vdso has about a 50% probability
of being at the very end of a PMD.  The current algorithm also has a
decent chance of failing outright due to incorrect handling of the
case where the top of the stack is near the top of its PMD.

This fixes the implementation.  The paxtest estimate of vdso
"randomisation" improves from 11 bits to 18 bits.  (Disclaimer: I
don't know what the paxtest code is actually calculating.)

It's worth noting that this algorithm is inherently biased: the vdso
is more likely to end up near the end of its PMD than near the
beginning.  Ideally we would either nix the PMD sharing requirement
or jointly randomize the vdso and the stack to reduce the bias.

In the mean time, this is a considerable improvement with basically
no risk of compatibility issues, since the allowed outputs of the
algorithm are unchanged.

As an easy test, doing this:

for i in `seq 10000`
  do grep -P vdso /proc/self/maps |cut -d- -f1
done |sort |uniq -d

used to produce lots of output (1445 lines on my most recent run).
A tiny subset looks like this:

7fffdfffe000
7fffe01fe000
7fffe05fe000
7fffe07fe000
7fffe09fe000
7fffe0bfe000
7fffe0dfe000

Note the suspicious fe000 endings.  With the fix, I get a much more
palatable 76 repeated addresses.

Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Andy Lutomirski <luto@amacapital.net>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 arch/x86/vdso/vma.c | 45 +++++++++++++++++++++++++++++----------------
 1 file changed, 29 insertions(+), 16 deletions(-)

diff --git a/arch/x86/vdso/vma.c b/arch/x86/vdso/vma.c
index 5a5176de8d0a..3ae68edd8c52 100644
--- a/arch/x86/vdso/vma.c
+++ b/arch/x86/vdso/vma.c
@@ -54,12 +54,17 @@ subsys_initcall(init_vdso);
 
 struct linux_binprm;
 
-/* Put the vdso above the (randomized) stack with another randomized offset.
-   This way there is no hole in the middle of address space.
-   To save memory make sure it is still in the same PTE as the stack top.
-   This doesn't give that many random bits.
-
-   Only used for the 64-bit and x32 vdsos. */
+/*
+ * Put the vdso above the (randomized) stack with another randomized
+ * offset.  This way there is no hole in the middle of address space.
+ * To save memory make sure it is still in the same PTE as the stack
+ * top.  This doesn't give that many random bits.
+ *
+ * Note that this algorithm is imperfect: the distribution of the vdso
+ * start address within a PMD is biased toward the end.
+ *
+ * Only used for the 64-bit and x32 vdsos.
+ */
 static unsigned long vdso_addr(unsigned long start, unsigned len)
 {
 #ifdef CONFIG_X86_32
@@ -67,22 +72,30 @@ static unsigned long vdso_addr(unsigned long start, unsigned len)
 #else
 	unsigned long addr, end;
 	unsigned offset;
-	end = (start + PMD_SIZE - 1) & PMD_MASK;
+
+	/*
+	 * Round up the start address.  It can start out unaligned as a result
+	 * of stack start randomization.
+	 */
+	start = PAGE_ALIGN(start);
+
+	/* Round the lowest possible end address up to a PMD boundary. */
+	end = (start + len + PMD_SIZE - 1) & PMD_MASK;
 	if (end >= TASK_SIZE_MAX)
 		end = TASK_SIZE_MAX;
 	end -= len;
-	/* This loses some more bits than a modulo, but is cheaper */
-	offset = get_random_int() & (PTRS_PER_PTE - 1);
-	addr = start + (offset << PAGE_SHIFT);
-	if (addr >= end)
-		addr = end;
+
+	if (end > start) {
+		offset = get_random_int() % (((end - start) >> PAGE_SHIFT) + 1);
+		addr = start + (offset << PAGE_SHIFT);
+	} else {
+		addr = start;
+	}
 
 	/*
-	 * page-align it here so that get_unmapped_area doesn't
-	 * align it wrongfully again to the next page. addr can come in 4K
-	 * unaligned here as a result of stack start randomization.
+	 * Forcibly align the final address in case we have a hardware
+	 * issue that requires alignment for performance reasons.
 	 */
-	addr = PAGE_ALIGN(addr);
 	addr = align_vdso_addr(addr);
 
 	return addr;
-- 
2.1.4


  parent reply	other threads:[~2015-01-27 12:16 UTC|newest]

Thread overview: 127+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-27 12:15 [3.16.y-ckt stable] Linux 3.16.7-ckt5 stable review Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 001/126] spi: sh-msiof: Add runtime PM lock in initializing Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 002/126] drm/i915: Don't call intel_prepare_page_flip() multiple times on gen2-4 Luis Henriques
2015-01-27 12:15 ` Luis Henriques [this message]
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 004/126] drm/nv4c/mc: disable msi Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 005/126] ASoC: dwc: Ensure FIFOs are flushed to prevent channel swap Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 006/126] x86, vdso: Use asm volatile in __getcpu Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 007/126] video/logo: prevent use of logos after they have been freed Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 008/126] video/fbdev: fix defio's fsync Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 009/126] Add USB_EHCI_EXYNOS to multi_v7_defconfig Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 010/126] SCSI: fix regression in scsi_send_eh_cmnd() Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 011/126] Btrfs: don't delay inode ref updates during log replay Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 012/126] net: ethernet: cpsw: fix hangs with interrupts Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 013/126] ALSA: hda - Fix wrong gpio_dir & gpio_mask hint setups for IDT/STAC codecs Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 014/126] drm/radeon: KV has three PPLLs (v2) Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 015/126] drm/radeon: fix sad_count check for dce3 Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 016/126] drm/radeon: properly filter DP1.2 4k modes on non-DP1.2 hw Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 017/126] drm/radeon: adjust default bapm settings for KV Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 018/126] ACPI / PM: Fix PM initialization for devices that are not present Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 019/126] mm: propagate error from stack expansion even for guard page Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 020/126] ALSA: hda - Add new GPU codec ID 0x10de0072 to snd-hda Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 021/126] vfio-pci: Fix the check on pci device type in vfio_pci_probe() Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 022/126] rpc: fix xdr_truncate_encode to handle buffer ending on page boundary Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 023/126] arm64/efi: add missing call to early_ioremap_reset() Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 024/126] exit: fix race between wait_consider_task() and wait_task_zombie() Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 025/126] mm: prevent endless growth of anon_vma hierarchy Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 026/126] mm: protect set_page_dirty() from ongoing truncation Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 027/126] mm, vmscan: prevent kswapd livelock due to pfmemalloc-throttled process being killed Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 028/126] sched/deadline: Fix migration of SCHED_DEADLINE tasks Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 029/126] sched/deadline: Avoid double-accounting in case of missed deadlines Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 030/126] HID: roccat: potential out of bounds in pyra_sysfs_write_settings() Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 031/126] mm: Don't count the stack guard page towards RLIMIT_STACK Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 032/126] mm: fix corner case in anon_vma endless growing prevention Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 033/126] xen/arm/arm64: introduce xen_arch_need_swiotlb Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 034/126] perf session: Do not fail on processing out of order event Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 035/126] fsnotify: next_i is freed during fsnotify_unmount_inodes Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 036/126] drivers/rtc/rtc-isl12057.c: fix masking of register values Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 037/126] ASoC: eukrea-tlv320: Fix of_node_put() call with uninitialized object Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 038/126] HID: i2c-hid: Do not free buffers in i2c_hid_stop() Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 039/126] ALSA: fireworks: fix an endianness bug for transaction length Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 040/126] mtd: nand: omap: Fix NAND enumeration on 3430 LDP Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 041/126] ocfs2: fix the wrong directory passed to ocfs2_lookup_ino_from_name() when link file Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 042/126] powerpc: Fix bad NULL pointer check in udbg_uart_getc_poll() Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 043/126] HID: add battery quirk for USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ISO keyboard Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 044/126] ALSA: hda - using uninitialized data Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 045/126] nilfs2: fix the nilfs_iget() vs. nilfs_new_inode() races Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 046/126] scripts/kernel-doc: don't eat struct members with __aligned Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 047/126] ARM: dts: DRA7: wdt: Fix compatible property for watchdog node Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 048/126] ARM: dts: Enable PWM node by default for s3c64xx Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 049/126] ARM: OMAP4: PM: Only do static dependency configuration in omap4_init_static_deps Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 050/126] Revert "ARM: 7830/1: delay: don't bother reporting bogomips in /proc/cpuinfo" Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 051/126] HID: Add a new id 0x501a for Genius MousePen i608X Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 052/126] netfilter: ipset: small potential read beyond the end of buffer Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 053/126] bridge: fix netfilter/NF_BR_LOCAL_OUT for own, locally generated queries Luis Henriques
2015-01-27 12:15 ` [PATCH 3.16.y-ckt 054/126] bcache: Make sure to pass GFP_WAIT to mempool_alloc() Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 055/126] ACPICA: Add new GPE public interface - acpi_mark_gpe_for_wake Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 056/126] ACPI / scan: No implicit wake notification for buttons Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 057/126] gre: fix the inner mac header in nbma tunnel xmit path Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 058/126] netlink: Always copy on mmap TX Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 059/126] netlink: Don't reorder loads/stores before marking mmap netlink frame as available Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 060/126] in6: fix conflict with glibc Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 061/126] tg3: tg3_disable_ints using uninitialized mailbox value to disable interrupts Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 062/126] batman-adv: Unify fragment size calculation Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 063/126] batman-adv: avoid NULL dereferences and fix if check Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 064/126] net: Fix stacked vlan offload features computation Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 065/126] net: Reset secmark when scrubbing packet Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 066/126] net/core: Handle csum for CHECKSUM_COMPLETE VXLAN forwarding Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 067/126] tcp: Do not apply TSO segment limit to non-TSO packets Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 068/126] xen-netback: fixing the propagation of the transmit shaper timeout Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 069/126] alx: fix alx_poll() Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 070/126] team: avoid possible underflow of count_pending value for notify_peers and mcast_rejoin Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 071/126] enic: fix rx skb checksum Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 072/126] netfilter: conntrack: disable generic tracking for known protocols Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 073/126] xen-netfront: Fix handling packets on compound pages with skb_linearize Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 074/126] xen-netfront: use correct linear area after linearizing an skb Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 075/126] usb: musb: stuff leak of struct usb_hcd Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 076/126] usb: gadget: gadgetfs: Free memory allocated by memdup_user() Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 077/126] usb: gadget: udc: atmel: change setting for DMA Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 078/126] [PATCH] usb: gadget: udc: atmel: fix possible IN hang issue Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 079/126] ARM: imx6q: drop unnecessary semicolon Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 080/126] ARM: clk-imx6q: fix video divider for rev T0 1.0 Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 081/126] ARM: dts: imx25: Fix the SPI1 clocks Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 082/126] USB: cp210x: fix ID for production CEL MeshConnect USB Stick Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 083/126] USB: keyspan: fix null-deref at probe Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 084/126] iwlwifi: mvm: fix Rx with both chains Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 085/126] ARM: imx6sx: Set PLL2 as parent of QSPI clocks Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 086/126] ARM: omap5/dra7xx: Fix frequency typos Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 087/126] ARM: omap5/dra7xx: Enable booting secondary CPU in HYP mode Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 088/126] LOCKD: Fix a race when initialising nlmsvc_timeout Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 089/126] NFSv4.1: Fix client id trunking on Linux Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 090/126] ARM: dts: imx51-babbage: Fix ULPI PHY reset modelling Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 091/126] USB: cp210x: add IDs for CEL USB sticks and MeshWorks devices Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 092/126] vhost-scsi: Add missing virtio-scsi -> TCM attribute conversion Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 093/126] USB: qcserial/option: make AT URCs work for Sierra Wireless MC73xx Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 094/126] ARM: dts: berlin: fix io clk and add missing core clk for BG2Q sdhci2 host Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 095/126] ARM: dts: berlin: add broken-cd and set bus width for eMMC in Marvell DMP DT Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 096/126] ARM: dts: berlin: correct BG2Q's SM GPIO location Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 097/126] xhci: Check if slot is already in default state before moving it there Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 098/126] USB: EHCI: fix initialization bug in iso_stream_schedule() Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 099/126] xhci: Add broken-streams quirk for Fresco Logic FL1000G xhci controllers Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 100/126] uas: Add US_FL_NO_ATA_1X for Seagate devices with usb-id 0bc2:a013 Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 101/126] uas: Add US_FL_NO_REPORT_OPCODES for JMicron JMS566 " Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 102/126] uas: Add US_FL_NO_ATA_1X for 2 more Seagate disk enclosures Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 103/126] OHCI: add a quirk for ULi M5237 blocking on reset Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 104/126] mei: clean reset bit before reset Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 105/126] target: Drop arbitrary maximum I/O size limit Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 106/126] usb: gadget: udc: atmel: fix possible oops when unloading module Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 107/126] USB: console: fix uninitialised ldisc semaphore Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 108/126] USB: console: fix potential use after free Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 109/126] mmc: sdhci-pxav3: fix error handling of sdhci_add_host Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 110/126] mmc: sdhci-pxav3: do the mbus window configuration after enabling clocks Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 111/126] mmc: sdhci: Fix sleep in atomic after inserting SD card Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 112/126] clk: at91: keep slow clk enabled to prevent system hang Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 113/126] clk: berlin: bg2q: remove non-exist "smemc" gate clock Luis Henriques
2015-01-27 12:16 ` [PATCH 3.16.y-ckt 114/126] drivers: net: cpsw: fix multicast flush in dual emac mode Luis Henriques
2015-01-27 12:17 ` [PATCH 3.16.y-ckt 115/126] usb: dwc3: gadget: Fix TRB preparation during SG Luis Henriques
2015-01-27 12:17 ` [PATCH 3.16.y-ckt 116/126] usb: dwc3: gadget: Stop TRB preparation after limit is reached Luis Henriques
2015-01-27 12:17 ` [PATCH 3.16.y-ckt 117/126] ftrace/jprobes/x86: Fix conflict between jprobes and function graph tracing Luis Henriques
2015-01-27 12:17 ` [PATCH 3.16.y-ckt 118/126] reset: sunxi: fix spinlock initialization Luis Henriques
2015-01-27 12:17 ` [PATCH 3.16.y-ckt 119/126] clk: Don't try to use a struct clk* after it could have been freed Luis Henriques
2015-01-27 12:17 ` [PATCH 3.16.y-ckt 120/126] tcm_loop: Fixup tag handling Luis Henriques
2015-01-27 12:17 ` [PATCH 3.16.y-ckt 121/126] net: prevent of emerging cross-namespace symlinks Luis Henriques
2015-01-27 12:17 ` [PATCH 3.16.y-ckt 122/126] net: fix creation adjacent device symlinks Luis Henriques
2015-01-27 12:17 ` [PATCH 3.16.y-ckt 123/126] drm/i915: Evict CS TLBs between batches Luis Henriques
2015-01-27 12:17 ` [PATCH 3.16.y-ckt 124/126] Revert "swiotlb-xen: pass dev_addr to swiotlb_tbl_unmap_single" Luis Henriques
2015-01-27 12:17 ` [PATCH 3.16.y-ckt 125/126] ARM: dts: dra7-evm: fix qspi device tree partition size Luis Henriques
2015-01-27 12:17 ` [PATCH 3.16.y-ckt 126/126] ARM: shmobile: sh73a0 legacy: Set .control_parent for all irqpin instances 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=1422361031-19364-4-git-send-email-luis.henriques@canonical.com \
    --to=luis.henriques@canonical.com \
    --cc=kernel-team@lists.ubuntu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@amacapital.net \
    --cc=stable@vger.kernel.org \
    --subject='Re: [PATCH 3.16.y-ckt 003/126] x86_64, vdso: Fix the vdso address randomization algorithm' \
    /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

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).