linux-uconsole/arch
Ivan Gorinov cd425208a5 x86/devicetree: Fix device IRQ settings in DT
[ Upstream commit 0a5169add9 ]

IRQ parameters for the SoC devices connected directly to I/O APIC lines
(without PCI IRQ routing) may be specified in the Device Tree.

Called from DT IRQ parser, irq_create_fwspec_mapping() calls
irq_domain_alloc_irqs() with a pointer to irq_fwspec structure as @arg.

But x86-specific DT IRQ allocation code casts @arg to of_phandle_args
structure pointer and crashes trying to read the IRQ parameters. The
function was not converted when the mapping descriptor was changed to
irq_fwspec in the generic irqdomain code.

Fixes: 11e4438ee3 ("irqdomain: Introduce a firmware-specific IRQ specifier structure")
Signed-off-by: Ivan Gorinov <ivan.gorinov@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Rob Herring <robh+dt@kernel.org>
Link: https://lkml.kernel.org/r/a234dee27ea60ce76141872da0d6bdb378b2a9ee.1520450752.git.ivan.gorinov@intel.com
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-05-30 07:49:13 +02:00
..
alpha locking/xchg/alpha: Fix xchg() and cmpxchg() memory ordering bugs 2018-05-30 07:49:01 +02:00
arc ARC: Fix malformed ARC_EMUL_UNALIGNED default 2018-05-30 07:48:58 +02:00
arm arm: dts: socfpga: fix GIC PPI warning 2018-05-30 07:49:11 +02:00
arm64 arm64: spinlock: Fix theoretical trylock() A-B-A with LSE atomics 2018-05-30 07:48:56 +02:00
avr32 avr32: off by one in at32_init_pio() 2016-10-07 15:23:45 +02:00
blackfin pinctrl: adi2: Fix Kconfig build problem 2017-12-20 10:05:00 +01:00
c6x c6x/ptrace: Remove useless PTRACE_SETREGSET implementation 2017-03-31 09:49:53 +02:00
cris cris: Only build flash rescue image if CONFIG_ETRAX_AXISFLASHMAP is selected 2017-01-12 11:22:48 +01:00
frv futex: Remove duplicated code and fix undefined behaviour 2018-05-26 08:48:50 +02:00
h8300 h8300/ptrace: Fix incorrect register transfer count 2017-03-31 09:49:53 +02:00
hexagon futex: Remove duplicated code and fix undefined behaviour 2018-05-26 08:48:50 +02:00
ia64 futex: Remove duplicated code and fix undefined behaviour 2018-05-26 08:48:50 +02:00
m32r m32r: fix __get_user() 2016-09-24 10:07:43 +02:00
m68k m68k: set dma and coherent masks for platform FEC ethernets 2018-05-30 07:49:09 +02:00
metag metag/uaccess: Check access_ok in strncpy_from_user 2017-05-25 14:30:16 +02:00
microblaze futex: Remove duplicated code and fix undefined behaviour 2018-05-26 08:48:50 +02:00
mips MIPS: ath79: Fix AR724X_PLL_REG_PCIE_CONFIG offset 2018-05-30 07:49:12 +02:00
mn10300 mn10300/misalignment: Use SIGSEGV SEGV_MAPERR to report a failed user copy 2018-02-16 20:09:47 +01:00
nios2 nios2: reserve boot memory for device tree 2017-04-12 12:38:34 +02:00
openrisc signal/openrisc: Fix do_unaligned_access to send the proper signal 2018-02-16 20:09:46 +01:00
parisc futex: Remove duplicated code and fix undefined behaviour 2018-05-26 08:48:50 +02:00
powerpc powerpc: Add missing prototype for arch_irq_work_raise() 2018-05-30 07:49:12 +02:00
s390 s390: use expoline thunks in the BPF JIT 2018-05-26 08:48:59 +02:00
score score: fix copy_from_user() and friends 2016-09-24 10:07:44 +02:00
sh sh: fix debug trap failure to process signals before return to user 2018-05-30 07:49:07 +02:00
sparc sparc64: Make atomic_xchg() an inline function rather than a macro. 2018-05-30 07:49:08 +02:00
tile futex: Remove duplicated code and fix undefined behaviour 2018-05-26 08:48:50 +02:00
um um: Use POSIX ucontext_t instead of struct ucontext 2018-04-24 09:32:08 +02:00
unicore32 pwm: Changes for v4.4-rc1 2015-11-11 09:16:10 -08:00
x86 x86/devicetree: Fix device IRQ settings in DT 2018-05-30 07:49:13 +02:00
xtensa futex: Remove duplicated code and fix undefined behaviour 2018-05-26 08:48:50 +02:00
.gitignore
Kconfig