1. 24 Sep, 2019 4 commits
    • Andrei Dulea's avatar
      iommu/amd: Unmap all L7 PTEs when downgrading page-sizes · cc449541
      Andrei Dulea authored
      When replacing a large mapping created with page-mode 7 (i.e.
      non-default page size), tear down the entire series of replicated PTEs.
      Besides providing access to the old mapping, another thing that might go
      wrong with this issue is on the fetch_pte() code path that can return a
      PDE entry of the newly re-mapped range.
      
      While at it, make sure that we flush the TLB in case alloc_pte() fails
      and returns NULL at a lower level.
      
      Fixes: 6d568ef9 ("iommu/amd: Allow downgrading page-sizes in alloc_pte()")
      Signed-off-by: default avatarAndrei Dulea <adulea@amazon.de>
      cc449541
    • Andrei Dulea's avatar
      iommu/amd: Introduce first_pte_l7() helper · 7f1f1683
      Andrei Dulea authored
      Given an arbitrary pte that is part of a large mapping, this function
      returns the first pte of the series (and optionally the mapped size and
      number of PTEs)
      It will be re-used in a subsequent patch to replace an existing L7
      mapping.
      
      Fixes: 6d568ef9 ("iommu/amd: Allow downgrading page-sizes in alloc_pte()")
      Signed-off-by: default avatarAndrei Dulea <adulea@amazon.de>
      7f1f1683
    • Andrei Dulea's avatar
      iommu/amd: Fix downgrading default page-sizes in alloc_pte() · 6ccb72f8
      Andrei Dulea authored
      Downgrading an existing large mapping to a mapping using smaller
      page-sizes works only for the mappings created with page-mode 7 (i.e.
      non-default page size).
      
      Treat large mappings created with page-mode 0 (i.e. default page size)
      like a non-present mapping and allow to overwrite it in alloc_pte().
      
      While around, make sure that we flush the TLB only if we change an
      existing mapping, otherwise we might end up acting on garbage PTEs.
      
      Fixes: 6d568ef9 ("iommu/amd: Allow downgrading page-sizes in alloc_pte()")
      Signed-off-by: default avatarAndrei Dulea <adulea@amazon.de>
      6ccb72f8
    • Andrei Dulea's avatar
      iommu/amd: Fix pages leak in free_pagetable() · 34c0989c
      Andrei Dulea authored
      Take into account the gathered freelist in free_sub_pt(), otherwise we
      end up leaking all that pages.
      
      Fixes: 409afa44 ("iommu/amd: Introduce free_sub_pt() function")
      Signed-off-by: default avatarAndrei Dulea <adulea@amazon.de>
      34c0989c
  2. 11 Sep, 2019 8 commits
  3. 08 Sep, 2019 4 commits
  4. 07 Sep, 2019 4 commits
  5. 06 Sep, 2019 18 commits
  6. 05 Sep, 2019 2 commits
    • Hillf Danton's avatar
      keys: Fix missing null pointer check in request_key_auth_describe() · d41a3eff
      Hillf Danton authored
      If a request_key authentication token key gets revoked, there's a window in
      which request_key_auth_describe() can see it with a NULL payload - but it
      makes no check for this and something like the following oops may occur:
      
      	BUG: Kernel NULL pointer dereference at 0x00000038
      	Faulting instruction address: 0xc0000000004ddf30
      	Oops: Kernel access of bad area, sig: 11 [#1]
      	...
      	NIP [...] request_key_auth_describe+0x90/0xd0
      	LR [...] request_key_auth_describe+0x54/0xd0
      	Call Trace:
      	[...] request_key_auth_describe+0x54/0xd0 (unreliable)
      	[...] proc_keys_show+0x308/0x4c0
      	[...] seq_read+0x3d0/0x540
      	[...] proc_reg_read+0x90/0x110
      	[...] __vfs_read+0x3c/0x70
      	[...] vfs_read+0xb4/0x1b0
      	[...] ksys_read+0x7c/0x130
      	[...] system_call+0x5c/0x70
      
      Fix this by checking for a NULL pointer when describing such a key.
      
      Also make the read routine check for a NULL pointer to be on the safe side.
      
      [DH: Modified to not take already-held rcu lock and modified to also check
       in the read routine]
      
      Fixes: 04c567d9 ("[PATCH] Keys: Fix race between two instantiators of a key")
      Reported-by: default avatarSachin Sant <sachinp@linux.vnet.ibm.com>
      Signed-off-by: default avatarHillf Danton <hdanton@sina.com>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Tested-by: default avatarSachin Sant <sachinp@linux.vnet.ibm.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d41a3eff
    • Linus Torvalds's avatar
      Merge tag 'sound-5.3-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · a3f5e1f5
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "A collection of small HD-audio fixes:
      
         - A regression fix for Realtek codecs due to the recent
           initialization procedure change
      
         - A fix for potential endless loop at the quirk table lookup
      
         - Quirks for Lenovo, ASUS and HP machines"
      
      * tag 'sound-5.3-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda/realtek - Fix the problem of two front mics on a ThinkCentre
        ALSA: hda/realtek - Enable internal speaker & headset mic of ASUS UX431FL
        ALSA: hda/realtek - Add quirk for HP Pavilion 15
        ALSA: hda/realtek - Fix overridden device-specific initialization
        ALSA: hda - Fix potential endless loop at applying quirks
      a3f5e1f5