Public bug reported:

SRU template

[ 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

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: linux (Ubuntu Noble)
     Importance: Undecided
         Status: New

** Description changed:

  SRU template
  
  [ 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
+  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"
-     }
-   }
+   "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 ]
+ [ 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
- 
+   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.
+ 
+ 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

** Also affects: linux (Ubuntu Noble)
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2127971

Title:
  Ubuntu x86_64 6.8 kernels won't build if CONFIG_FB_HYPERV config
  option is enabled

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2127971/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to