/* * This header provides constants specific to DM814X pinctrl bindings. */ #ifndef _DT_BINDINGS_PINCTRL_DM814X_H #define _DT_BINDINGS_PINCTRL_DM814X_H #include #undef INPUT_EN #undef PULL_UP #undef PULL_ENA /* * Note that dm814x silicon revision 2.1 and older require input enabled * (bit 18 set) for all 3.3V I/Os to avoid cumulative hardware damage. For * more info, see errata advisory 2.1.87. We leave bit 18 out of * function-mask in dm814x.h and rely on the bootloader for it. */ #define INPUT_EN (1 << 18) #define PULL_UP (1 << 17) #define PULL_DISABLE (1 << 16) /* update macro depending on INPUT_EN and PULL_ENA */ #undef PIN_OUTPUT #undef PIN_OUTPUT_PULLUP #undef PIN_OUTPUT_PULLDOWN #undef PIN_INPUT #undef PIN_INPUT_PULLUP #undef PIN_INPUT_PULLDOWN #define PIN_OUTPUT (PULL_DISABLE) #define PIN_OUTPUT_PULLUP (PULL_UP) #define PIN_OUTPUT_PULLDOWN 0 #define PIN_INPUT (INPUT_EN | PULL_DISABLE) #define PIN_INPUT_PULLUP (INPUT_EN | PULL_UP) #define PIN_INPUT_PULLDOWN (INPUT_EN) /* undef non-existing modes */ #undef PIN_OFF_NONE #undef PIN_OFF_OUTPUT_HIGH #undef PIN_OFF_OUTPUT_LOW #undef PIN_OFF_INPUT_PULLUP #undef PIN_OFF_INPUT_PULLDOWN #undef PIN_OFF_WAKEUPENABLE #endif acket-loop-back'>packet-loop-back net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
path: root/tools/perf/tests/sample-parsing.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 /tools/perf/tests/sample-parsing.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 'tools/perf/tests/sample-parsing.c')