1. 30 Mar, 2018 1 commit
    • Mauricio Faria de Oliveira's avatar
      powerpc/pseries: Fix clearing of security feature flags · 0f9bdfe3
      Mauricio Faria de Oliveira authored
      The H_CPU_BEHAV_* flags should be checked for in the 'behaviour' field
      of 'struct h_cpu_char_result' -- 'character' is for H_CPU_CHAR_*
      flags.
      
      Found by playing around with QEMU's implementation of the hypercall:
      
        H_CPU_CHAR=0xf000000000000000
        H_CPU_BEHAV=0x0000000000000000
      
        This clears H_CPU_BEHAV_FAVOUR_SECURITY and H_CPU_BEHAV_L1D_FLUSH_PR
        so pseries_setup_rfi_flush() disables 'rfi_flush'; and it also
        clears H_CPU_CHAR_L1D_THREAD_PRIV flag. So there is no RFI flush
        mitigation at all for cpu_show_meltdown() to report; but currently
        it does:
      
        Original kernel:
      
          # cat /sys/devices/system/cpu/vulnerabilities/meltdown
          Mitigation: RFI Flush
      
        Patched kernel:
      
          # cat /sys/devices/system/cpu/vulnerabilities/meltdown
          Not affected
      
        H_CPU_CHAR=0x0000000000000000
        H_CPU_BEHAV=0xf000000000000000
      
        This sets H_CPU_BEHAV_BNDS_CHK_SPEC_BAR so cpu_show_spectre_v1() should
        report vulnerable; but currently it doesn't:
      
        Original kernel:
      
          # cat /sys/devices/system/cpu/vulnerabilities/spectre_v1
          Not affected
      
        Patched kernel:
      
          # cat /sys/devices/system/cpu/vulnerabilities/spectre_v1
          Vulnerable
      Brown-paper-bag-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Fixes: f636c147 ("powerpc/pseries: Set or clear security feature flags")
      Signed-off-by: default avatarMauricio Faria de Oliveira <mauricfo@linux.vnet.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      0f9bdfe3
  2. 28 Mar, 2018 1 commit
    • Michael Ellerman's avatar
      Merge branch 'fixes' into next · 95dff480
      Michael Ellerman authored
      Merge our fixes branch from the 4.16 cycle.
      
      There were a number of important fixes merged, in particular some Power9
      workarounds that we want in next for testing purposes. There's also been
      some conflicting changes in the CPU features code which are best merged
      and tested before going upstream.
      95dff480
  3. 27 Mar, 2018 38 commits