Skip to content
  • Gustavo A. R. Silva's avatar
    atm: iphase: Fix Spectre v1 vulnerability · ea443e5e
    Gustavo A. R. Silva authored
    board is controlled by user-space, hence leading to a potential
    exploitation of the Spectre variant 1 vulnerability.
    
    This issue was detected with the help of Smatch:
    
    drivers/atm/iphase.c:2765 ia_ioctl() warn: potential spectre issue 'ia_dev' [r] (local cap)
    drivers/atm/iphase.c:2774 ia_ioctl() warn: possible spectre second half.  'iadev'
    drivers/atm/iphase.c:2782 ia_ioctl() warn: possible spectre second half.  'iadev'
    drivers/atm/iphase.c:2816 ia_ioctl() warn: possible spectre second half.  'iadev'
    drivers/atm/iphase.c:2823 ia_ioctl() warn: possible spectre second half.  'iadev'
    drivers/atm/iphase.c:2830 ia_ioctl() warn: potential spectre issue '_ia_dev' [r] (local cap)
    drivers/atm/iphase.c:2845 ia_ioctl() warn: possible spectre second half.  'iadev'
    drivers/atm/iphase.c:2856 ia_ioctl() warn: possible spectre second half.  'iadev'
    
    Fix this by sanitizing board before using it to index ia_dev and _ia_dev
    
    Notice that given that speculation windows are large, the policy is
    to kill the speculation on the first load and not worry if it can be
    completed with a dependent load/store [1].
    
    [1] https://lore.kernel.org/lkml/20180423164740.GY17484@dhcp22.suse.cz/
    
    
    
    Signed-off-by: default avatarGustavo A. R. Silva <gustavo@embeddedor.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ea443e5e