From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Lyude <cpaul@redhat.com>
Cc: stable@vger.kernel.org, Daniel Vetter <daniel.vetter@intel.com>,
Jani Nikula <jani.nikula@linux.intel.com>,
David Airlie <airlied@linux.ie>,
"open list:INTEL DRM DRIVERS (excluding Poulsbo, Moorestow...),
dri-devel@lists.freedesktop.org (open list:INTEL DRM DRIVERS
(excluding Poulsbo, Moorestow...),
linux-kernel@vger.kernel.org (open list))"
<intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH 3/4] drm/i915: Discard previous atomic state on resume if connectors change
Date: Sat, 4 Jun 2016 13:46:39 -0700 [thread overview]
Message-ID: <20160604204639.GA21443@kroah.com> (raw)
In-Reply-To: <1464713347-28982-4-git-send-email-cpaul@redhat.com>
On Tue, May 31, 2016 at 12:49:06PM -0400, Lyude wrote:
> If an MST device is disconnected while the machine is suspended, the
> number of connectors will change as well after we call
> intel_dp_mst_resume(). This means that any previous atomic state we had
> before suspending is no longer valid, since it'll still be pointing to
> missing connectors. We need to check for this before committing the
> state, otherwise we'll kernel panic on resume whenever if any MST
> display was disconnected before we started resuming:
>
> BUG: unable to handle kernel NULL pointer dereference at 0000000000000008
> IP: [<ffffffffa01588ef>] drm_atomic_helper_check_modeset+0x29f/0xb40 [drm_kms_helper]
> Call Trace:
> [<ffffffffa02354f4>] intel_atomic_check+0x34/0x1180 [i915]
> [<ffffffff810e6c3f>] ? mark_held_locks+0x6f/0xa0
> [<ffffffff810e6d99>] ? trace_hardirqs_on_caller+0x129/0x1b0
> [<ffffffffa00ff1d2>] drm_atomic_check_only+0x192/0x620 [drm]
> [<ffffffff813ee001>] ? pci_pm_thaw+0x21/0x90
> [<ffffffffa00ff677>] drm_atomic_commit+0x17/0x60 [drm]
> [<ffffffffa023e0ad>] intel_display_resume+0xbd/0x160 [i915]
> [<ffffffff813ee070>] ? pci_pm_thaw+0x90/0x90
> [<ffffffffa01b60d8>] i915_drm_resume+0xd8/0x160 [i915]
> [<ffffffffa01b6185>] i915_pm_resume+0x25/0x30 [i915]
> [<ffffffff813ee0d4>] pci_pm_resume+0x64/0xa0
> [<ffffffff814d9ea0>] dpm_run_callback+0x90/0x190
> [<ffffffff814da455>] device_resume+0xd5/0x1f0
> [<ffffffff814da58d>] async_resume+0x1d/0x50
> [<ffffffff810b6718>] async_run_entry_fn+0x48/0x150
> [<ffffffff810acc19>] process_one_work+0x1e9/0x5c0
> [<ffffffff810acb96>] ? process_one_work+0x166/0x5c0
> [<ffffffff810ad038>] worker_thread+0x48/0x4e0
> [<ffffffff810acff0>] ? process_one_work+0x5c0/0x5c0
> [<ffffffff810b3794>] kthread+0xe4/0x100
> [<ffffffff81742672>] ret_from_fork+0x22/0x50
> [<ffffffff810b36b0>] ? kthread_create_on_node+0x200/0x200
>
> Changes since v1:
> - Move drm_atomic_state_free() call down so we're holding the
> appropriate locks when destroying the atomic state
> Changes since v2:
> - Check that state != NULL before we start accessing it's members
>
> This fix is only required for 4.6 and below. David Airlie's patchseries
> for 4.7 to add connector reference counting provides a more proper fix
> for this.
This doesn't apply to 4.5-stable or 4.4-stable, if you want it there,
can you provide a backported version for me to apply?
thanks,
greg k-h
next prev parent reply other threads:[~2016-06-04 20:46 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-31 16:49 [PATCH 0/4] Important MST fixes for 4.6 Lyude
2016-05-31 16:49 ` [PATCH 1/4] drm/i915/fbdev: Fix num_connector references in intel_fb_initial_config() Lyude
2016-05-31 16:49 ` [PATCH 2/4] drm/fb_helper: Fix references to dev->mode_config.num_connector Lyude
2016-05-31 16:49 ` [PATCH 3/4] drm/i915: Discard previous atomic state on resume if connectors change Lyude
2016-06-04 20:46 ` Greg Kroah-Hartman [this message]
2016-06-04 21:36 ` Patch "drm/i915: Discard previous atomic state on resume if connectors change" has been added to the 4.6-stable tree gregkh
2016-05-31 16:49 ` [PATCH 4/4] drm/atomic: Verify connector->funcs != NULL when clearing states Lyude
2016-06-04 20:54 ` Patch "drm/atomic: Verify connector->funcs != NULL when clearing states" has been added to the 4.4-stable tree gregkh
2016-06-04 21:22 ` Patch "drm/atomic: Verify connector->funcs != NULL when clearing states" has been added to the 4.5-stable tree gregkh
2016-06-04 21:36 ` Patch "drm/atomic: Verify connector->funcs != NULL when clearing states" has been added to the 4.6-stable tree gregkh
2016-05-31 19:10 ` [Intel-gfx] [PATCH 0/4] Important MST fixes for 4.6 Daniel Vetter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160604204639.GA21443@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=airlied@linux.ie \
--cc=cpaul@redhat.com \
--cc=daniel.vetter@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jani.nikula@linux.intel.com \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox