Skip to content

Can't build on Alma Linux 9.4 #25

Open
@gaedeb

Description

@gaedeb

I have already opened a ticket to Alma Support.

I can't build the module because of this error:

make -C /lib/modules/5.14.0-427.13.1.el9_4.x86_64/build M=/home/toto/nullfsvfs-master modules
make[1]: Entering directory '/usr/src/kernels/5.14.0-427.13.1.el9_4.x86_64'
  CC [M]  /home/toto/nullfsvfs-master/nullfs.o
/home/toto/nullfsvfs-master/nullfs.c: In function ‘nullfs_tmpfile’:
/home/toto/nullfsvfs-master/nullfs.c:560:15: error: passing argument 1 of ‘d_tmpfile’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  560 |     d_tmpfile(dentry, inode);
      |               ^~~~~~
      |               |
      |               struct dentry *
In file included from ./include/linux/fs.h:8,
                 from ./include/linux/seq_file.h:12,
                 from /home/toto/nullfsvfs-master/nullfs.c:30:
./include/linux/dcache.h:254:23: note: expected ‘struct file *’ but argument is of type ‘struct dentry *’
  254 | extern void d_tmpfile(struct file *, struct inode *);
      |                       ^~~~~~~~~~~~~
/home/toto/nullfsvfs-master/nullfs.c: At top level:
/home/toto/nullfsvfs-master/nullfs.c:581:19: error: initialization of ‘int (*)(struct user_namespace *, struct inode *, struct file *, umode_t)’ {aka ‘int (*)(struct user_namespace *, struct inode *, struct file *, short unsigned int)’} from incompatible pointer type ‘int (*)(struct user_namespace *, struct inode *, struct dentry *, umode_t)’ {aka ‘int (*)(struct user_namespace *, struct inode *, struct dentry *, short unsigned int)’} [-Werror=incompatible-pointer-types]
  581 |     .tmpfile    = nullfs_tmpfile,
      |                   ^~~~~~~~~~~~~~
/home/toto/nullfsvfs-master/nullfs.c:581:19: note: (near initialization for ‘nullfs_dir_inode_operations.tmpfile’)
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:299: /home/toto/nullfsvfs-master/nullfs.o] Error 1
make[1]: *** [Makefile:1934: /home/toto/nullfsvfs-master] Error 2
make[1]: Leaving directory '/usr/src/kernels/5.14.0-427.13.1.el9_4.x86_64'
make: *** [Makefile:5: ko] Error 2

Kernel version is < 6.1.0:
5.14.0-427.13.1.el9_4.x86_64

still in the kernel header as long as I could see, the declaration of d_tmpfile is:
extern void d_tmpfile(struct file *, struct inode *);

hence the issue building the module.

Any idea?

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is neededpatch-availablethere is an patch available which needs further changes

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions