1. 16 3月, 2018 2 次提交
    • L
      drm/nouveau/bl: Fix oops on driver unbind · 76f2e2bc
      Lukas Wunner 提交于
      Unbinding nouveau on a dual GPU MacBook Pro oopses because we iterate
      over the bl_connectors list in nouveau_backlight_exit() but skipped
      initializing it in nouveau_backlight_init().  Stacktrace for posterity:
      
          BUG: unable to handle kernel NULL pointer dereference at 0000000000000010
          IP: nouveau_backlight_exit+0x2b/0x70 [nouveau]
          nouveau_display_destroy+0x29/0x80 [nouveau]
          nouveau_drm_unload+0x65/0xe0 [nouveau]
          drm_dev_unregister+0x3c/0xe0 [drm]
          drm_put_dev+0x2e/0x60 [drm]
          nouveau_drm_device_remove+0x47/0x70 [nouveau]
          pci_device_remove+0x36/0xb0
          device_release_driver_internal+0x157/0x220
          driver_detach+0x39/0x70
          bus_remove_driver+0x51/0xd0
          pci_unregister_driver+0x2a/0xa0
          nouveau_drm_exit+0x15/0xfb0 [nouveau]
          SyS_delete_module+0x18c/0x290
          system_call_fast_compare_end+0xc/0x6f
      
      Fixes: b53ac1ee ("drm/nouveau/bl: Do not register interface if Apple GMUX detected")
      Cc: stable@vger.kernel.org # v4.10+
      Cc: Pierre Moreau <pierre.morrow@free.fr>
      Signed-off-by: NLukas Wunner <lukas@wunner.de>
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      76f2e2bc
    • M
      drm/nouveau/mmu: ALIGN_DOWN correct variable · da5e45e6
      Māris Nartišs 提交于
      Commit 7110c89bb8852ff8b0f88ce05b332b3fe22bd11e ("mmu: swap out round
      for ALIGN") replaced two calls to round/rounddown with ALIGN/ALIGN_DOWN,
      but erroneously applied ALIGN_DOWN to a different variable (addr) and left
      intended variable (tail) not rounded/ALIGNed.
      
      As a result screen corruption, X lockups are observable. An example of kernel
      log of affected system with NV98 card where it was bisected:
      
      nouveau 0000:01:00.0: gr: TRAP_M2MF 00000002 [IN]
      nouveau 0000:01:00.0: gr: TRAP_M2MF 00320951 400007c0 00000000 04000000
      nouveau 0000:01:00.0: gr: 00200000 [] ch 1 [000fbbe000 DRM] subc 4 class 5039
      mthd 0100 data 00000000
      nouveau 0000:01:00.0: fb: trapped read at 0040000000 on channel 1
      [0fbbe000 DRM]
      engine 00 [PGRAPH] client 03 [DISPATCH] subclient 04 [M2M_IN] reason 00000006
      [NULL_DMAOBJ]
      
      Fixes bug 105173 ("[MCP79][Regression] Unhandled NULL pointer dereference in
      nvkm_object_unmap since kernel 4.15")
      https://bugs.freedesktop.org/show_bug.cgi?id=105173
      
      Fixes: 7110c89bb885 ("mmu: swap out round for ALIGN ")
      Tested-by: NPierre Moreau <pierre.morrow@free.fr>
      Reviewed-by: NPierre Moreau <pierre.morrow@free.fr>
      Signed-off-by: NMaris Nartiss <maris.nartiss@gmail.com>
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      Cc: stable@vger.kernel.org # v4.15+
      da5e45e6
  2. 16 2月, 2018 1 次提交
  3. 02 2月, 2018 19 次提交
  4. 01 2月, 2018 2 次提交
  5. 31 1月, 2018 1 次提交
  6. 25 1月, 2018 4 次提交
  7. 23 1月, 2018 4 次提交
  8. 20 1月, 2018 1 次提交
  9. 19 1月, 2018 5 次提交
  10. 18 1月, 2018 1 次提交