toby63 / shiftfs-dkms Goto Github PK
View Code? Open in Web Editor NEWshiftfs kernel module via dkms
License: GNU General Public License v2.0
shiftfs kernel module via dkms
License: GNU General Public License v2.0
See: https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/groovy/log/fs/shiftfs.c
https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/jammy/log/fs/shiftfs.c?h=master-next
Users should probably update.
I will update the repos and packages in the coming days.
I will take a look at it and test it in some days.
Question:
Looks like the k5.8 branch was renamed to k5.10, can I use the k5.10 branch for Ubuntu 20.04 which has a 5.8 kernel?
Description of the Bug/Problem:
The path proc/*/maps
is not the path in a container, but the host's path .NET doesn't work well because it depends on this path.
In a container
$ cat /proc/self/maps
556115b71000-556115b73000 r--p 00000000 09:2c 1208370132 /run/containerd/io.containerd.runtime.v2.task/k8s.io/de77df3e392b5affbbf9d2a79f0e58e8e40eb69b81c95accda994a022850aef7/rootfs/usr/bin/cat
556115b73000-556115b78000 r-xp 00002000 09:2c 1208370132 /run/containerd/io.containerd.runtime.v2.task/k8s.io/de77df3e392b5affbbf9d2a79f0e58e8e40eb69b81c95accda994a022850aef7/rootfs/usr/bin/cat
...
How to Reproduce:
It is probably easiest to use shiftfs with lxd
Expected behavior:
with fuse-overlayfs
$ cat /proc/self/maps
55d0c4e25000-55d0c4e27000 r--p 00000000 00:474 353127110 /usr/bin/cat
55d0c4e27000-55d0c4e2c000 r-xp 00002000 00:474 353127110 /usr/bin/cat
...
System information:
$ uname -a
Linux gitpodio-gitpod-t06v332wdlr 5.16.20-051620-generic #202204131933 SMP PREEMPT Wed Apr 13 19:37:36 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Additional information/context:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1968027
See: #14
There seems to be an additional kernel patch in conjunction with shiftfs when used above overlayfs:
So it should be noted in the documentation not to use this dkms in conjunction with overlayfs.
See:
https://discuss.linuxcontainers.org/t/shiftfs-shiftfs-error-with-5-16-kernel/13103
I will wait for a response from the devs.
Workaround:
In the meantime either the newer approach (see description in the repo) will be used automatically, but is only available for specific filesystems, or you should use a different (lower) kernel version for now.
Thanks!
Note: Take a look at the upstream logs (links can be found in the specific branches in section Upgrade
).
This issue only lists repo updates, which will likely not come anymore as this is mostly unmaintained for now.
Adding the BUILD_EXCLUSIVE_KERNEL
variable will tell dkms to only build the module for supported kernels. For instance, I added BUILD_EXCLUSIVE_KERNEL="^5.13.*"
for the k513 branch because have this module installed in /usr/src
so that it will be built every time I upgrade my kernel. I ran in to some file corruption and ended up needing to reinstall kernel headers for multiple kernels, which triggered a rebuilt for all dkms modules against all kernels which had headers reinstalled. Without the BUILD_EXCLUSIVE_KERNEL
variable dkms would try to built the shiftfs-k513 against all the kernels, eg. 5.11 and 5.10, and would cause an error with non-5.13 kernels. This fixes that issue.
Todo:
Try and implement BUILD_EXCLUSIVE_KERNEL
^5.(10|8).*
:
Description of the Bug/Problem:
Make.log:
make: Verzeichnis „/usr/lib/modules/5.18.3-arch1-1/build“ wird betreten
CC [M] /var/lib/dkms/shiftfs-dkms/20220413/build/shiftfs.o
/var/lib/dkms/shiftfs-dkms/20220413/build/shiftfs.c: In Funktion »shiftfs_fiemap«:
/var/lib/dkms/shiftfs-dkms/20220413/build/shiftfs.c:741:17: Fehler: Implizite Deklaration der Funktion »filemap_write_and_wait«; meinten Sie »file_write_and_wait«? [-Werror=implicit-function-declaration]
741 | filemap_write_and_wait(loweri->i_mapping);
| ^~~~~~~~~~~~~~~~~~~~~~
| file_write_and_wait
cc1: Einige Warnungen werden als Fehler behandelt
make[1]: *** [scripts/Makefile.build:288: /var/lib/dkms/shiftfs-dkms/20220413/build/shiftfs.o] Fehler 1
make: *** [Makefile:1834: /var/lib/dkms/shiftfs-dkms/20220413/build] Fehler 2
make: Verzeichnis „/usr/lib/modules/5.18.3-arch1-1/build“ wird verlassen
System information:
Here you can post a testreport.
Use (copy) the template below.
System Information:
Details:
Tested functions:
#worked (yes/no) or "not tested"; details (optional)
#optional:
Further Information/Comment:
#- Usecases:
#e.g. LXD:
Update: I added a package to AUR:
https://aur.archlinux.org/packages/?O=0&K=shiftfs
Howto/Which package to choose:
shiftfs
if you only use the main kernel (default)shiftfs-dkms
instead if you use custom kernels or more kernel versions (like linux-versioned-bin
): it will build shiftfs for all kernels you have installed automatically.Seeing this crop up since the update a few days ago:
Tue Feb 21 22:06:59 UTC 2023
make[1]: Entering directory '/var/lib/dkms/shiftfs/k516/build'
make -C /lib/modules/5.15.0-1017-aws/build M="$(pwd)" EXTRA_CFLAGS="-DSHIFTFS_MAGIC=0x6a656a62" modules
make[2]: Entering directory '/usr/src/linux-headers-5.15.0-1017-aws'
CC [M] /var/lib/dkms/shiftfs/k516/build/shiftfs.o
/var/lib/dkms/shiftfs/k516/build/shiftfs.c: In function ‘shiftfs_fill_super’:
/var/lib/dkms/shiftfs/k516/build/shiftfs.c:2022:6: error: implicit declaration of function ‘is_idmapped_mnt’ [-Werror=implicit-function-declaration]
2022 | if (is_idmapped_mnt(path.mnt)) {
| ^~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:297: /var/lib/dkms/shiftfs/k516/build/shiftfs.o] Error 1
make[2]: *** [Makefile:1881: /var/lib/dkms/shiftfs/k516/build] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-5.15.0-1017-aws'
make[1]: *** [Makefile:15: default] Error 2
make[1]: Leaving directory '/var/lib/dkms/shiftfs/k516/build'
Comment by @toby63:
Workaround is to use an older commit for now.
Run the following in your shiftfs folder, usually named shiftfs-k516:
git checkout 941cb2dbf892c5838355c74078e571d490936827
- this will use the 4th last commit, which still worked.
Then run the build with make -f Makefile.dkms
again.
If you want to create a deb-package, you can take a look at these actions/commands in the manual of dkms:
dkms mkdsc [module/module-version] [-k kernel/arch]
# creates a deb source package
dkms mkdeb [module/module-version] [-k kernel/arch]
# creates a deb binary package
As far as I understand it, one of these lines would replace dkms install
for example, so instead of installing the kernel module, a source or binary package is created.
But I haven't used/tested that yet.
I don't plan to create .deb packages myself, as I find the debian packaging system to complicated and maintaining multiple packages is also too much work for me.
But if anyone tries this, share your results 😉.
Description of the Bug/Problem:
While updating to the newest kernel version on arch linux an error was shown regarding shiftfs.
Shiftfs couldn't be built against the current kernel (see Log below for details).
Workaround:
If you want to use shiftfs, don't upgrade to or use Kernel 5.8.1.
Kernel Version 5.7.12 was the last version that worked on my computer.
System information:
Log:
DKMS make.log for shiftfs-1.1 for kernel 5.8.1-arch1-1 (x86_64)
Sa 15. Aug 20:39:38 CEST 2020
make[1]: Verzeichnis „/var/lib/dkms/shiftfs/1.1/build“ wird betreten
make -C /lib/modules/5.8.1-arch1-1/build M="$(pwd)" EXTRA_CFLAGS="-DSHIFTFS_MAGIC=0x6a656a62" modules
make[2]: Verzeichnis „/usr/lib/modules/5.8.1-arch1-1/build“ wird betreten
CC [M] /var/lib/dkms/shiftfs/1.1/build/shiftfs.o
/var/lib/dkms/shiftfs/1.1/build/shiftfs.c: In Funktion »shiftfs_fiemap«:
/var/lib/dkms/shiftfs/1.1/build/shiftfs.c:731:13: Fehler: falsche Verwendung des undefinierten Typs »struct fiemap_extent_info«
731 | if (fieinfo->fi_flags & FIEMAP_FLAG_SYNC)
| ^~
/var/lib/dkms/shiftfs/1.1/build/shiftfs.c:731:26: Fehler: »FIEMAP_FLAG_SYNC« nicht deklariert (erstmalige Verwendung in dieser Funktion); meinten Sie »FS_XFLAG_SYNC«?
731 | if (fieinfo->fi_flags & FIEMAP_FLAG_SYNC)
| ^~~~~~~~~~~~~~~~
| FS_XFLAG_SYNC
/var/lib/dkms/shiftfs/1.1/build/shiftfs.c:731:26: Anmerkung: jeder nicht deklarierte Bezeichner wird nur einmal für jede Funktion, in der er vorkommt, gemeldet
make[3]: *** [scripts/Makefile.build:281: /var/lib/dkms/shiftfs/1.1/build/shiftfs.o] Fehler 1
make[2]: *** [Makefile:1756: /var/lib/dkms/shiftfs/1.1/build] Fehler 2
make[2]: Verzeichnis „/usr/lib/modules/5.8.1-arch1-1/build“ wird verlassen
make[1]: *** [Makefile:15: default] Fehler 2
make[1]: Verzeichnis „/var/lib/dkms/shiftfs/1.1/build“ wird verlassen
Update:
Fixed, see: branch k5.11.
Also fixed in AUR for Arch Linux (with version 20210301-1).
Thanks to @brauner.
Description of the Bug/Problem:
On kernel update, dkms shows an error:
DKMS make.log for shiftfs-dkms-20200804 for kernel 5.11.2-arch1-1 (x86_64)
So 28. Feb 17:25:33 CET 2021
make: Verzeichnis „/usr/lib/modules/5.11.2-arch1-1/build“ wird betreten
CC [M] /var/lib/dkms/shiftfs-dkms/20200804/build/shiftfs.o
/var/lib/dkms/shiftfs-dkms/20200804/build/shiftfs.c: In Funktion »shiftfs_btrfs_ioctl_fd_restore«:
/var/lib/dkms/shiftfs-dkms/20200804/build/shiftfs.c:1423:2: Fehler: Implizite Deklaration der Funktion »__close_fd«; meinten Sie »close_fd«? [-Werror=implicit-function-declaration]
1423 | __close_fd(current->files, fd);
| ^~~~~~~~~~
| close_fd
cc1: Einige Warnungen werden als Fehler behandelt
make[1]: *** [scripts/Makefile.build:279: /var/lib/dkms/shiftfs-dkms/20200804/build/shiftfs.o] Fehler 1
make: *** [Makefile:1800: /var/lib/dkms/shiftfs-dkms/20200804/build] Fehler 2
make: Verzeichnis „/usr/lib/modules/5.11.2-arch1-1/build“ wird verlassen
Expected behavior:
Kernel module should build.
System information:
Workaround:
I suspect this error to occur on the whole 5.11 branch (though I haven't tested that yet), so users should probably stay on the 5.10 branch for now.
On Arch linux for example, the linux-lts package provides the 5.10 branch.
Description of the Bug/Problem:
Error saving key file: rename /etc/docker/.tmp-key.json006026767 /etc/docker/key.json: value too large for defined data
How to Reproduce:
Steps to reproduce the behavior:
Running docker in docker inside a shiftfs mount. No core dump or useful logs.
Expected behavior:
The same scenario works without issues in v5.16
System information:
Update by @toby63:
Bug is known upstream, see https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1990849
Title: LXD containers using shiftfs on ZFS or TMPFS broken on 5.15.0-48.54
It's not clear from the README.md
s which branch to use for 5.15.x versions of the kernel.
k5.16
, that version is the "shiftfs-dkms version for Kernels 5.16.x and 5.15.x."k5.13
, that version is the "shiftfs-dkms version for Kernels 5.13.x to 5.15.x."I haven't fully tested my upgrade so I am not sure which of these two is the "correct" version or if (seemly unlikely but possible) both versions work.
Edit by toby63: Corrected version description.
Description of the Bug/Problem:
On kernel update, dkms shows an error:
DKMS make.log for shiftfs-dkms-20210417 for kernel 5.12.1-arch1-1 (x86_64)
So 2. Mai 23:28:05 CEST 2021
make: Verzeichnis „/usr/lib/modules/5.12.1-arch1-1/build“ wird betreten
CC [M] /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.o
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c: In Funktion »shiftfs_setxattr«:
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:320:21: Fehler: Übergabe des Arguments 1 von »vfs_setxattr« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
320 | err = vfs_setxattr(lowerd, name, value, size, flags);
| ^~~~~~
| |
| struct dentry *
In Datei, eingebunden von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:19:
./include/linux/xattr.h:63:18: Anmerkung: »struct user_namespace *« erwartet, aber Argument hat Typ »struct dentry *«
63 | int vfs_setxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:320:29: Fehler: Übergabe des Arguments 2 von »vfs_setxattr« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
320 | err = vfs_setxattr(lowerd, name, value, size, flags);
| ^~~~
| |
| const char *
In Datei, eingebunden von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:19:
./include/linux/xattr.h:63:43: Anmerkung: »struct dentry *« erwartet, aber Argument hat Typ »const char *«
63 | int vfs_setxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:320:42: Warnung: Übergabe des Arguments 4 von »vfs_setxattr« wandelt eine Zahl in einen Zeiger um, ohne explizite Typkonvertierung [-Wint-conversion]
320 | err = vfs_setxattr(lowerd, name, value, size, flags);
| ^~~~
| |
| size_t {alias long unsigned int}
In Datei, eingebunden von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:19:
./include/linux/xattr.h:64:4: Anmerkung: »const void *« erwartet, aber Argument hat Typ »size_t« {alias »long unsigned int«}
64 | const void *, size_t, int);
| ^~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:320:8: Fehler: Zu wenige Argumente für Funktion »vfs_setxattr«
320 | err = vfs_setxattr(lowerd, name, value, size, flags);
| ^~~~~~~~~~~~
In Datei, eingebunden von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:19:
./include/linux/xattr.h:63:5: Anmerkung: hier deklariert
63 | int vfs_setxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c: In Funktion »shiftfs_xattr_get«:
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:337:21: Fehler: Übergabe des Arguments 1 von »vfs_getxattr« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
337 | err = vfs_getxattr(lowerd, name, value, size);
| ^~~~~~
| |
| struct dentry *
In Datei, eingebunden von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:19:
./include/linux/xattr.h:53:22: Anmerkung: »struct user_namespace *« erwartet, aber Argument hat Typ »struct dentry *«
53 | ssize_t vfs_getxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:337:29: Fehler: Übergabe des Arguments 2 von »vfs_getxattr« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
337 | err = vfs_getxattr(lowerd, name, value, size);
| ^~~~
| |
| const char *
In Datei, eingebunden von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:19:
./include/linux/xattr.h:53:47: Anmerkung: »struct dentry *« erwartet, aber Argument hat Typ »const char *«
53 | ssize_t vfs_getxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:337:42: Warnung: Übergabe des Arguments 4 von »vfs_getxattr« wandelt eine Zahl in einen Zeiger um, ohne explizite Typkonvertierung [-Wint-conversion]
337 | err = vfs_getxattr(lowerd, name, value, size);
| ^~~~
| |
| size_t {alias long unsigned int}
In Datei, eingebunden von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:19:
./include/linux/xattr.h:54:8: Anmerkung: »void *« erwartet, aber Argument hat Typ »size_t« {alias »long unsigned int«}
54 | void *, size_t);
| ^~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:337:8: Fehler: Zu wenige Argumente für Funktion »vfs_getxattr«
337 | err = vfs_getxattr(lowerd, name, value, size);
| ^~~~~~~~~~~~
In Datei, eingebunden von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:19:
./include/linux/xattr.h:53:9: Anmerkung: hier deklariert
53 | ssize_t vfs_getxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c: In Funktion »shiftfs_removexattr«:
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:364:24: Fehler: Übergabe des Arguments 1 von »vfs_removexattr« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
364 | err = vfs_removexattr(lowerd, name);
| ^~~~~~
| |
| struct dentry *
In Datei, eingebunden von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:19:
./include/linux/xattr.h:68:21: Anmerkung: »struct user_namespace *« erwartet, aber Argument hat Typ »struct dentry *«
68 | int vfs_removexattr(struct user_namespace *, struct dentry *, const char *);
| ^~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:364:32: Fehler: Übergabe des Arguments 2 von »vfs_removexattr« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
364 | err = vfs_removexattr(lowerd, name);
| ^~~~
| |
| const char *
In Datei, eingebunden von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:19:
./include/linux/xattr.h:68:46: Anmerkung: »struct dentry *« erwartet, aber Argument hat Typ »const char *«
68 | int vfs_removexattr(struct user_namespace *, struct dentry *, const char *);
| ^~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:364:8: Fehler: Zu wenige Argumente für Funktion »vfs_removexattr«
364 | err = vfs_removexattr(lowerd, name);
| ^~~~~~~~~~~~~~~
In Datei, eingebunden von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:19:
./include/linux/xattr.h:68:5: Anmerkung: hier deklariert
68 | int vfs_removexattr(struct user_namespace *, struct dentry *, const char *);
| ^~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c: In Funktion »shiftfs_create_object«:
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:456:20: Fehler: Übergabe des Arguments 1 von »inode_init_owner« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
456 | inode_init_owner(inode, diri, mode);
| ^~~~~
| |
| struct inode *
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1828:46: Anmerkung: »struct user_namespace *« erwartet, aber Argument hat Typ »struct inode *«
1828 | void inode_init_owner(struct user_namespace *mnt_userns, struct inode *inode,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:456:33: Warnung: Übergabe des Arguments 3 von »inode_init_owner« wandelt eine Zahl in einen Zeiger um, ohne explizite Typkonvertierung [-Wint-conversion]
456 | inode_init_owner(inode, diri, mode);
| ^~~~
| |
| umode_t {alias short unsigned int}
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1829:29: Anmerkung: »const struct inode *« erwartet, aber Argument hat Typ »umode_t« {alias »short unsigned int«}
1829 | const struct inode *dir, umode_t mode);
| ~~~~~~~~~~~~~~~~~~~~^~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:456:3: Fehler: Zu wenige Argumente für Funktion »inode_init_owner«
456 | inode_init_owner(inode, diri, mode);
| ^~~~~~~~~~~~~~~~
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1828:6: Anmerkung: hier deklariert
1828 | void inode_init_owner(struct user_namespace *mnt_userns, struct inode *inode,
| ^~~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:467:31: Fehler: Übergabe des Arguments 2 von »vfs_link« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
467 | err = vfs_link(lowerd_link, loweri_dir, lowerd_new, NULL);
| ^~~~~~~~~~
| |
| struct inode *
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1779:31: Anmerkung: »struct user_namespace *« erwartet, aber Argument hat Typ »struct inode *«
1779 | int vfs_link(struct dentry *, struct user_namespace *, struct inode *,
| ^~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:467:43: Fehler: Übergabe des Arguments 3 von »vfs_link« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
467 | err = vfs_link(lowerd_link, loweri_dir, lowerd_new, NULL);
| ^~~~~~~~~~
| |
| struct dentry *
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1779:56: Anmerkung: »struct inode *« erwartet, aber Argument hat Typ »struct dentry *«
1779 | int vfs_link(struct dentry *, struct user_namespace *, struct inode *,
| ^~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:467:9: Fehler: Zu wenige Argumente für Funktion »vfs_link«
467 | err = vfs_link(lowerd_link, loweri_dir, lowerd_new, NULL);
| ^~~~~~~~
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1779:5: Anmerkung: hier deklariert
1779 | int vfs_link(struct dentry *, struct user_namespace *, struct inode *,
| ^~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:471:20: Fehler: Übergabe des Arguments 1 von »vfs_mkdir« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
471 | err = vfs_mkdir(loweri_dir, lowerd_new, modei);
| ^~~~~~~~~~
| |
| struct inode *
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1773:15: Anmerkung: »struct user_namespace *« erwartet, aber Argument hat Typ »struct inode *«
1773 | int vfs_mkdir(struct user_namespace *, struct inode *,
| ^~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:471:32: Fehler: Übergabe des Arguments 2 von »vfs_mkdir« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
471 | err = vfs_mkdir(loweri_dir, lowerd_new, modei);
| ^~~~~~~~~~
| |
| struct dentry *
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1773:40: Anmerkung: »struct inode *« erwartet, aber Argument hat Typ »struct dentry *«
1773 | int vfs_mkdir(struct user_namespace *, struct inode *,
| ^~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:471:44: Warnung: Übergabe des Arguments 3 von »vfs_mkdir« wandelt eine Zahl in einen Zeiger um, ohne explizite Typkonvertierung [-Wint-conversion]
471 | err = vfs_mkdir(loweri_dir, lowerd_new, modei);
| ^~~~~
| |
| umode_t {alias short unsigned int}
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1774:8: Anmerkung: »struct dentry *« erwartet, aber Argument hat Typ »umode_t« {alias »short unsigned int«}
1774 | struct dentry *, umode_t);
| ^~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:471:10: Fehler: Zu wenige Argumente für Funktion »vfs_mkdir«
471 | err = vfs_mkdir(loweri_dir, lowerd_new, modei);
| ^~~~~~~~~
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1773:5: Anmerkung: hier deklariert
1773 | int vfs_mkdir(struct user_namespace *, struct inode *,
| ^~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:474:21: Fehler: Übergabe des Arguments 1 von »vfs_create« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
474 | err = vfs_create(loweri_dir, lowerd_new, modei, excl);
| ^~~~~~~~~~
| |
| struct inode *
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1771:16: Anmerkung: »struct user_namespace *« erwartet, aber Argument hat Typ »struct inode *«
1771 | int vfs_create(struct user_namespace *, struct inode *,
| ^~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:474:33: Fehler: Übergabe des Arguments 2 von »vfs_create« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
474 | err = vfs_create(loweri_dir, lowerd_new, modei, excl);
| ^~~~~~~~~~
| |
| struct dentry *
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1771:41: Anmerkung: »struct inode *« erwartet, aber Argument hat Typ »struct dentry *«
1771 | int vfs_create(struct user_namespace *, struct inode *,
| ^~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:474:45: Warnung: Übergabe des Arguments 3 von »vfs_create« wandelt eine Zahl in einen Zeiger um, ohne explizite Typkonvertierung [-Wint-conversion]
474 | err = vfs_create(loweri_dir, lowerd_new, modei, excl);
| ^~~~~
| |
| umode_t {alias short unsigned int}
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1772:9: Anmerkung: »struct dentry *« erwartet, aber Argument hat Typ »umode_t« {alias »short unsigned int«}
1772 | struct dentry *, umode_t, bool);
| ^~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:474:10: Fehler: Zu wenige Argumente für Funktion »vfs_create«
474 | err = vfs_create(loweri_dir, lowerd_new, modei, excl);
| ^~~~~~~~~~
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1771:5: Anmerkung: hier deklariert
1771 | int vfs_create(struct user_namespace *, struct inode *,
| ^~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:477:22: Fehler: Übergabe des Arguments 1 von »vfs_symlink« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
477 | err = vfs_symlink(loweri_dir, lowerd_new, symlink);
| ^~~~~~~~~~
| |
| struct inode *
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1777:17: Anmerkung: »struct user_namespace *« erwartet, aber Argument hat Typ »struct inode *«
1777 | int vfs_symlink(struct user_namespace *, struct inode *,
| ^~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:477:34: Fehler: Übergabe des Arguments 2 von »vfs_symlink« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
477 | err = vfs_symlink(loweri_dir, lowerd_new, symlink);
| ^~~~~~~~~~
| |
| struct dentry *
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1777:42: Anmerkung: »struct inode *« erwartet, aber Argument hat Typ »struct dentry *«
1777 | int vfs_symlink(struct user_namespace *, struct inode *,
| ^~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:477:46: Fehler: Übergabe des Arguments 3 von »vfs_symlink« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
477 | err = vfs_symlink(loweri_dir, lowerd_new, symlink);
| ^~~~~~~
| |
| const char *
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1778:3: Anmerkung: »struct dentry *« erwartet, aber Argument hat Typ »const char *«
1778 | struct dentry *, const char *);
| ^~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:477:10: Fehler: Zu wenige Argumente für Funktion »vfs_symlink«
477 | err = vfs_symlink(loweri_dir, lowerd_new, symlink);
| ^~~~~~~~~~~
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1777:5: Anmerkung: hier deklariert
1777 | int vfs_symlink(struct user_namespace *, struct inode *,
| ^~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:482:20: Fehler: Übergabe des Arguments 1 von »vfs_mknod« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
482 | err = vfs_mknod(loweri_dir, lowerd_new, modei, 0);
| ^~~~~~~~~~
| |
| struct inode *
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1775:15: Anmerkung: »struct user_namespace *« erwartet, aber Argument hat Typ »struct inode *«
1775 | int vfs_mknod(struct user_namespace *, struct inode *, struct dentry *,
| ^~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:482:32: Fehler: Übergabe des Arguments 2 von »vfs_mknod« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
482 | err = vfs_mknod(loweri_dir, lowerd_new, modei, 0);
| ^~~~~~~~~~
| |
| struct dentry *
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1775:40: Anmerkung: »struct inode *« erwartet, aber Argument hat Typ »struct dentry *«
1775 | int vfs_mknod(struct user_namespace *, struct inode *, struct dentry *,
| ^~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:482:44: Warnung: Übergabe des Arguments 3 von »vfs_mknod« wandelt eine Zahl in einen Zeiger um, ohne explizite Typkonvertierung [-Wint-conversion]
482 | err = vfs_mknod(loweri_dir, lowerd_new, modei, 0);
| ^~~~~
| |
| umode_t {alias short unsigned int}
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1775:56: Anmerkung: »struct dentry *« erwartet, aber Argument hat Typ »umode_t« {alias »short unsigned int«}
1775 | int vfs_mknod(struct user_namespace *, struct inode *, struct dentry *,
| ^~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:482:10: Fehler: Zu wenige Argumente für Funktion »vfs_mknod«
482 | err = vfs_mknod(loweri_dir, lowerd_new, modei, 0);
| ^~~~~~~~~
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1775:5: Anmerkung: hier deklariert
1775 | int vfs_mknod(struct user_namespace *, struct inode *, struct dentry *,
| ^~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c: In Funktion »shiftfs_rm«:
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:587:19: Fehler: Übergabe des Arguments 1 von »vfs_rmdir« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
587 | err = vfs_rmdir(loweri, lowerd);
| ^~~~~~
| |
| struct inode *
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1781:15: Anmerkung: »struct user_namespace *« erwartet, aber Argument hat Typ »struct inode *«
1781 | int vfs_rmdir(struct user_namespace *, struct inode *, struct dentry *);
| ^~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:587:27: Fehler: Übergabe des Arguments 2 von »vfs_rmdir« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
587 | err = vfs_rmdir(loweri, lowerd);
| ^~~~~~
| |
| struct dentry *
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1781:40: Anmerkung: »struct inode *« erwartet, aber Argument hat Typ »struct dentry *«
1781 | int vfs_rmdir(struct user_namespace *, struct inode *, struct dentry *);
| ^~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:587:9: Fehler: Zu wenige Argumente für Funktion »vfs_rmdir«
587 | err = vfs_rmdir(loweri, lowerd);
| ^~~~~~~~~
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1781:5: Anmerkung: hier deklariert
1781 | int vfs_rmdir(struct user_namespace *, struct inode *, struct dentry *);
| ^~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:589:20: Fehler: Übergabe des Arguments 1 von »vfs_unlink« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
589 | err = vfs_unlink(loweri, lowerd, NULL);
| ^~~~~~
| |
| struct inode *
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1782:16: Anmerkung: »struct user_namespace *« erwartet, aber Argument hat Typ »struct inode *«
1782 | int vfs_unlink(struct user_namespace *, struct inode *, struct dentry *,
| ^~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:589:28: Fehler: Übergabe des Arguments 2 von »vfs_unlink« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
589 | err = vfs_unlink(loweri, lowerd, NULL);
| ^~~~~~
| |
| struct dentry *
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1782:41: Anmerkung: »struct inode *« erwartet, aber Argument hat Typ »struct dentry *«
1782 | int vfs_unlink(struct user_namespace *, struct inode *, struct dentry *,
| ^~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:589:9: Fehler: Zu wenige Argumente für Funktion »vfs_unlink«
589 | err = vfs_unlink(loweri, lowerd, NULL);
| ^~~~~~~~~~
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1782:5: Anmerkung: hier deklariert
1782 | int vfs_unlink(struct user_namespace *, struct inode *, struct dentry *,
| ^~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c: In Funktion »shiftfs_rename«:
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:637:19: Fehler: Übergabe des Arguments 1 von »vfs_rename« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
637 | err = vfs_rename(loweri_dir_old, lowerd_old, loweri_dir_new, lowerd_new,
| ^~~~~~~~~~~~~~
| |
| struct inode *
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1796:16: Anmerkung: »struct renamedata *« erwartet, aber Argument hat Typ »struct inode *«
1796 | int vfs_rename(struct renamedata *);
| ^~~~~~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:637:8: Fehler: zu viele Argumente für Funktion »vfs_rename«
637 | err = vfs_rename(loweri_dir_old, lowerd_old, loweri_dir_new, lowerd_new,
| ^~~~~~~~~~
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:1796:5: Anmerkung: hier deklariert
1796 | int vfs_rename(struct renamedata *);
| ^~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c: In Funktion »shiftfs_permission«:
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:705:27: Fehler: Übergabe des Arguments 1 von »generic_permission« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
705 | err = generic_permission(inode, mask);
| ^~~~~
| |
| struct inode *
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:2868:24: Anmerkung: »struct user_namespace *« erwartet, aber Argument hat Typ »struct inode *«
2868 | int generic_permission(struct user_namespace *, struct inode *, int);
| ^~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:705:34: Warnung: Übergabe des Arguments 2 von »generic_permission« wandelt eine Zahl in einen Zeiger um, ohne explizite Typkonvertierung [-Wint-conversion]
705 | err = generic_permission(inode, mask);
| ^~~~
| |
| int
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:2868:49: Anmerkung: »struct inode *« erwartet, aber Argument hat Typ »int«
2868 | int generic_permission(struct user_namespace *, struct inode *, int);
| ^~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:705:8: Fehler: Zu wenige Argumente für Funktion »generic_permission«
705 | err = generic_permission(inode, mask);
| ^~~~~~~~~~~~~~~~~~
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:2868:5: Anmerkung: hier deklariert
2868 | int generic_permission(struct user_namespace *, struct inode *, int);
| ^~~~~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:710:25: Fehler: Übergabe des Arguments 1 von »inode_permission« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
710 | err = inode_permission(loweri, mask);
| ^~~~~~
| |
| struct inode *
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:2867:22: Anmerkung: »struct user_namespace *« erwartet, aber Argument hat Typ »struct inode *«
2867 | int inode_permission(struct user_namespace *, struct inode *, int);
| ^~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:710:33: Warnung: Übergabe des Arguments 2 von »inode_permission« wandelt eine Zahl in einen Zeiger um, ohne explizite Typkonvertierung [-Wint-conversion]
710 | err = inode_permission(loweri, mask);
| ^~~~
| |
| int
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:2867:47: Anmerkung: »struct inode *« erwartet, aber Argument hat Typ »int«
2867 | int inode_permission(struct user_namespace *, struct inode *, int);
| ^~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:710:8: Fehler: Zu wenige Argumente für Funktion »inode_permission«
710 | err = inode_permission(loweri, mask);
| ^~~~~~~~~~~~~~~~
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:2867:5: Anmerkung: hier deklariert
2867 | int inode_permission(struct user_namespace *, struct inode *, int);
| ^~~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c: In Funktion »shiftfs_tmpfile«:
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:748:30: Fehler: Übergabe des Arguments 1 von »loweri->i_op->tmpfile« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
748 | err = loweri->i_op->tmpfile(loweri, lowerd, mode);
| ^~~~~~
| |
| struct inode *
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:748:30: Anmerkung: »struct user_namespace *« erwartet, aber Argument hat Typ »struct inode *«
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:748:38: Fehler: Übergabe des Arguments 2 von »loweri->i_op->tmpfile« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
748 | err = loweri->i_op->tmpfile(loweri, lowerd, mode);
| ^~~~~~
| |
| struct dentry *
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:748:38: Anmerkung: »struct inode *« erwartet, aber Argument hat Typ »struct dentry *«
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:748:46: Warnung: Übergabe des Arguments 3 von »loweri->i_op->tmpfile« wandelt eine Zahl in einen Zeiger um, ohne explizite Typkonvertierung [-Wint-conversion]
748 | err = loweri->i_op->tmpfile(loweri, lowerd, mode);
| ^~~~
| |
| umode_t {alias short unsigned int}
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:748:46: Anmerkung: »struct dentry *« erwartet, aber Argument hat Typ »umode_t« {alias »short unsigned int«}
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:748:8: Fehler: Zu wenige Argumente für Funktion »loweri->i_op->tmpfile«
748 | err = loweri->i_op->tmpfile(loweri, lowerd, mode);
| ^~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c: In Funktion »shiftfs_setattr«:
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:764:24: Fehler: Übergabe des Arguments 1 von »setattr_prepare« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
764 | err = setattr_prepare(dentry, attr);
| ^~~~~~
| |
| struct dentry *
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:3330:21: Anmerkung: »struct user_namespace *« erwartet, aber Argument hat Typ »struct dentry *«
3330 | int setattr_prepare(struct user_namespace *, struct dentry *, struct iattr *);
| ^~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:764:32: Fehler: Übergabe des Arguments 2 von »setattr_prepare« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
764 | err = setattr_prepare(dentry, attr);
| ^~~~
| |
| struct iattr *
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:3330:46: Anmerkung: »struct dentry *« erwartet, aber Argument hat Typ »struct iattr *«
3330 | int setattr_prepare(struct user_namespace *, struct dentry *, struct iattr *);
| ^~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:764:8: Fehler: Zu wenige Argumente für Funktion »setattr_prepare«
764 | err = setattr_prepare(dentry, attr);
| ^~~~~~~~~~~~~~~
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:3330:5: Anmerkung: hier deklariert
3330 | int setattr_prepare(struct user_namespace *, struct dentry *, struct iattr *);
| ^~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:781:22: Fehler: Übergabe des Arguments 1 von »notify_change« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
781 | err = notify_change(lowerd, &newattr, NULL);
| ^~~~~~
| |
| struct dentry *
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:2865:19: Anmerkung: »struct user_namespace *« erwartet, aber Argument hat Typ »struct dentry *«
2865 | int notify_change(struct user_namespace *, struct dentry *,
| ^~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:781:30: Fehler: Übergabe des Arguments 2 von »notify_change« von inkompatiblem Zeigertyp [-Werror=incompatible-pointer-types]
781 | err = notify_change(lowerd, &newattr, NULL);
| ^~~~~~~~
| |
| struct iattr *
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:2865:44: Anmerkung: »struct dentry *« erwartet, aber Argument hat Typ »struct iattr *«
2865 | int notify_change(struct user_namespace *, struct dentry *,
| ^~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:781:8: Fehler: Zu wenige Argumente für Funktion »notify_change«
781 | err = notify_change(lowerd, &newattr, NULL);
| ^~~~~~~~~~~~~
In Datei, eingebunden von ./include/linux/fdtable.h:16,
von /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:5:
./include/linux/fs.h:2865:5: Anmerkung: hier deklariert
2865 | int notify_change(struct user_namespace *, struct dentry *,
| ^~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c: Auf höchster Ebene:
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:998:12: Fehler: Initialisierung von »int (*)(struct user_namespace *, struct inode *, struct dentry *, umode_t)« {alias »int (*)(struct user_namespace *, struct inode *, struct dentry *, short unsigned int)«} von inkompatiblem Zeigertyp »int (*)(struct inode *, struct dentry *, umode_t)« {alias »int (*)(struct inode *, struct dentry *, short unsigned int)«} [-Werror=incompatible-pointer-types]
998 | .mkdir = shiftfs_mkdir,
| ^~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:998:12: Anmerkung: (nahe der Initialisierung für »shiftfs_dir_inode_operations.mkdir«)
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:999:13: Fehler: Initialisierung von »int (*)(struct user_namespace *, struct inode *, struct dentry *, const char *)« von inkompatiblem Zeigertyp »int (*)(struct inode *, struct dentry *, const char *)« [-Werror=incompatible-pointer-types]
999 | .symlink = shiftfs_symlink,
| ^~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:999:13: Anmerkung: (nahe der Initialisierung für »shiftfs_dir_inode_operations.symlink«)
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1002:13: Fehler: Initialisierung von »int (*)(struct user_namespace *, struct inode *, struct dentry *, struct inode *, struct dentry *, unsigned int)« von inkompatiblem Zeigertyp »int (*)(struct inode *, struct dentry *, struct inode *, struct dentry *, unsigned int)« [-Werror=incompatible-pointer-types]
1002 | .rename = shiftfs_rename,
| ^~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1002:13: Anmerkung: (nahe der Initialisierung für »shiftfs_dir_inode_operations.rename«)
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1004:13: Fehler: Initialisierung von »int (*)(struct user_namespace *, struct dentry *, struct iattr *)« von inkompatiblem Zeigertyp »int (*)(struct dentry *, struct iattr *)« [-Werror=incompatible-pointer-types]
1004 | .setattr = shiftfs_setattr,
| ^~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1004:13: Anmerkung: (nahe der Initialisierung für »shiftfs_dir_inode_operations.setattr«)
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1005:13: Fehler: Initialisierung von »int (*)(struct user_namespace *, struct inode *, struct dentry *, umode_t, bool)« {alias »int (*)(struct user_namespace *, struct inode *, struct dentry *, short unsigned int, _Bool)«} von inkompatiblem Zeigertyp »int (*)(struct inode *, struct dentry *, umode_t, bool)« {alias »int (*)(struct inode *, struct dentry *, short unsigned int, _Bool)«} [-Werror=incompatible-pointer-types]
1005 | .create = shiftfs_create,
| ^~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1005:13: Anmerkung: (nahe der Initialisierung für »shiftfs_dir_inode_operations.create«)
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1006:12: Fehler: Initialisierung von »int (*)(struct user_namespace *, struct inode *, struct dentry *, umode_t, dev_t)« {alias »int (*)(struct user_namespace *, struct inode *, struct dentry *, short unsigned int, unsigned int)«} von inkompatiblem Zeigertyp »int (*)(struct inode *, struct dentry *, umode_t, dev_t)« {alias »int (*)(struct inode *, struct dentry *, short unsigned int, unsigned int)«} [-Werror=incompatible-pointer-types]
1006 | .mknod = shiftfs_mknod,
| ^~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1006:12: Anmerkung: (nahe der Initialisierung für »shiftfs_dir_inode_operations.mknod«)
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1007:16: Fehler: Initialisierung von »int (*)(struct user_namespace *, struct inode *, int)« von inkompatiblem Zeigertyp »int (*)(struct inode *, int)« [-Werror=incompatible-pointer-types]
1007 | .permission = shiftfs_permission,
| ^~~~~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1007:16: Anmerkung: (nahe der Initialisierung für »shiftfs_dir_inode_operations.permission«)
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1008:13: Fehler: Initialisierung von »int (*)(struct user_namespace *, const struct path *, struct kstat *, u32, unsigned int)« {alias »int (*)(struct user_namespace *, const struct path *, struct kstat *, unsigned int, unsigned int)«} von inkompatiblem Zeigertyp »int (*)(const struct path *, struct kstat *, u32, unsigned int)« {alias »int (*)(const struct path *, struct kstat *, unsigned int, unsigned int)«} [-Werror=incompatible-pointer-types]
1008 | .getattr = shiftfs_getattr,
| ^~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1008:13: Anmerkung: (nahe der Initialisierung für »shiftfs_dir_inode_operations.getattr«)
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1015:13: Fehler: Initialisierung von »int (*)(struct user_namespace *, const struct path *, struct kstat *, u32, unsigned int)« {alias »int (*)(struct user_namespace *, const struct path *, struct kstat *, unsigned int, unsigned int)«} von inkompatiblem Zeigertyp »int (*)(const struct path *, struct kstat *, u32, unsigned int)« {alias »int (*)(const struct path *, struct kstat *, unsigned int, unsigned int)«} [-Werror=incompatible-pointer-types]
1015 | .getattr = shiftfs_getattr,
| ^~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1015:13: Anmerkung: (nahe der Initialisierung für »shiftfs_file_inode_operations.getattr«)
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1018:16: Fehler: Initialisierung von »int (*)(struct user_namespace *, struct inode *, int)« von inkompatiblem Zeigertyp »int (*)(struct inode *, int)« [-Werror=incompatible-pointer-types]
1018 | .permission = shiftfs_permission,
| ^~~~~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1018:16: Anmerkung: (nahe der Initialisierung für »shiftfs_file_inode_operations.permission«)
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1019:13: Fehler: Initialisierung von »int (*)(struct user_namespace *, struct dentry *, struct iattr *)« von inkompatiblem Zeigertyp »int (*)(struct dentry *, struct iattr *)« [-Werror=incompatible-pointer-types]
1019 | .setattr = shiftfs_setattr,
| ^~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1019:13: Anmerkung: (nahe der Initialisierung für »shiftfs_file_inode_operations.setattr«)
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1020:13: Fehler: Initialisierung von »int (*)(struct user_namespace *, struct inode *, struct dentry *, umode_t)« {alias »int (*)(struct user_namespace *, struct inode *, struct dentry *, short unsigned int)«} von inkompatiblem Zeigertyp »int (*)(struct inode *, struct dentry *, umode_t)« {alias »int (*)(struct inode *, struct dentry *, short unsigned int)«} [-Werror=incompatible-pointer-types]
1020 | .tmpfile = shiftfs_tmpfile,
| ^~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1020:13: Anmerkung: (nahe der Initialisierung für »shiftfs_file_inode_operations.tmpfile«)
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1024:13: Fehler: Initialisierung von »int (*)(struct user_namespace *, const struct path *, struct kstat *, u32, unsigned int)« {alias »int (*)(struct user_namespace *, const struct path *, struct kstat *, unsigned int, unsigned int)«} von inkompatiblem Zeigertyp »int (*)(const struct path *, struct kstat *, u32, unsigned int)« {alias »int (*)(const struct path *, struct kstat *, unsigned int, unsigned int)«} [-Werror=incompatible-pointer-types]
1024 | .getattr = shiftfs_getattr,
| ^~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1024:13: Anmerkung: (nahe der Initialisierung für »shiftfs_special_inode_operations.getattr«)
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1027:16: Fehler: Initialisierung von »int (*)(struct user_namespace *, struct inode *, int)« von inkompatiblem Zeigertyp »int (*)(struct inode *, int)« [-Werror=incompatible-pointer-types]
1027 | .permission = shiftfs_permission,
| ^~~~~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1027:16: Anmerkung: (nahe der Initialisierung für »shiftfs_special_inode_operations.permission«)
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1028:13: Fehler: Initialisierung von »int (*)(struct user_namespace *, struct dentry *, struct iattr *)« von inkompatiblem Zeigertyp »int (*)(struct dentry *, struct iattr *)« [-Werror=incompatible-pointer-types]
1028 | .setattr = shiftfs_setattr,
| ^~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1028:13: Anmerkung: (nahe der Initialisierung für »shiftfs_special_inode_operations.setattr«)
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1032:13: Fehler: Initialisierung von »int (*)(struct user_namespace *, const struct path *, struct kstat *, u32, unsigned int)« {alias »int (*)(struct user_namespace *, const struct path *, struct kstat *, unsigned int, unsigned int)«} von inkompatiblem Zeigertyp »int (*)(const struct path *, struct kstat *, u32, unsigned int)« {alias »int (*)(const struct path *, struct kstat *, unsigned int, unsigned int)«} [-Werror=incompatible-pointer-types]
1032 | .getattr = shiftfs_getattr,
| ^~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1032:13: Anmerkung: (nahe der Initialisierung für »shiftfs_symlink_inode_operations.getattr«)
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1035:13: Fehler: Initialisierung von »int (*)(struct user_namespace *, struct dentry *, struct iattr *)« von inkompatiblem Zeigertyp »int (*)(struct dentry *, struct iattr *)« [-Werror=incompatible-pointer-types]
1035 | .setattr = shiftfs_setattr,
| ^~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1035:13: Anmerkung: (nahe der Initialisierung für »shiftfs_symlink_inode_operations.setattr«)
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1856:12: Fehler: Initialisierung von »int (*)(const struct xattr_handler *, struct user_namespace *, struct dentry *, struct inode *, const char *, const void *, size_t, int)« {alias »int (*)(const struct xattr_handler *, struct user_namespace *, struct dentry *, struct inode *, const char *, const void *, long unsigned int, int)«} von inkompatiblem Zeigertyp »int (*)(const struct xattr_handler *, struct dentry *, struct inode *, const char *, const void *, size_t, int)« {alias »int (*)(const struct xattr_handler *, struct dentry *, struct inode *, const char *, const void *, long unsigned int, int)«} [-Werror=incompatible-pointer-types]
1856 | .set = shiftfs_xattr_set,
| ^~~~~~~~~~~~~~~~~
/var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.c:1856:12: Anmerkung: (nahe der Initialisierung für »shiftfs_xattr_handler.set«)
cc1: Einige Warnungen werden als Fehler behandelt
make[1]: *** [scripts/Makefile.build:271: /var/lib/dkms/shiftfs-dkms/20210417/build/shiftfs.o] Fehler 1
make: *** [Makefile:1851: /var/lib/dkms/shiftfs-dkms/20210417/build] Fehler 2
make: Verzeichnis „/usr/lib/modules/5.12.1-arch1-1/build“ wird verlassen
Expected behavior:
Kernel module should build.
System information:
OS/Distribution: Arch Linux
Kernelversion: 5.12.1.arch1-1
dkms-version: 2.8
shiftfs-dkms-version: k5.11 (recent)
Workaround:
I suspect this error to occur on the whole 5.12 branch (though I haven't tested that yet), so users should probably stay on the 5.11 branch or lower for now.
On Arch linux for example, the linux-lts
package provides the 5.10 branch.
Description of the Bug/Problem: Error! The /var/lib/dkms/shiftfs/k518/5.19.0-1025-aws/x86_64/dkms.conf for module shiftfs includes a BUILD_EXCLUSIVE directive which does not match this kernel/arch.
How to Reproduce:
Steps to reproduce the behavior:
sudo make -f Makefile.dkms
as given in the installation process.mkdir -p '/usr/src/shiftfs-k518' cp Makefile shiftfs.c '/usr/src/shiftfs-k518' sed 's/#MODULE_VERSION#/k518/' dkms.conf > '/usr/src/shiftfs-k518/dkms.conf' dkms build -m shiftfs -v k518 Error! The /var/lib/dkms/shiftfs/k518/5.19.0-1025-aws/x86_64/dkms.conf for module shiftfs includes a BUILD_EXCLUSIVE directive which does not match this kernel/arch. This indicates that it should not be built. make: *** [Makefile.dkms:16: build] Error 9
I tried changing the regex expression from BUILD_EXCLUSIVE_KERNEL="^(5.[18-19]+.|6.0.)" to BUILD_EXCLUSIVE_KERNEL="^(5.[18,19]+.|6.0.)" in dkms.conf file. Then, it has been installed.
System information:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.