1. 25 9月, 2013 1 次提交
  2. 24 9月, 2013 1 次提交
    • C
      drm/i915: Use a temporary va_list for two-pass string handling · e29bb4eb
      Chris Wilson 提交于
      In
      
      commit edc3d884
      Author: Mika Kuoppala <mika.kuoppala@linux.intel.com>
      Date:   Thu May 23 13:55:35 2013 +0300
      
          drm/i915: avoid big kmallocs on reading error state
      
      we introduce a two-pass mechanism for splitting long strings being
      formatted into the error-state. The first pass finds the length, and the
      second pass emits the right portion of the string into the accumulation
      buffer. Unfortunately we use the same va_list for both passes, resulting
      in the second pass reading garbage off the end of the argument list. As
      the two passes are only used for boundaries between read() calls, the
      corruption is only rarely seen.
      
      This fixes the root cause behind
      
      commit baf27f9b
      Author: Chris Wilson <chris@chris-wilson.co.uk>
      Date:   Sat Jun 29 23:26:50 2013 +0100
      
          drm/i915: Break up the large vsnprintf() in print_error_buffers()
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Mika Kuoppala <mika.kuoppala@intel.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: stable@vger.kernel.org
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      e29bb4eb
  3. 20 9月, 2013 1 次提交
  4. 19 9月, 2013 3 次提交
    • D
      drm/fb-helper: don't sleep for screen unblank when an oops is in progress · 928c2f0c
      Daniel Vetter 提交于
      Otherwise the system will burn even brighter and worse, leave the user
      wondering what's going on exactly.
      
      Since we already have a panic handler which will (try) to restore the
      entire fbdev console mode, we can just bail out.  Inspired by a patch from
      Konstantin Khlebnikov.  The callchain leading to this, cut&pasted from
      Konstantin's original patch:
      
      callstack:
      panic()
      bust_spinlocks(1)
      unblank_screen()
      vc->vc_sw->con_blank()
      fbcon_blank()
      fb_blank()
      info->fbops->fb_blank()
      drm_fb_helper_blank()
      drm_fb_helper_dpms()
      drm_modeset_lock_all()
      mutex_lock(&dev->mode_config.mutex)
      
      Note that the entire locking in the fb helper around panic/sysrq and kdbg
      is ...  non-existant.  So we have a decent change of blowing up
      everything.  But since reworking this ties in with funny concepts like the
      fbdev notifier chain or the impressive things which happen around
      console_lock while oopsing, I'll leave that as an exercise for braver
      souls than me.
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Konstantin Khlebnikov <khlebnikov@openvz.org>
      Cc: Dave Airlie <airlied@gmail.com>
      Reviewed-by: NRob Clark <robdclark@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      928c2f0c
    • P
      drm, ttm Fix uninitialized warning · bcf73a10
      Prarit Bhargava 提交于
      Fix uninitialized warning.
      
      drivers/gpu/drm/ttm/ttm_object.c: In function ‘ttm_base_object_lookup’:
      drivers/gpu/drm/ttm/ttm_object.c:213:10: error: ‘base’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
        kref_put(&base->refcount, ttm_release_base);
                ^
      drivers/gpu/drm/ttm/ttm_object.c:221:26: note: ‘base’ was declared here
        struct ttm_base_object *base;
      Signed-off-by: NPrarit Bhargava <prarit@redhat.com>
      Reviewed-by: NRob Clark <robdclark@gmail.com>
      Reviewed-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      bcf73a10
    • B
      drm/ttm: fix the tt_populated check in ttm_tt_destroy() · 182b17c8
      Ben Skeggs 提交于
      After a vmalloc failure in ttm_dma_tt_alloc_page_directory(),
      ttm_dma_tt_init() will call ttm_tt_destroy() to cleanup, and end up
      inside the driver's unpopulate() hook when populate() has never yet
      been called.
      
      On nouveau, the first issue to be hit because of this is that
      dma_address[] may be a NULL pointer.  After working around this,
      ttm_pool_unpopulate() may potentially hit the same issue with
      the pages[] array.
      
      It seems to make more sense to avoid calling unpopulate on already
      unpopulated TTMs than to add checks to all the implementations.
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      Reviewed-by: NThomas Hellstrom <thellstrom@vmware.com>
      Cc: stable@vger.kernel.org
      Cc: Jerome Glisse <jglisse@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      182b17c8
  5. 18 9月, 2013 2 次提交
  6. 17 9月, 2013 4 次提交
  7. 16 9月, 2013 14 次提交
  8. 13 9月, 2013 1 次提交
  9. 12 9月, 2013 7 次提交
  10. 11 9月, 2013 6 次提交