• S
    ARM: shmobile: lager: do not annotate gpio_buttons as __initdata · a6014693
    Simon Horman 提交于
    When the gpio-keys device is registered using
    platform_device_register_data() the platform data argument,
    lager_keys_pdata is duplicated and thus should be marked as __initdata
    to avoid wasting memory. However, this is not true of gpio_buttons,
    a reference to it rather than its value is duplicated when lager_keys_pdata
    is duplicated.
    
    This avoids accessing freed memory if gpio-key events occur
    after unused kernel memory is freed late in the kernel's boot.
    
    This but was added when support for gpio-keys was added to lager
    in c3842e4f
    ("ARM: shmobile: lager: support GPIO switches") which was included
    in v3.11-rc1.
    Tested-by: NMagnus Damm <damm@opensource.se>
    Signed-off-by: NSimon Horman <horms+renesas@verge.net.au>
    a6014693
board-lager.c 3.2 KB