Atomicity in KMS panic notifier

From: Takashi Iwai
Date: Mon May 05 2014 - 09:02:15 EST


Hi,

while debugging a few reported bugs, I noticed that
drm_fb_helper_force_kernel_mode() that is called in the KMS panic
notifier isn't really atomic-safe. It invokes crtc's set_config(),
and all implementations seem to involve with page allocations (kmalloc
with GFP_KERNEL, via some ttm ops, etc). I've actually seen the Oops
with cirrus KMS during panic due to this.

Does anyone have an idea to fix this? I thought of re-using
drm_fb_helper_debug_enter(), but this won't work with many drivers
that don't have crtc->mode_set_base_atomic(), either (yeah, this is
another bug).


thanks,

Takashi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/