• Bastian Stender's avatar
    mmc: block: fix updating ext_csd caches on ioctl call · a0e95766
    Bastian Stender authored
    
    
    PARTITION_CONFIG is cached in mmc_card->ext_csd.part_config and the
    currently active partition in mmc_blk_data->part_curr. These caches do
    not always reflect changes if the ioctl call modifies the
    PARTITION_CONFIG registers, e.g. by changing BOOT_PARTITION_ENABLE.
    
    Write the PARTITION_CONFIG value extracted from the ioctl call to the
    cache and update the currently active partition accordingly. This
    ensures that the user space cannot change the values behind the
    kernel's back. The next call to mmc_blk_part_switch() will operate on
    the data set by the ioctl and reflect the changes appropriately.
    Signed-off-by: default avatarBastian Stender <bst@pengutronix.de>
    Signed-off-by: default avatarJan Luebbe <jlu@pengutronix.de>
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    a0e95766
block.c 75.1 KB