Re: [4.2.0-rc1-00201-g59c3cb5] Regression: kernel NULL pointer dereference

Linus Torvalds
2015-07-12T16:52:53Z

On Sun, Jul 12, 2015 at 1:03 AM, Jörg Otte <jrg.otte@gmail.com> wrote:
>
> BUG: unable to handle kernel NULL pointer dereference at 0000000000000009
> IP: [<ffffffffbd3447bb>] 0xffffffffbd3447bb

Ugh. Please enable KALLSYMS to get sane symbols.

But yes, "crtc_state->base.active" is at offset 9 from "crtc_state",
so it's pretty clearly just that change frm

- if (intel_crtc->active) {
+ if (crtc_state->base.active) {

and "crtc_state" is NULL.

And the code very much knows that crtc_state can be NULL, since it's
initialized with

crtc_state = state->base.state ?
intel_atomic_get_crtc_state(state->base.state,
intel_crtc) : NULL;

Tssk. Daniel? Should I just revert that commit dec4f799d0a4
("drm/i915: Use crtc_state->active in primary check_plane func") for
now, or is there a better fix? Like just checking crtc_state for NULL?

Linus