Skip to contentSkip to conversation

FAILED: patch "[PATCH] drm/simpledrm: Fix return type of" failed to apply to 6.0-stable tree

PATCH [email protected] 2 participants 3 messages Oct 16, 2022 – Oct 18, 2022

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 6.0-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

Possible dependencies:

f9929f69de94 ("drm/simpledrm: Fix return type of simpledrm_simple_display_pipe_mode_valid()")

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From f9929f69de94212f98b3ad72a3e81c3bd3d333e0 Mon Sep 17 00:00:00 2001
From: Nathan Chancellor <[email protected]>
Date: Mon, 25 Jul 2022 16:36:29 -0700
Subject: [PATCH] drm/simpledrm: Fix return type of
simpledrm_simple_display_pipe_mode_valid()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When booting a kernel compiled with clang's CFI protection (CONFIG_CFI_CLANG), there is a CFI failure in drm_simple_kms_crtc_mode_valid() when trying to call simpledrm_simple_display_pipe_mode_valid() through ->mode_valid():

[    0.322802] CFI failure (target: simpledrm_simple_display_pipe_mode_valid+0x0/0x8):
...
[    0.324928] Call trace:
[    0.324969]  __ubsan_handle_cfi_check_fail+0x58/0x60
[    0.325053]  __cfi_check_fail+0x3c/0x44
[    0.325120]  __cfi_slowpath_diag+0x178/0x200
[    0.325192]  drm_simple_kms_crtc_mode_valid+0x58/0x80
[    0.325279]  __drm_helper_update_and_validate+0x31c/0x464

...

The ->mode_valid() member in 'struct drm_simple_display_pipe_funcs' expects a return type of 'enum drm_mode_status', not 'int'. Correct it to fix the CFI failure.

drivers/gpu/drm/tiny/simpledrm.c +1 -1
index 768242a78e2b..5422363690e7 100644
@@ -627,7 +627,7 @@ static const struct drm_connector_funcs simpledrm_connector_funcs = {
 	.atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
 };
 
-static int
+static enum drm_mode_status
 simpledrm_simple_display_pipe_mode_valid(struct drm_simple_display_pipe *pipe,
 				    const struct drm_display_mode *mode)
 {
#1 lore raw
Quoted 14 lines · On Sun, Oct 16, 2022 at 06:12:03PM +0200, [email protected] wrote:

The patch below does not apply to the 6.0-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

Possible dependencies:

f9929f69de94 ("drm/simpledrm: Fix return type of simpledrm_simple_display_pipe_mode_valid()")

thanks,

greg k-h

Quoted 7 lines

------------------ original commit in Linus's tree ------------------

From f9929f69de94212f98b3ad72a3e81c3bd3d333e0 Mon Sep 17 00:00:00 2001
From: Nathan Chancellor <[email protected]>
Date: Mon, 25 Jul 2022 16:36:29 -0700
Subject: [PATCH] drm/simpledrm: Fix return type of
simpledrm_simple_display_pipe_mode_valid()

Just for the record, this change is already in the stable trees it is relevant for, as it was a part of 5.19:

5.19 and 6.0: 0c09bc33aa8e ("drm/simpledrm: Fix return type of simpledrm_simple_display_pipe_mode_valid()") 5.15: 11c1cc3f6e42 ("drm/simpledrm: Fix return type of simpledrm_simple_display_pipe_mode_valid()")

I am not sure how a second copy (f9929f69de94) ended up in the tree during the 6.1 cycle, I am guessing it was cherry picked to a development branch from a fixes branch, rather than backmerged.

TL;DR: Nothing for stable to do here.

Cheers,
Nathan

author maintainer
#2 lore raw
Quoted 26 lines · Nathan Chancellor
Quoted 14 lines · On Sun, Oct 16, 2022 at 06:12:03PM +0200, [email protected] wrote:

The patch below does not apply to the 6.0-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

Possible dependencies:

f9929f69de94 ("drm/simpledrm: Fix return type of simpledrm_simple_display_pipe_mode_valid()")

thanks,

greg k-h

Quoted 7 lines

------------------ original commit in Linus's tree ------------------

From f9929f69de94212f98b3ad72a3e81c3bd3d333e0 Mon Sep 17 00:00:00 2001
From: Nathan Chancellor <[email protected]>
Date: Mon, 25 Jul 2022 16:36:29 -0700
Subject: [PATCH] drm/simpledrm: Fix return type of
simpledrm_simple_display_pipe_mode_valid()

Just for the record, this change is already in the stable trees it is relevant for, as it was a part of 5.19:

Quoted 8 lines

5.19 and 6.0: 0c09bc33aa8e ("drm/simpledrm: Fix return type of simpledrm_simple_display_pipe_mode_valid()") 5.15: 11c1cc3f6e42 ("drm/simpledrm: Fix return type of simpledrm_simple_display_pipe_mode_valid()")

I am not sure how a second copy (f9929f69de94) ended up in the tree during the 6.1 cycle, I am guessing it was cherry picked to a development branch from a fixes branch, rather than backmerged.

TL;DR: Nothing for stable to do here.

Thanks, that's how the drm tree works, they like to have multiple copies of patches in the tree in places...

thanks,

greg k-h