Re: [PATCH] qxl: fix null-pointer crash during suspend

From: Fubo Chen
Date: Mon Oct 01 2018 - 16:14:16 EST


On Tue, Sep 4, 2018 at 2:10 PM Peter Wu <peter@xxxxxxxxxxxxx> wrote:
>
> "crtc->helper_private" is not initialized by the QXL driver and thus the
> "crtc_funcs->disable" call would crash (resulting in suspend failure).
> Fix this by converting the suspend/resume functions to use the
> drm_mode_config_helper_* helpers.
>
> Tested system sleep with QEMU 3.0 using "echo mem > /sys/power/state".
> During suspend the following message is visible from QEMU:
>
> spice/server/display-channel.c:2425:display_channel_validate_surface: canvas address is 0x7fd05da68308 for 0 (and is NULL)
> spice/server/display-channel.c:2426:display_channel_validate_surface: failed on 0
>
> This seems to be triggered by QXL_IO_NOTIFY_CMD after
> QXL_IO_DESTROY_PRIMARY_ASYNC, but aside from the warning things still
> seem to work (tested with both the GTK and -spice options).
>
> Signed-off-by: Peter Wu <peter@xxxxxxxxxxxxx>

Is this a new issue or something that was introduced a long time ago?
In the latter case, please consider adding a "Cc:
<stable@xxxxxxxxxxxxxxx>" tag to this patch.

Thanks,

Fubo.