/* * cisreg.h * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * The initial developer of the original code is David A. Hinds * . Portions created by David A. Hinds * are Copyright (C) 1999 David A. Hinds. All Rights Reserved. * * (C) 1999 David A. Hinds */ #ifndef _LINUX_CISREG_H #define _LINUX_CISREG_H /* * Offsets from ConfigBase for CIS registers */ #define CISREG_COR 0x00 #define CISREG_CCSR 0x02 #define CISREG_PRR 0x04 #define CISREG_SCR 0x06 #define CISREG_ESR 0x08 #define CISREG_IOBASE_0 0x0a #define CISREG_IOBASE_1 0x0c #define CISREG_IOBASE_2 0x0e #define CISREG_IOBASE_3 0x10 #define CISREG_IOSIZE 0x12 /* * Configuration Option Register */ #define COR_CONFIG_MASK 0x3f #define COR_MFC_CONFIG_MASK 0x38 #define COR_FUNC_ENA 0x01 #define COR_ADDR_DECODE 0x02 #define COR_IREQ_ENA 0x04 #define COR_LEVEL_REQ 0x40 #define COR_SOFT_RESET 0x80 /* * Card Configuration and Status Register */ #define CCSR_INTR_ACK 0x01 #define CCSR_INTR_PENDING 0x02 #define CCSR_POWER_DOWN 0x04 #define CCSR_AUDIO_ENA 0x08 #define CCSR_IOIS8 0x20 #define CCSR_SIGCHG_ENA 0x40 #define CCSR_CHANGED 0x80 /* * Pin Replacement Register */ #define PRR_WP_STATUS 0x01 #define PRR_READY_STATUS 0x02 #define PRR_BVD2_STATUS 0x04 #define PRR_BVD1_STATUS 0x08 #define PRR_WP_EVENT 0x10 #define PRR_READY_EVENT 0x20 #define PRR_BVD2_EVENT 0x40 #define PRR_BVD1_EVENT 0x80 /* * Socket and Copy Register */ #define SCR_SOCKET_NUM 0x0f #define SCR_COPY_NUM 0x70 /* * Extended Status Register */ #define ESR_REQ_ATTN_ENA 0x01 #define ESR_REQ_ATTN 0x10 /* * CardBus Function Status Registers */ #define CBFN_EVENT 0x00 #define CBFN_MASK 0x04 #define CBFN_STATE 0x08 #define CBFN_FORCE 0x0c /* * These apply to all the CardBus function registers */ #define CBFN_WP 0x0001 #define CBFN_READY 0x0002 #define CBFN_BVD2 0x0004 #define CBFN_BVD1 0x0008 #define CBFN_GWAKE 0x0010 #define CBFN_INTR 0x8000 /* * Extra bits in the Function Event Mask Register */ #define FEMR_BAM_ENA 0x0020 #define FEMR_PWM_ENA 0x0040 #define FEMR_WKUP_MASK 0x4000 /* * Indirect Addressing Registers for Zoomed Video: these are addresses * in common memory space */ #define CISREG_ICTRL0 0x02 /* control registers */ #define CISREG_ICTRL1 0x03 #define CISREG_IADDR0 0x04 /* address registers */ #define CISREG_IADDR1 0x05 #define CISREG_IADDR2 0x06 #define CISREG_IADDR3 0x07 #define CISREG_IDATA0 0x08 /* data registers */ #define CISREG_IDATA1 0x09 #define ICTRL0_COMMON 0x01 #define ICTRL0_AUTOINC 0x02 #define ICTRL0_BYTEGRAN 0x04 #endif /* _LINUX_CISREG_H */ t/tools/testing/selftests/powerpc
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/testing/selftests/powerpc
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/testing/selftests/powerpc')