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: Steven Rostedt <rostedt@goodmis.org>,
	Luis Henriques <luis.henriques@canonical.com>
Subject: [PATCH 3.16.y-ckt 117/126] ftrace/jprobes/x86: Fix conflict between jprobes and function graph tracing
Date: Tue, 27 Jan 2015 12:17:02 +0000	[thread overview]
Message-ID: <1422361031-19364-118-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: "Steven Rostedt (Red Hat)" <rostedt@goodmis.org>

commit 237d28db036e411f22c03cfd5b0f6dc2aa9bf3bc upstream.

If the function graph tracer traces a jprobe callback, the system will
crash. This can easily be demonstrated by compiling the jprobe
sample module that is in the kernel tree, loading it and running the
function graph tracer.

 # modprobe jprobe_example.ko
 # echo function_graph > /sys/kernel/debug/tracing/current_tracer
 # ls

The first two commands end up in a nice crash after the first fork.
(do_fork has a jprobe attached to it, so "ls" just triggers that fork)

The problem is caused by the jprobe_return() that all jprobe callbacks
must end with. The way jprobes works is that the function a jprobe
is attached to has a breakpoint placed at the start of it (or it uses
ftrace if fentry is supported). The breakpoint handler (or ftrace callback)
will copy the stack frame and change the ip address to return to the
jprobe handler instead of the function. The jprobe handler must end
with jprobe_return() which swaps the stack and does an int3 (breakpoint).
This breakpoint handler will then put back the saved stack frame,
simulate the instruction at the beginning of the function it added
a breakpoint to, and then continue on.

For function tracing to work, it hijakes the return address from the
stack frame, and replaces it with a hook function that will trace
the end of the call. This hook function will restore the return
address of the function call.

If the function tracer traces the jprobe handler, the hook function
for that handler will not be called, and its saved return address
will be used for the next function. This will result in a kernel crash.

To solve this, pause function tracing before the jprobe handler is called
and unpause it before it returns back to the function it probed.

Some other updates:

Used a variable "saved_sp" to hold kcb->jprobe_saved_sp. This makes the
code look a bit cleaner and easier to understand (various tries to fix
this bug required this change).

Note, if fentry is being used, jprobes will change the ip address before
the function graph tracer runs and it will not be able to trace the
function that the jprobe is probing.

Link: http://lkml.kernel.org/r/20150114154329.552437962@goodmis.org

Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 arch/x86/kernel/kprobes/core.c | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/arch/x86/kernel/kprobes/core.c b/arch/x86/kernel/kprobes/core.c
index 67e6d19ef1be..93d2c04c6f8f 100644
--- a/arch/x86/kernel/kprobes/core.c
+++ b/arch/x86/kernel/kprobes/core.c
@@ -1018,6 +1018,15 @@ int setjmp_pre_handler(struct kprobe *p, struct pt_regs *regs)
 	regs->flags &= ~X86_EFLAGS_IF;
 	trace_hardirqs_off();
 	regs->ip = (unsigned long)(jp->entry);
+
+	/*
+	 * jprobes use jprobe_return() which skips the normal return
+	 * path of the function, and this messes up the accounting of the
+	 * function graph tracer to get messed up.
+	 *
+	 * Pause function graph tracing while performing the jprobe function.
+	 */
+	pause_graph_tracing();
 	return 1;
 }
 NOKPROBE_SYMBOL(setjmp_pre_handler);
@@ -1046,24 +1055,25 @@ int longjmp_break_handler(struct kprobe *p, struct pt_regs *regs)
 	struct kprobe_ctlblk *kcb = get_kprobe_ctlblk();
 	u8 *addr = (u8 *) (regs->ip - 1);
 	struct jprobe *jp = container_of(p, struct jprobe, kp);
+	void *saved_sp = kcb->jprobe_saved_sp;
 
 	if ((addr > (u8 *) jprobe_return) &&
 	    (addr < (u8 *) jprobe_return_end)) {
-		if (stack_addr(regs) != kcb->jprobe_saved_sp) {
+		if (stack_addr(regs) != saved_sp) {
 			struct pt_regs *saved_regs = &kcb->jprobe_saved_regs;
 			printk(KERN_ERR
 			       "current sp %p does not match saved sp %p\n",
-			       stack_addr(regs), kcb->jprobe_saved_sp);
+			       stack_addr(regs), saved_sp);
 			printk(KERN_ERR "Saved registers for jprobe %p\n", jp);
 			show_regs(saved_regs);
 			printk(KERN_ERR "Current registers\n");
 			show_regs(regs);
 			BUG();
 		}
+		/* It's OK to start function graph tracing again */
+		unpause_graph_tracing();
 		*regs = kcb->jprobe_saved_regs;
-		memcpy((kprobe_opcode_t *)(kcb->jprobe_saved_sp),
-		       kcb->jprobes_stack,
-		       MIN_STACK_SIZE(kcb->jprobe_saved_sp));
+		memcpy(saved_sp, kcb->jprobes_stack, MIN_STACK_SIZE(saved_sp));
 		preempt_enable_no_resched();
 		return 1;
 	}
-- 
2.1.4


  parent reply	other threads:[~2015-01-27 12:23 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 ` [PATCH 3.16.y-ckt 003/126] x86_64, vdso: Fix the vdso address randomization algorithm Luis Henriques
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 ` Luis Henriques [this message]
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-118-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=rostedt@goodmis.org \
    --cc=stable@vger.kernel.org \
    --subject='Re: [PATCH 3.16.y-ckt 117/126] ftrace/jprobes/x86: Fix conflict between jprobes and function graph tracing' \
    /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).