--- /dev/null
+From 207da4c82ade9a6d59f7e794d737ba0748613fa2 Mon Sep 17 00:00:00 2001
+From: Masahiro Yamada <masahiroy@kernel.org>
+Date: Sat, 27 Feb 2021 23:20:23 +0900
+Subject: kbuild: Fix <linux/version.h> for empty SUBLEVEL or PATCHLEVEL again
+
+From: Masahiro Yamada <masahiroy@kernel.org>
+
+commit 207da4c82ade9a6d59f7e794d737ba0748613fa2 upstream.
+
+Commit 78d3bb4483ba ("kbuild: Fix <linux/version.h> for empty SUBLEVEL
+or PATCHLEVEL") fixed the build error for empty SUBLEVEL or PATCHLEVEL
+by prepending a zero.
+
+Commit 9b82f13e7ef3 ("kbuild: clamp SUBLEVEL to 255") re-introduced
+this issue.
+
+This time, we cannot take the same approach because we have C code:
+
+ #define LINUX_VERSION_PATCHLEVEL $(PATCHLEVEL)
+ #define LINUX_VERSION_SUBLEVEL $(SUBLEVEL)
+
+Replace empty SUBLEVEL/PATCHLEVEL with a zero.
+
+Fixes: 9b82f13e7ef3 ("kbuild: clamp SUBLEVEL to 255")
+Reported-by: Christian Zigotzky <chzigotzky@xenosoft.de>
+Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
+Reviewed-and-tested-by: Sasha Levin <sashal@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ Makefile | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/Makefile
++++ b/Makefile
+@@ -1249,15 +1249,17 @@ endef
+ define filechk_version.h
+ if [ $(SUBLEVEL) -gt 255 ]; then \
+ echo \#define LINUX_VERSION_CODE $(shell \
+- expr $(VERSION) \* 65536 + 0$(PATCHLEVEL) \* 256 + 255); \
++ expr $(VERSION) \* 65536 + $(PATCHLEVEL) \* 256 + 255); \
+ else \
+ echo \#define LINUX_VERSION_CODE $(shell \
+- expr $(VERSION) \* 65536 + 0$(PATCHLEVEL) \* 256 + $(SUBLEVEL)); \
++ expr $(VERSION) \* 65536 + $(PATCHLEVEL) \* 256 + $(SUBLEVEL)); \
+ fi; \
+ echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + \
+ ((c) > 255 ? 255 : (c)))'
+ endef
+
++$(version_h): PATCHLEVEL := $(if $(PATCHLEVEL), $(PATCHLEVEL), 0)
++$(version_h): SUBLEVEL := $(if $(SUBLEVEL), $(SUBLEVEL), 0)
+ $(version_h): FORCE
+ $(call filechk,version.h)
+ $(Q)rm -f $(old_version_h)