Message ID | 20210531153922.4683-1-shawn.c.lee@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [i-g-t] tests/kms_dp_dsc: Avoid SIGSEGV when release DRM connector. | expand |
On Mon, May 31, 2021 at 11:34 AM Lee Shawn C <shawn.c.lee@intel.com> wrote: > > Got SIGSEGV fault while running kms_dp_dsc test but did not > connect DP DSC capable monitor on eDP/DP port. This test daemon > should "SKIP" test without any problem. We found kms_dp_dsc > can't get proper drmModeConnector and caused this SIGSEGV fault > when release it. Make sure drmModeConnector is available before > free it can avoid this issue. > Tested on ChromeOS on TGL (Delbin) and JSL (Drawlat). Tested-by: Mark Yacoub <markyacoub@chromium.org> > Signed-off-by: Lee Shawn C <shawn.c.lee@intel.com> > --- > tests/kms_dp_dsc.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/tests/kms_dp_dsc.c b/tests/kms_dp_dsc.c > index 2446fd82bba3..ea7c9f4f72ce 100644 > --- a/tests/kms_dp_dsc.c > +++ b/tests/kms_dp_dsc.c > @@ -262,7 +262,7 @@ igt_main > data_t data = {}; > igt_output_t *output; > drmModeRes *res; > - drmModeConnector *connector; > + drmModeConnector *connector = NULL; > int i, test_conn_cnt, test_cnt; > int tests[] = {DRM_MODE_CONNECTOR_eDP, DRM_MODE_CONNECTOR_DisplayPort}; > > @@ -311,7 +311,8 @@ igt_main > } > > igt_fixture { > - drmModeFreeConnector(connector); > + if (connector) > + drmModeFreeConnector(connector); > drmModeFreeResources(res); > close(data.debugfs_fd); > close(data.drm_fd); > -- > 2.17.1 >
On Fri, Jun 4, 2021 at 2:48 PM Mark Yacoub <markyacoub@chromium.org> wrote: > > On Mon, May 31, 2021 at 11:34 AM Lee Shawn C <shawn.c.lee@intel.com> wrote: > > > > Got SIGSEGV fault while running kms_dp_dsc test but did not > > connect DP DSC capable monitor on eDP/DP port. This test daemon > > should "SKIP" test without any problem. We found kms_dp_dsc > > can't get proper drmModeConnector and caused this SIGSEGV fault > > when release it. Make sure drmModeConnector is available before > > free it can avoid this issue. > > > Tested on ChromeOS on TGL (Delbin) and JSL (Drawlat). Tested on ChromeOS AMD (Zork) with Kernel 5.4 > Tested-by: Mark Yacoub <markyacoub@chromium.org> > > Signed-off-by: Lee Shawn C <shawn.c.lee@intel.com> > > --- > > tests/kms_dp_dsc.c | 5 +++-- > > 1 file changed, 3 insertions(+), 2 deletions(-) > > > > diff --git a/tests/kms_dp_dsc.c b/tests/kms_dp_dsc.c > > index 2446fd82bba3..ea7c9f4f72ce 100644 > > --- a/tests/kms_dp_dsc.c > > +++ b/tests/kms_dp_dsc.c > > @@ -262,7 +262,7 @@ igt_main > > data_t data = {}; > > igt_output_t *output; > > drmModeRes *res; > > - drmModeConnector *connector; > > + drmModeConnector *connector = NULL; > > int i, test_conn_cnt, test_cnt; > > int tests[] = {DRM_MODE_CONNECTOR_eDP, DRM_MODE_CONNECTOR_DisplayPort}; > > > > @@ -311,7 +311,8 @@ igt_main > > } > > > > igt_fixture { > > - drmModeFreeConnector(connector); > > + if (connector) > > + drmModeFreeConnector(connector); > > drmModeFreeResources(res); > > close(data.debugfs_fd); > > close(data.drm_fd); > > -- > > 2.17.1 > >
On Mon, May 31, 2021 at 11:39:22PM +0800, Lee Shawn C wrote: > Got SIGSEGV fault while running kms_dp_dsc test but did not > connect DP DSC capable monitor on eDP/DP port. This test daemon > should "SKIP" test without any problem. We found kms_dp_dsc > can't get proper drmModeConnector and caused this SIGSEGV fault > when release it. Make sure drmModeConnector is available before > free it can avoid this issue. > > Signed-off-by: Lee Shawn C <shawn.c.lee@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com> > --- > tests/kms_dp_dsc.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/tests/kms_dp_dsc.c b/tests/kms_dp_dsc.c > index 2446fd82bba3..ea7c9f4f72ce 100644 > --- a/tests/kms_dp_dsc.c > +++ b/tests/kms_dp_dsc.c > @@ -262,7 +262,7 @@ igt_main > data_t data = {}; > igt_output_t *output; > drmModeRes *res; > - drmModeConnector *connector; > + drmModeConnector *connector = NULL; > int i, test_conn_cnt, test_cnt; > int tests[] = {DRM_MODE_CONNECTOR_eDP, DRM_MODE_CONNECTOR_DisplayPort}; > > @@ -311,7 +311,8 @@ igt_main > } > > igt_fixture { > - drmModeFreeConnector(connector); > + if (connector) > + drmModeFreeConnector(connector); > drmModeFreeResources(res); > close(data.debugfs_fd); > close(data.drm_fd); > -- > 2.17.1 > > _______________________________________________ > igt-dev mailing list > igt-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/igt-dev
diff --git a/tests/kms_dp_dsc.c b/tests/kms_dp_dsc.c index 2446fd82bba3..ea7c9f4f72ce 100644 --- a/tests/kms_dp_dsc.c +++ b/tests/kms_dp_dsc.c @@ -262,7 +262,7 @@ igt_main data_t data = {}; igt_output_t *output; drmModeRes *res; - drmModeConnector *connector; + drmModeConnector *connector = NULL; int i, test_conn_cnt, test_cnt; int tests[] = {DRM_MODE_CONNECTOR_eDP, DRM_MODE_CONNECTOR_DisplayPort}; @@ -311,7 +311,8 @@ igt_main } igt_fixture { - drmModeFreeConnector(connector); + if (connector) + drmModeFreeConnector(connector); drmModeFreeResources(res); close(data.debugfs_fd); close(data.drm_fd);
Got SIGSEGV fault while running kms_dp_dsc test but did not connect DP DSC capable monitor on eDP/DP port. This test daemon should "SKIP" test without any problem. We found kms_dp_dsc can't get proper drmModeConnector and caused this SIGSEGV fault when release it. Make sure drmModeConnector is available before free it can avoid this issue. Signed-off-by: Lee Shawn C <shawn.c.lee@intel.com> --- tests/kms_dp_dsc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)