[SRU][N][PATCH 0/1] fbdev: Introduce devm_register_framebuffer()
marcin.wilk at canonical.com
marcin.wilk at canonical.com
Sun Oct 19 11:19:07 UTC 2025
From: Marcin Wilk <marcin.wilk at canonical.com>
BugLink: https://bugs.launchpad.net/bugs/2127971
SRU Justification:
[ Impact ]
Ubuntu x86_64 6.8 kernels won't build if CONFIG_FB_HYPERV config option is enabled (m/y). The build process fails with the following error:
drivers/video/fbdev/hyperv_fb.c: In function ‘hvfb_probe’:
drivers/video/fbdev/hyperv_fb.c:1195:15: error: implicit declaration of function ‘devm_register_framebuffer’; did you mean ‘unregister_framebuffer’? [-Werror=implicit-function-declaration]
1195 | ret = devm_register_framebuffer(&hdev->device, info);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| unregister_framebuffer
CC lib/objpool.o
CC [M] sound/pci/emu10k1/io.o
cc1: some warnings being treated as errors
make[5]: *** [scripts/Makefile.build:243: drivers/video/fbdev/hyperv_fb.o] Error 1
make[4]: *** [scripts/Makefile.build:481: drivers/video/fbdev] Error 2
make[3]: *** [scripts/Makefile.build:481: drivers/video] Error 2
make[2]: *** [scripts/Makefile.build:481: drivers] Error 2
The reason is that in the 6.8 Ubuntu kernel source, commit f26c2008d5bd6d (cherry pick from upstream ea2f45ab0e53b255) introduced call to 'devm_register_framebuffer', but there is missing an upstream commit 929c81ade6355b, which provides the implementation for 'devm_register_framebuffer'. This SRU adds the missing upstream commit 929c81ade6355b to the 6.8 Ubuntu kernel source.
This issue hasn't been noticed because, by default, the CONFIG_FB_HYPERV is disabled for Ubuntu kernel builds:
./debian/scripts/misc/annotations --query --config CONFIG_FB_HYPERV
{
"CONFIG_FB_HYPERV": {
"policy": {
"amd64": "n",
"arm64": "n"
}
}
}
[ Test Plan ]
With the patch applied to the Noble kernel source:
1. enable the CONFIG_FB_HYPERV
echo 'CONFIG_FB_HYPERV=m' > ~/test-config
./debian/scripts/misc/annotations --arch amd64 --flavour generic --update ~/test-config
2. clean and confirm the change
fakeroot debian/rules clean updateconfigs
./debian/scripts/misc/annotations --query --config CONFIG_FB_HYPERV
3. build the kernel
fakeroot debian/rules clean binary-generic
The kernel will build without any errors. Without the patch, it would fail with the aforementioned error.
[ Where problems could occur]
Regression risk is low because:
1. Impact is limited to the builds (and kernels built) with CONFIG_FB_HYPERV enabled. This option is disabled by default for Ubuntu.
2. The patch has already landed in more recent Ubuntu kernels, ie 6.14 HWE, and it's been there for a while:
git branch -a --contains 929c81ade6355b
contains
remotes/origin/hwe-6.14-next
remotes/origin/hwe-6.14-next--2025.06.16-1--auto
remotes/origin/hwe-6.14-next--2025.06.16-3--auto
remotes/origin/hwe-6.14-next--2025.06.16-6--auto
remotes/origin/hwe-6.14-next--2025.07.14-1--auto
remotes/origin/hwe-6.14-next--2025.07.14-3--auto
remotes/origin/hwe-6.14-next--2025.08.11-1--auto
remotes/origin/hwe-6.14-next--2025.09.15-1--auto
remotes/origin/hwe-6.14-next--2025.10.13-1--auto
remotes/origin/hwe-6.14-next--s2025.05.19-1--auto
remotes/origin/hwe-6.14-next--s2025.06.16-1--auto
remotes/origin/hwe-6.14-next--s2025.06.16-3--auto
remotes/origin/hwe-6.14-next--s2025.07.14-1--auto
remotes/origin/hwe-6.14-next--s2025.08.11-1--auto
remotes/origin/hwe-6.14-next--s2025.09.15-1--auto
[ Other Info ]
The problem was identified by a Customer who rebuils the Bluefield [1] kernel for x86_64 with the CONFIG_FB_HYPERV enabled.
[1] https://git.launchpad.net/~canonical-kernel-bluefield/ubuntu/+source/linux-bluefield/+git/noble
Thomas Weißschuh (1):
fbdev: Introduce devm_register_framebuffer()
drivers/video/fbdev/core/fbmem.c | 30 ++++++++++++++++++++++++++++++
include/linux/fb.h | 1 +
2 files changed, 31 insertions(+)
--
2.43.0
More information about the kernel-team
mailing list