/* * Copyright (c) 2015 Vladimir Zapolskiy * * This code is released using a dual license strategy: BSD/GPL * You can choose the licence that better fits your requirements. * * Released under the terms of 3-clause BSD License * Released under the terms of GNU General Public License Version 2.0 * */ #ifndef __DT_BINDINGS_LPC32XX_CLOCK_H #define __DT_BINDINGS_LPC32XX_CLOCK_H /* LPC32XX System Control Block clocks */ #define LPC32XX_CLK_RTC 1 #define LPC32XX_CLK_DMA 2 #define LPC32XX_CLK_MLC 3 #define LPC32XX_CLK_SLC 4 #define LPC32XX_CLK_LCD 5 #define LPC32XX_CLK_MAC 6 #define LPC32XX_CLK_SD 7 #define LPC32XX_CLK_DDRAM 8 #define LPC32XX_CLK_SSP0 9 #define LPC32XX_CLK_SSP1 10 #define LPC32XX_CLK_UART3 11 #define LPC32XX_CLK_UART4 12 #define LPC32XX_CLK_UART5 13 #define LPC32XX_CLK_UART6 14 #define LPC32XX_CLK_IRDA 15 #define LPC32XX_CLK_I2C1 16 #define LPC32XX_CLK_I2C2 17 #define LPC32XX_CLK_TIMER0 18 #define LPC32XX_CLK_TIMER1 19 #define LPC32XX_CLK_TIMER2 20 #define LPC32XX_CLK_TIMER3 21 #define LPC32XX_CLK_TIMER4 22 #define LPC32XX_CLK_TIMER5 23 #define LPC32XX_CLK_WDOG 24 #define LPC32XX_CLK_I2S0 25 #define LPC32XX_CLK_I2S1 26 #define LPC32XX_CLK_SPI1 27 #define LPC32XX_CLK_SPI2 28 #define LPC32XX_CLK_MCPWM 29 #define LPC32XX_CLK_HSTIMER 30 #define LPC32XX_CLK_KEY 31 #define LPC32XX_CLK_PWM1 32 #define LPC32XX_CLK_PWM2 33 #define LPC32XX_CLK_ADC 34 #define LPC32XX_CLK_HCLK_PLL 35 #define LPC32XX_CLK_PERIPH 36 /* LPC32XX USB clocks */ #define LPC32XX_USB_CLK_I2C 1 #define LPC32XX_USB_CLK_DEVICE 2 #define LPC32XX_USB_CLK_HOST 3 #endif /* __DT_BINDINGS_LPC32XX_CLOCK_H */ 41ab588'>refslogtreecommitdiff
path: root/net/lapb/lapb_timer.c
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2017-01-26 16:39:55 +0100
committerIngo Molnar <mingo@kernel.org>2017-01-30 11:41:25 +0100
commita76a82a3e38c8d3fb6499e3dfaeb0949241ab588 (patch)
treeb5bc906278fe1ac66d75de984d26bf59b43b3ed8 /net/lapb/lapb_timer.c
parent566cf877a1fcb6d6dc0126b076aad062054c2637 (diff)
perf/core: Fix use-after-free bug
Dmitry reported a KASAN use-after-free on event->group_leader. It turns out there's a hole in perf_remove_from_context() due to event_function_call() not calling its function when the task associated with the event is already dead. In this case the event will have been detached from the task, but the grouping will have been retained, such that group operations might still work properly while there are live child events etc. This does however mean that we can miss a perf_group_detach() call when the group decomposes, this in turn can then lead to use-after-free. Fix it by explicitly doing the group detach if its still required. Reported-by: Dmitry Vyukov <dvyukov@google.com> Tested-by: Dmitry Vyukov <dvyukov@google.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Arnaldo Carvalho de Melo <acme@kernel.org> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: stable@vger.kernel.org # v4.5+ Cc: syzkaller <syzkaller@googlegroups.com> Fixes: 63b6da39bb38 ("perf: Fix perf_event_exit_task() race") Link: http://lkml.kernel.org/r/20170126153955.GD6515@twins.programming.kicks-ass.net Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'net/lapb/lapb_timer.c')