[WATCHDOG] Semi-typical watchdog bug re early misc_register()
It seems that some watchdog drivers are doing following mistake: rv = misc_register(); if (rv < 0) return rv; rv = request_region(); if (rv < 0) { misc_deregister(); return rv; } But, right after misc_register() returns, misc device can be opened and ioctls interacting with hardware issued, and driver can do outb() to port it doesn't own yet, because request_region() is still pending. Here is my patch, compile-tested only. Signed-off-by:Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by:
Wim Van Sebroeck <wim@iguana.be>
Showing
- drivers/char/watchdog/cpu5wdt.c 7 additions, 7 deletionsdrivers/char/watchdog/cpu5wdt.c
- drivers/char/watchdog/eurotechwdt.c 11 additions, 11 deletionsdrivers/char/watchdog/eurotechwdt.c
- drivers/char/watchdog/ibmasr.c 5 additions, 6 deletionsdrivers/char/watchdog/ibmasr.c
- drivers/char/watchdog/machzwd.c 9 additions, 9 deletionsdrivers/char/watchdog/machzwd.c
- drivers/char/watchdog/sbc8360.c 14 additions, 14 deletionsdrivers/char/watchdog/sbc8360.c
Please register or sign in to comment