Public bug reported:
[ Impact ]
DKMS make.log for linux-apfs-rw-0.3.2-0ubuntu6.1 for kernel 6.17.0-7-generic
(x86_64)
Wed Nov 26 18:36:47 UTC 2025
make: Entering directory '/usr/src/linux-headers-6.17.0-7-generic'
make[1]: Entering directory '/var/lib/dkms/linux-apfs-rw/0.3.2-0ubuntu6.1/build'
warning: the compiler differs from the one used to build the kernel
The kernel was built by: x86_64-linux-gnu-gcc-13 (Ubuntu
13.3.0-6ubuntu2~24.04) 13.3.0
You are using: gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
CC [M] btree.o
CC [M] compress.o
CC [M] dir.o
CC [M] extents.o
In file included from dir.c:8:
apfs.h:952:60: warning: ‘struct fileattr’ declared inside parameter list will
not be visible outside of this definition or declaration
952 | extern int apfs_fileattr_get(struct dentry *dentry, struct fileattr
*fa);
| ^~~~~~~~
apfs.h:953:85: warning: ‘struct fileattr’ declared inside parameter list will
not be visible outside of this definition or declaration
953 | extern int apfs_fileattr_set(struct mnt_idmap *idmap, struct dentry
*dentry, struct fileattr *fa);
|
^~~~~~~~
In file included from extents.c:8:
apfs.h:952:60: warning: ‘struct fileattr’ declared inside parameter list will
not be visible outside of this definition or declaration
952 | extern int apfs_fileattr_get(struct dentry *dentry, struct fileattr
*fa);
| ^~~~~~~~
apfs.h:953:85: warning: ‘struct fileattr’ declared inside parameter list will
not be visible outside of this definition or declaration
953 | extern int apfs_fileattr_set(struct mnt_idmap *idmap, struct dentry
*dentry, struct fileattr *fa);
|
^~~~~~~~
In file included from btree.c:8:
apfs.h:952:60: warning: ‘struct fileattr’ declared inside parameter list will
not be visible outside of this definition or declaration
952 | extern int apfs_fileattr_get(struct dentry *dentry, struct fileattr
*fa);
| ^~~~~~~~
apfs.h:953:85: warning: ‘struct fileattr’ declared inside parameter list will
not be visible outside of this definition or declaration
953 | extern int apfs_fileattr_set(struct mnt_idmap *idmap, struct dentry
*dentry, struct fileattr *fa);
|
^~~~~~~~
In file included from compress.c:10:
apfs.h:952:60: warning: ‘struct fileattr’ declared inside parameter list will
not be visible outside of this definition or declaration
952 | extern int apfs_fileattr_get(struct dentry *dentry, struct fileattr
*fa);
| ^~~~~~~~
apfs.h:953:85: warning: ‘struct fileattr’ declared inside parameter list will
not be visible outside of this definition or declaration
953 | extern int apfs_fileattr_set(struct mnt_idmap *idmap, struct dentry
*dentry, struct fileattr *fa);
|
^~~~~~~~
CC [M] file.o
CC [M] inode.o
CC [M] key.o
CC [M] libzbitmap.o
In file included from file.c:6:
apfs.h:952:60: warning: ‘struct fileattr’ declared inside parameter list will
not be visible outside of this definition or declaration
952 | extern int apfs_fileattr_get(struct dentry *dentry, struct fileattr
*fa);
| ^~~~~~~~
apfs.h:953:85: warning: ‘struct fileattr’ declared inside parameter list will
not be visible outside of this definition or declaration
953 | extern int apfs_fileattr_set(struct mnt_idmap *idmap, struct dentry
*dentry, struct fileattr *fa);
|
^~~~~~~~
CC [M] lzfse/lzfse_decode.o
In file included from inode.c:11:
apfs.h:952:60: warning: ‘struct fileattr’ declared inside parameter list will
not be visible outside of this definition or declaration
952 | extern int apfs_fileattr_get(struct dentry *dentry, struct fileattr
*fa);
| ^~~~~~~~
apfs.h:953:85: warning: ‘struct fileattr’ declared inside parameter list will
not be visible outside of this definition or declaration
953 | extern int apfs_fileattr_set(struct mnt_idmap *idmap, struct dentry
*dentry, struct fileattr *fa);
|
^~~~~~~~
file.c: In function ‘apfs_page_mkwrite’:
file.c:57:9: error: implicit declaration of function ‘wait_for_stable_page’
[-Werror=implicit-function-declaration]
57 | wait_for_stable_page(page);
| ^~~~~~~~~~~~~~~~~~~~
file.c:63:14: error: implicit declaration of function ‘page_has_buffers’; did
you mean ‘inode_has_buffers’? [-Werror=implicit-function-declaration]
63 | if (!page_has_buffers(page))
| ^~~~~~~~~~~~~~~~
| inode_has_buffers
file.c:81:17: error: ‘struct page’ has no member named ‘index’
81 | if (page->index == size >> PAGE_SHIFT)
| ^~
file.c: At top level:
file.c:207:27: error: initialization of ‘int (*)(struct dentry *, struct
file_kattr *)’ from incompatible pointer type ‘int (*)(struct dentry *, struct
fileattr *)’ [-Werror=incompatible-pointer-types]
207 | .fileattr_get = apfs_fileattr_get,
| ^~~~~~~~~~~~~~~~~
file.c:207:27: note: (near initialization for
‘apfs_file_inode_operations.fileattr_get’)
file.c:208:27: error: initialization of ‘int (*)(struct mnt_idmap *, struct
dentry *, struct file_kattr *)’ from incompatible pointer type ‘int (*)(struct
mnt_idmap *, struct dentry *, struct fileattr *)’
[-Werror=incompatible-pointer-types]
208 | .fileattr_set = apfs_fileattr_set,
| ^~~~~~~~~~~~~~~~~
file.c:208:27: note: (near initialization for
‘apfs_file_inode_operations.fileattr_set’)
cc1: some warnings being treated as errors
make[3]: ***
[/usr/src/linux-headers-6.17.0-7-generic/scripts/Makefile.build:287: file.o]
Error 1
make[3]: *** Waiting for unfinished jobs....
inode.c: In function ‘__apfs_write_begin’:
inode.c:517:16: error: implicit declaration of function
‘grab_cache_page_write_begin’ [-Werror=implicit-function-declaration]
517 | page = grab_cache_page_write_begin(mapping, index);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
inode.c:517:14: warning: assignment to ‘struct page *’ from ‘int’ makes pointer
from integer without a cast [-Wint-conversion]
517 | page = grab_cache_page_write_begin(mapping, index);
| ^
In file included from key.c:7:
apfs.h:952:60: warning: ‘struct fileattr’ declared inside parameter list will
not be visible outside of this definition or declaration
952 | extern int apfs_fileattr_get(struct dentry *dentry, struct fileattr
*fa);
| ^~~~~~~~
apfs.h:953:85: warning: ‘struct fileattr’ declared inside parameter list will
not be visible outside of this definition or declaration
953 | extern int apfs_fileattr_set(struct mnt_idmap *idmap, struct dentry
*dentry, struct fileattr *fa);
|
^~~~~~~~
inode.c:524:14: error: implicit declaration of function ‘page_has_buffers’; did
you mean ‘inode_has_buffers’? [-Werror=implicit-function-declaration]
524 | if (!page_has_buffers(page))
| ^~~~~~~~~~~~~~~~
| inode_has_buffers
inode.c: In function ‘__apfs_write_end’:
inode.c:657:33: error: passing argument 1 of ‘generic_write_end’ from
incompatible pointer type [-Werror=incompatible-pointer-types]
657 | ret = generic_write_end(file, mapping, pos, len, copied,
page_folio(page), fsdata);
| ^~~~
| |
| struct file *
In file included from inode.c:7:
/usr/src/linux-headers-6.17.0-7-generic/include/linux/buffer_head.h:266:23:
note: expected ‘const struct kiocb *’ but argument is of type ‘struct file *’
266 | int generic_write_end(const struct kiocb *, struct address_space *,
| ^~~~~~~~~~~~~~~~~~~~
inode.c: At top level:
inode.c:733:27: error: initialization of ‘int (*)(const struct kiocb *, struct
address_space *, loff_t, unsigned int, struct folio **, void **)’ {aka ‘int
(*)(const struct kiocb *, struct address_space *, long long int, unsigned int,
struct folio **, void **)’} from incompatible pointer type ‘int (*)(struct
file *, struct address_space *, loff_t, unsigned int, struct folio **, void
**)’ {aka ‘int (*)(struct file *, struct address_space *, long long int,
unsigned int, struct folio **, void **)’} [-Werror=incompatible-pointer-types]
733 | .write_begin = apfs_write_begin,
| ^~~~~~~~~~~~~~~~
inode.c:733:27: note: (near initialization for ‘apfs_aops.write_begin’)
inode.c:734:27: error: initialization of ‘int (*)(const struct kiocb *, struct
address_space *, loff_t, unsigned int, unsigned int, struct folio *, void
*)’ {aka ‘int (*)(const struct kiocb *, struct address_space *, long long int,
unsigned int, unsigned int, struct folio *, void *)’} from incompatible
pointer type ‘int (*)(struct file *, struct address_space *, loff_t, unsigned
int, unsigned int, struct folio *, void *)’ {aka ‘int (*)(struct file *,
struct address_space *, long long int, unsigned int, unsigned int, struct
folio *, void *)’} [-Werror=incompatible-pointer-types]
734 | .write_end = apfs_write_end,
| ^~~~~~~~~~~~~~
inode.c:734:27: note: (near initialization for ‘apfs_aops.write_end’)
inode.c:2337:53: warning: ‘struct fileattr’ declared inside parameter list will
not be visible outside of this definition or declaration
2337 | int apfs_fileattr_get(struct dentry *dentry, struct fileattr *fa)
| ^~~~~~~~
inode.c:2337:5: error: conflicting types for ‘apfs_fileattr_get’; have
‘int(struct dentry *, struct fileattr *)’
2337 | int apfs_fileattr_get(struct dentry *dentry, struct fileattr *fa)
| ^~~~~~~~~~~~~~~~~
apfs.h:952:12: note: previous declaration of ‘apfs_fileattr_get’ with type
‘int(struct dentry *, struct fileattr *)’
952 | extern int apfs_fileattr_get(struct dentry *dentry, struct fileattr
*fa);
| ^~~~~~~~~~~~~~~~~
inode.c: In function ‘apfs_fileattr_get’:
inode.c:2341:29: error: passing argument 1 of ‘fileattr_fill_flags’ from
incompatible pointer type [-Werror=incompatible-pointer-types]
2341 | fileattr_fill_flags(fa, flags);
| ^~
| |
| struct fileattr *
In file included from inode.c:18:
/usr/src/linux-headers-6.17.0-7-generic/include/linux/fileattr.h:59:45: note:
expected ‘struct file_kattr *’ but argument is of type ‘struct fileattr *’
59 | void fileattr_fill_flags(struct file_kattr *fa, u32 flags);
| ~~~~~~~~~~~~~~~~~~~^~
inode.c: At top level:
inode.c:2345:78: warning: ‘struct fileattr’ declared inside parameter list will
not be visible outside of this definition or declaration
2345 | int apfs_fileattr_set(struct mnt_idmap *idmap, struct dentry *dentry,
struct fileattr *fa)
|
^~~~~~~~
inode.c:2345:5: error: conflicting types for ‘apfs_fileattr_set’; have
‘int(struct mnt_idmap *, struct dentry *, struct fileattr *)’
2345 | int apfs_fileattr_set(struct mnt_idmap *idmap, struct dentry *dentry,
struct fileattr *fa)
| ^~~~~~~~~~~~~~~~~
apfs.h:953:12: note: previous declaration of ‘apfs_fileattr_set’ with type
‘int(struct mnt_idmap *, struct dentry *, struct fileattr *)’
953 | extern int apfs_fileattr_set(struct mnt_idmap *idmap, struct dentry
*dentry, struct fileattr *fa);
| ^~~~~~~~~~~~~~~~~
inode.c: In function ‘apfs_fileattr_set’:
inode.c:2355:15: error: invalid use of undefined type ‘struct fileattr’
2355 | if (fa->flags & ~(FS_APPEND_FL | FS_IMMUTABLE_FL |
FS_NODUMP_FL))
| ^~
inode.c:2357:30: error: passing argument 1 of ‘fileattr_has_fsx’ from
incompatible pointer type [-Werror=incompatible-pointer-types]
2357 | if (fileattr_has_fsx(fa))
| ^~
| |
| struct fileattr *
/usr/src/linux-headers-6.17.0-7-generic/include/linux/fileattr.h:68:62: note:
expected ‘const struct file_kattr *’ but argument is of type ‘struct fileattr *’
68 | static inline bool fileattr_has_fsx(const struct file_kattr *fa)
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~
inode.c:2369:32: error: invalid use of undefined type ‘struct fileattr’
2369 | apfs_setflags(inode, fa->flags);
| ^~
cc1: some warnings being treated as errors
make[3]: ***
[/usr/src/linux-headers-6.17.0-7-generic/scripts/Makefile.build:287: inode.o]
Error 1
make[2]: *** [/usr/src/linux-headers-6.17.0-7-generic/Makefile:2016: .] Error 2
make[1]: *** [/usr/src/linux-headers-6.17.0-7-generic/Makefile:248: __sub-make]
Error 2
make[1]: Leaving directory '/var/lib/dkms/linux-apfs-rw/0.3.2-0ubuntu6.1/build'
make: *** [Makefile:248: __sub-make] Error 2
make: Leaving directory '/usr/src/linux-headers-6.17.0-7-generic'
[ Test case ]
Install the latest linux-6.17 kernel on Noble:
$ sudo add-apt-repository ppa:canonical-kernel-team/ppa3
$ sudo apt install linux-generic-hwe-24.04-edge
Install apfs-dkms:
$ sudo apt install apfs-dkms
Load the module:
$ sudo modprobe apfs
Verify the filesystem has been registered properly:
$ grep apfs /proc/filesystems
The same procedure can be repeated on linux-6.8 to test for possible
regressions.
[ Fix ]
Apply upstream patches to properly support the new linux 6.17 ABI,
namely the following:
[ Regression potential ]
We may experience regressions in systems that are using the Apple file
system module (apfs), especially with kernels >= 6.8 kernel.
** Affects: linux-apfs-rw (Ubuntu)
Importance: Undecided
Status: New
** Affects: linux-apfs-rw (Ubuntu Noble)
Importance: Undecided
Status: New
** Also affects: linux-apfs-rw (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/2133523
Title:
apfs-dkms FTBS in Noble with the linux-6.17-hwe kernel
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-apfs-rw/+bug/2133523/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs