OSDN Git Service

ACPI / watchdog: properly initialize resources
authorArnd Bergmann <arnd@arndb.de>
Mon, 18 Sep 2017 23:49:02 +0000 (01:49 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 18 Sep 2017 23:49:02 +0000 (01:49 +0200)
commit6ce14f6416c84bd9c81777edf899b57ac5000c87
tree53c1bf49a789953b69d5612d39f64e4715f993cf
parent2bd6bf03f4c1c59381d62c61d03f6cc3fe71f66e
ACPI / watchdog: properly initialize resources

We copy a local resource structure into a list, but only
initialize some of its members, as pointed out by gcc-4.4:

drivers/acpi/acpi_watchdog.c: In function 'acpi_watchdog_init':
drivers/acpi/acpi_watchdog.c:105: error: 'res.child' may be used uninitialized in this function
drivers/acpi/acpi_watchdog.c:105: error: 'res.sibling' may be used uninitialized in this function
drivers/acpi/acpi_watchdog.c:105: error: 'res.parent' may be used uninitialized in this function
drivers/acpi/acpi_watchdog.c:105: error: 'res.desc' may be used uninitialized in this function
drivers/acpi/acpi_watchdog.c:105: error: 'res.name' may be used uninitialized in this function

Newer compilers can presumably optimize the uninitialized access
away entirely and don't warn at all, but rely on the kzalloc()
to zero the structure first. This adds an explicit initialization
to force consistent behavior.

Fixes: 058dfc767008 (ACPI / watchdog: Add support for WDAT hardware watchdog)
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpi_watchdog.c