--- /dev/null
+From jsperbeck@google.com Tue Oct 31 15:13:57 2023
+From: John Sperbeck <jsperbeck@google.com>
+Date: Sat, 28 Oct 2023 18:41:31 +0000
+Subject: objtool/x86: add missing embedded_insn check
+To: gregkh@linuxfoundation.org
+Cc: bp@alien8.de, jpoimboe@kernel.org, patches@lists.linux.dev, peterz@infradead.org, stable@vger.kernel.org, jsperbeck@google.com
+Message-ID: <20231028184131.2103810-1-jsperbeck@google.com>
+
+From: John Sperbeck <jsperbeck@google.com>
+
+When dbf460087755 ("objtool/x86: Fixup frame-pointer vs rethunk")
+was backported to some stable branches, the check for dest->embedded_insn
+in is_special_call() was missed. The result is that the warning it
+was intended to suppress still appears. For example on 6.1 (on kernels
+before 6.1, the '-s' argument would instead be 'check'):
+
+$ tools/objtool/objtool -s arch/x86/lib/retpoline.o
+arch/x86/lib/retpoline.o: warning: objtool: srso_untrain_ret+0xd:
+ call without frame pointer save/setup
+
+With this patch, the warning is correctly suppressed, and the
+kernel still passes the normal Google kernel developer tests.
+
+Signed-off-by: John Sperbeck <jsperbeck@google.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ tools/objtool/check.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/tools/objtool/check.c
++++ b/tools/objtool/check.c
+@@ -2478,7 +2478,7 @@ static bool is_special_call(struct instr
+ if (!dest)
+ return false;
+
+- if (dest->fentry)
++ if (dest->fentry || dest->embedded_insn)
+ return true;
+ }
+