]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
goldfish: Sanitize the broken interrupt handler
authorThomas Gleixner <tglx@linutronix.de>
Wed, 15 Feb 2017 10:11:51 +0000 (11:11 +0100)
committerJiri Slaby <jslaby@suse.cz>
Wed, 1 Mar 2017 19:27:48 +0000 (20:27 +0100)
commit94e5bdac8a29138a96e560a8c8d4607e2d8d9e20
tree5591a2637c722c25391c869f01faccca45d4869a
parent9e8744bdd4fe66c99702e29bceb73294fb4005da
goldfish: Sanitize the broken interrupt handler

commit 6cf18e6927c0b224f972e3042fb85770d63cb9f8 upstream.

This interrupt handler is broken in several ways:

  - It loops forever when the op code is not decodeable

  - It never returns IRQ_HANDLED because the only way to exit the loop
    returns IRQ_NONE unconditionally.

The whole concept of this is broken. Creating devices in an interrupt
handler is beyond any point of sanity.

Make it at least behave halfways sane so accidental users do not have to
deal with a hard to debug lockup.

Fixes: e809c22b8fb028 ("goldfish: add the goldfish virtual bus")
Reported-by: Gabriel C <nix.or.die@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/platform/goldfish/pdev_bus.c