[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