Bug#886799: openafs-modules-dkms: install fails with compile error "implicit declaration of function 'inode_change_ok'"
1. Download the three files (*.dsc, *orig.tar.xz, and *debian.tar.xz) for the 1.6.9 distribution on the wheezy-backports page https://packages.debian.org/source/wheezy-backports/openafs 2. Run git-import-dsc 3. Add the patch file provided by Zdenek Salvet to debian/patches and update the series file (patch file: https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=886799;filename=meta_port_inode_change_ok.patch;msg=15) 4. Build the package using "pbuild wheezy". 5. Copy the created debian package openafs-modules-dkms_1.6.9-2+deb8u4~bpo70+1_all.deb to a wheezy server on the 3.2.0-5 kernel and install via "dpkg -i". 6. The install fails; these lines in /var/lib/dkms/openafs/1.6.9/build/make.log indicate the error: /var/lib/dkms/openafs/1.6.9/build/src/libafs/MODLOAD-3.2.0-5-amd64-SP/osi_file.c: In function 'osi_UFSTruncate': /var/lib/dkms/openafs/1.6.9/build/src/libafs/MODLOAD-3.2.0-5-amd64-SP/osi_file.c:195:5: error: implicit declaration of function 'inode_change_ok' [-Werror=implicit-function-declaration] Thanks, Adam Lewenberg On 1/25/2018 6:03 PM, Benjamin Kaduk wrote: On Thu, Jan 25, 2018 at 09:21:48AM -0800, deb...@lewenberg.com wrote: The patch you provide works fine with jessie and the 1.6.9 source packages. However, I cannot get it to work with wheezy. I compile the openafs source package against wheezy and the compilation completes without error and creates a bunch of .deb files. But when I try to install the patched openafs-modules-dkms on a 3.2.0-5 wheezy kernel I get the same error as before: /var/lib/dkms/openafs/1.6.9/build/src/libafs/MODLOAD-3.2.0-5-amd64-SP/osi_file.c: In function 'osi_UFSTruncate': /var/lib/dkms/openafs/1.6.9/build/src/libafs/MODLOAD-3.2.0-5-amd64-SP/osi_file.c:195:5: error: implicit declaration of function 'inode_change_ok' [-Werror=implicit-function-declaration] Has anyone successfully compiled and installed 1.6.9 on a 3.2.0-5 wheezy machine? I have one running, yes. I put my progress so far into the soon-to-be-non-canonical packaging repo at https://anonscm.debian.org/cgit/pkg-k5-afs/openafs.git/log/?id=refs/heads/wheezy and asked on debian-lts about the procedure for getting it into wheezy, since this is not technically a security update (https://lists.debian.org/debian-lts/2018/01/msg00079.html). How are you building your packages that are failing to build a DKMS module? -Ben
Bug#886799: openafs-modules-dkms: install fails with compile error "implicit declaration of function 'inode_change_ok'"
On Thu, Jan 25, 2018 at 09:21:48AM -0800, deb...@lewenberg.com wrote: > > The patch you provide works fine with jessie and the 1.6.9 source > packages. However, I cannot get it to work with wheezy. > > I compile the openafs source package against wheezy and the compilation > completes without error and creates a bunch of .deb files. But when I > try to install the patched openafs-modules-dkms on a 3.2.0-5 wheezy > kernel I get the same error as before: > > /var/lib/dkms/openafs/1.6.9/build/src/libafs/MODLOAD-3.2.0-5-amd64-SP/osi_file.c: > > In function 'osi_UFSTruncate': > /var/lib/dkms/openafs/1.6.9/build/src/libafs/MODLOAD-3.2.0-5-amd64-SP/osi_file.c:195:5: > > error: implicit declaration of function 'inode_change_ok' > [-Werror=implicit-function-declaration] > > Has anyone successfully compiled and installed 1.6.9 on a 3.2.0-5 wheezy > machine? I have one running, yes. I put my progress so far into the soon-to-be-non-canonical packaging repo at https://anonscm.debian.org/cgit/pkg-k5-afs/openafs.git/log/?id=refs/heads/wheezy and asked on debian-lts about the procedure for getting it into wheezy, since this is not technically a security update (https://lists.debian.org/debian-lts/2018/01/msg00079.html). How are you building your packages that are failing to build a DKMS module? -Ben
Bug#886799: openafs-modules-dkms: install fails with compile error "implicit declaration of function 'inode_change_ok'"
On Wed, 10 Jan 2018 11:52:24 +0100 Zdenek Salvet wrote: On Tue, Jan 09, 2018 at 11:08:18PM -0600, Benjamin Kaduk wrote: > So the security update for meltdown/spectre changed the kernel ABI? > That's kind of unfortunate; usually Ben tries pretty hard to avoid > doing so. Yes, it was probably necessary (other postponed fixes requiring new ABI were added as well). I managed to create working openafs-modules-dkms by adding attached patch to openafs source package (works with both jessie and backport versions)... -- Zdenek Salvet sal...@ics.muni.cz Institute of Computer Science of Masaryk University, Brno, Czech Republic and CESNET, z.s.p.o., Prague, Czech Republic Phone: ++420-549 49 6534 Fax: ++420-541 212 747 Teamwork is essential -- it allows you to blame someone else. The patch you provide works fine with jessie and the 1.6.9 source packages. However, I cannot get it to work with wheezy. I compile the openafs source package against wheezy and the compilation completes without error and creates a bunch of .deb files. But when I try to install the patched openafs-modules-dkms on a 3.2.0-5 wheezy kernel I get the same error as before: /var/lib/dkms/openafs/1.6.9/build/src/libafs/MODLOAD-3.2.0-5-amd64-SP/osi_file.c: In function 'osi_UFSTruncate': /var/lib/dkms/openafs/1.6.9/build/src/libafs/MODLOAD-3.2.0-5-amd64-SP/osi_file.c:195:5: error: implicit declaration of function 'inode_change_ok' [-Werror=implicit-function-declaration] Has anyone successfully compiled and installed 1.6.9 on a 3.2.0-5 wheezy machine? Adam Lewenberg
Bug#886799: fixing openafs kernel module for security updated kernel
The SRU request for jessie is in #887857. I don't think there is a way to get a fix into jessie-backports, so I think we will need to remove openafs-modules-source and openafs-modules-dkms from jessie-backports and pull the version from buster into jessie-backports-sloppy (which will be a trip through NEW and require a DD sponsor, since I'm only a DM). I'm still looking at wheezy. -Ben
Bug#886799: Info received (openafs-modules-dkms: info regarding source of bug)
On Thu, 11 Jan 2018 16:55:52 -0500 Richard Burhans wrote: The attached patch appears to fix openafs_1.6.9-2+deb8u6: While that patch takes care of the inode_change_ok problem, there is still the "'struct dentry' has no member named 'd_alias'" problem (see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=776926 ).
Bug#886799: fixing openafs kernel module for security updated kernel
Hi folks, Thanks for all the interest and proposed patches. I just want to note that the openafs fix will need to go through as a SRU (Stable Release Update), which requires preapproval from the stable release managers, and will not actually appear in stable/oldstable until the next point release. (It will be available in the relevant proposed-updates pocket before then.) So, I would recommend a temporary workaround of a local build or just using the packages from buster until the SRU is available. -Ben
Bug#886799: Info received (openafs-modules-dkms: info regarding source of bug)
The attached patch appears to fix openafs_1.6.9-2+deb8u6: 0023-setattr_prepare.patch Description: Binary data
Bug#886799: openafs-modules-dkms: info regarding source of bug
Package: openafs-modules-dkms Version: 1.6.9-2+deb8u6 Followup-For: Bug #886799 Dear Maintainer, This is the kernel change that causes this issue (inode_change_ok replaced by setattr_prepare): https://github.com/torvalds/linux/commit/31051c85b5e2aaaf6315f74c72a732673632a905 It was brought to linux-stable in version 3.16.39: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/Documentation/filesystems/porting?h=linux-3.16.y&id=50b070e8224f7bf86622ede1abee9fa3d3dc2f10 Here's the fix in the openafs code: https://github.com/openafs/openafs/commit/8aeb711eeaa5ddac5a74c354091e2d4f7ac0cd63#diff-fc8e1fc631afe2ecd71511ff132bdefd -- System Information: Debian Release: 8.10 APT prefers oldstable-updates APT policy: (500, 'oldstable-updates'), (500, 'oldstable') Architecture: amd64 (x86_64) Kernel: Linux 3.16.0-5-amd64 (SMP w/8 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages openafs-modules-dkms depends on: ii dkms 2.2.0.3-2 ii libc6-dev 2.19-18+deb8u10 ii perl 5.20.2-3+deb8u9 Versions of packages openafs-modules-dkms recommends: ii openafs-client 1.6.9-2+deb8u6 openafs-modules-dkms suggests no packages. -- no debconf information
Bug#886799:
I want to confirm that we’re seeing this on multiple Jessie systems as well, when building for 3.16.0-5-amd64: Building initial module for 3.16.0-5-amd64 Error! Bad return status for module build on kernel: 3.16.0-5-amd64 (x86_64) Consult /var/lib/dkms/openafs/1.6.9/build/make.log for more information. CC [M] /var/lib/dkms/openafs/1.6.9/build/src/libafs/MODLOAD-3.16.0-5-amd64-SP/osi_file.o /var/lib/dkms/openafs/1.6.9/build/src/libafs/MODLOAD-3.16.0-5-amd64-SP/osi_file.c: In function 'osi_UFSTruncate': /var/lib/dkms/openafs/1.6.9/build/src/libafs/MODLOAD-3.16.0-5-amd64-SP/osi_file.c:187:5: error: implicit declaration of function 'inode_change_ok' [-Werror=implicit-function-declaration] code = inode_change_ok(inode, &newattrs); ^ cc1: some warnings being treated as errors
Bug#886799: openafs-modules-dkms: install fails with compile error "implicit declaration of function 'inode_change_ok'"
I want to confirm that we’re seeing this on multiple Jessie systems as well, when building for 3.16.0-5-amd64: Building initial module for 3.16.0-5-amd64 Error! Bad return status for module build on kernel: 3.16.0-5-amd64 (x86_64) Consult /var/lib/dkms/openafs/1.6.9/build/make.log for more information. CC [M] /var/lib/dkms/openafs/1.6.9/build/src/libafs/MODLOAD-3.16.0-5-amd64-SP/osi_file.o /var/lib/dkms/openafs/1.6.9/build/src/libafs/MODLOAD-3.16.0-5-amd64-SP/osi_file.c: In function 'osi_UFSTruncate': /var/lib/dkms/openafs/1.6.9/build/src/libafs/MODLOAD-3.16.0-5-amd64-SP/osi_file.c:187:5: error: implicit declaration of function 'inode_change_ok' [-Werror=implicit-function-declaration] code = inode_change_ok(inode, &newattrs); ^ cc1: some warnings being treated as errors thanks!
Bug#886799: openafs-modules-dkms: install fails with compile error "implicit declaration of function 'inode_change_ok'"
On Tue, Jan 09, 2018 at 11:08:18PM -0600, Benjamin Kaduk wrote: > So the security update for meltdown/spectre changed the kernel ABI? > That's kind of unfortunate; usually Ben tries pretty hard to avoid > doing so. Yes, it was probably necessary (other postponed fixes requiring new ABI were added as well). I managed to create working openafs-modules-dkms by adding attached patch to openafs source package (works with both jessie and backport versions)... -- Zdenek Salvet sal...@ics.muni.cz Institute of Computer Science of Masaryk University, Brno, Czech Republic and CESNET, z.s.p.o., Prague, Czech Republic Phone: ++420-549 49 6534 Fax: ++420-541 212 747 Teamwork is essential -- it allows you to blame someone else. Index: openafs-1.6.18.2/src/afs/LINUX/osi_file.c === --- openafs-1.6.18.2.orig/src/afs/LINUX/osi_file.c +++ openafs-1.6.18.2/src/afs/LINUX/osi_file.c @@ -16,6 +16,8 @@ #include "afsincludes.h" /* Afs-based standard headers */ #include "afs/afs_stats.h" /* afs statistics */ #include +#include +#include #if defined(HAVE_LINUX_EXPORTFS_H) #include @@ -184,7 +186,14 @@ osi_UFSTruncate(struct osi_file *afile, newattrs.ia_ctime = CURRENT_TIME; /* avoid notify_change() since it wants to update dentry->d_parent */ +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,51) +{ + struct dentry *dentry = OSIFILE_DENTRY(afile); + code = setattr_prepare(dentry, &newattrs); +} +#else code = inode_change_ok(inode, &newattrs); +#endif if (!code) code = afs_inode_setattr(afile, &newattrs); if (!code) Index: openafs-1.6.18.2/src/afs/LINUX/osi_machdep.h === --- openafs-1.6.18.2.orig/src/afs/LINUX/osi_machdep.h +++ openafs-1.6.18.2/src/afs/LINUX/osi_machdep.h @@ -292,6 +292,7 @@ struct uio { #define FILE_INODE(F) (F)->f_dentry->d_inode #define OSIFILE_INODE(a) FILE_INODE((a)->filp) +#define OSIFILE_DENTRY(a) ((a)->filp)->f_dentry #if defined(AFS_LINUX_64BIT_KERNEL) && !defined(AFS_ALPHA_LINUX20_ENV) && !defined(AFS_IA64_LINUX20_ENV) # define NEED_IOCTL32
Bug#886799: openafs-modules-dkms: install fails with compile error "implicit declaration of function 'inode_change_ok'"
On Tue, Jan 09, 2018 at 02:40:23PM -0800, Adam Lewenberg wrote: > Package: openafs-modules-dkms > Version: 1.6.9-2+deb8u4~bpo70+1 > Severity: important > > After upgrading wheezy kernel to 3.2.0-5-amd64 openafs-modules-dkms could not > rebuild > OpenAFS kernel module. > > Here is the error message: > > CC [M] > /var/lib/dkms/openafs/1.6.9/build/src/libafs/MODLOAD-3.2.0-5-amd64-SP/osi_file.o > /var/lib/dkms/openafs/1.6.9/build/src/libafs/MODLOAD-3.2.0-5-amd64-SP/osi_file.c: > In function 'osi_UFSTruncate': > /var/lib/dkms/openafs/1.6.9/build/src/libafs/MODLOAD-3.2.0-5-amd64-SP/osi_file.c:187:5: > error: implicit declaration of function 'inode_change_ok' > [-Werror=implicit-function-declaration] So the security update for meltdown/spectre changed the kernel ABI? That's kind of unfortunate; usually Ben tries pretty hard to avoid doing so. I don't have much of a jessie environment floating around, so it will probably be a bit before I can track down exactly which patches to pull in from upstream to address this. It also looks like an updated version in -backports is unlikely to help; would you be interested in a -backports-sloppy as a faster interim option? Thanks for the report. -Ben
Bug#886799: openafs-modules-dkms: install fails with compile error "implicit declaration of function 'inode_change_ok'"
Package: openafs-modules-dkms Version: 1.6.9-2+deb8u4~bpo70+1 Severity: important After upgrading wheezy kernel to 3.2.0-5-amd64 openafs-modules-dkms could not rebuild OpenAFS kernel module. Here is the error message: CC [M] /var/lib/dkms/openafs/1.6.9/build/src/libafs/MODLOAD-3.2.0-5-amd64-SP/osi_file.o /var/lib/dkms/openafs/1.6.9/build/src/libafs/MODLOAD-3.2.0-5-amd64-SP/osi_file.c: In function 'osi_UFSTruncate': /var/lib/dkms/openafs/1.6.9/build/src/libafs/MODLOAD-3.2.0-5-amd64-SP/osi_file.c:187:5: error: implicit declaration of function 'inode_change_ok' [-Werror=implicit-function-declaration] -- System Information: Debian Release: 7.11 APT prefers oldoldstable-updates APT policy: (500, 'oldoldstable-updates'), (500, 'oldoldstable') Architecture: amd64 (x86_64) Kernel: Linux 3.2.0-5-amd64 (SMP w/8 CPU cores) Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Shell: /bin/sh linked to /bin/bash Versions of packages openafs-modules-dkms depends on: ii dkms 2.2.0.3-1.2 ii libc6-dev 2.13-38+deb7u12 ii perl 5.14.2-21+deb7u5 Versions of packages openafs-modules-dkms recommends: ii openafs-client 1.6.9-2+deb8u4~bpo70+1 openafs-modules-dkms suggests no packages. -- no debconf information