debian/tests/corosync: gfs2_jadd fails with ENOTTY for i386 package on amd64 kernel
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gfs2-utils (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Eoan |
Invalid
|
Undecided
|
Unassigned | ||
Focal |
Invalid
|
Undecided
|
Unassigned | ||
linux (Ubuntu) |
Fix Released
|
Medium
|
Mauricio Faria de Oliveira | ||
Eoan |
Fix Released
|
Medium
|
Mauricio Faria de Oliveira | ||
Focal |
Fix Released
|
Medium
|
Mauricio Faria de Oliveira |
Bug Description
[Impact]
* The gfs2_jadd command (used in debian/
fails with ENOTTY ("Inappropriate ioctl for device")
when the i386 packages are run on an amd64 kernel.
* The i386 kernel is gone, only amd64 is available.
* The fix introduces the compat ioctl()s for gfs2,
which landed in v5.5-rc1 thus not in Eoan/Focal.
[Test Case]
* The test steps are detailed in comment #2
based on gfs2-utils:
modified to be simpler and to fail either
with ENOTTY (failure) or ENOSPC (success).
[Regression Potential]
* The previous surface for this problem is
likely low, as i386 arch installs (which
is not as popular/widely used as amd64
nowadays) probably used the i386 kernel.
* The amd64-only kernel version released
is 5.3.0-17.18 dated 2019-10-10; gives
~3 month window to mid January 2020.
* So, behavior changes could theoretically
be seen on i386 installs with the newer
kernel which is amd64-only, where gfs2-utils
failed with ENOTTY and now is working fine
or failing differently (e.g. see test-case).
[Original Description]
The gfs2_jadd command (used in debian/
fails with ENOTTY ("Inappropriate ioctl for device")
when the i386 packages are run on an amd64 kernel.
The i386 kernel has gone away, only amd64 is available:
- The i386 kernel build is dropped as of 5.3.0-15.16:
* Drop i386 build for 19.10 (LP: #1845714)
- Only linux-libc-dev:i386 is still built as of 5.3.0-17.18
* Re-enable linux-libc-dev build on i386 (LP: #1846508)
The last passing autopkgtests for gfs2-utils:i386 are on 5.3.0-13.14 built for i386.
The same kernel version built for amd64 _fails_.
(so it's potentially user/kernel interface, or kernel-only.)
- i386/i686)
# uname -rvm
5.3.0-13-generic #14-Ubuntu SMP Tue Sep 24 02:43:47 UTC 2019 i686
root@sf256930ei:~# gfs2_jadd -j 1 /mnt
Filesystem: /mnt
Old journals: 2
New journals: 3
- amd64/x86_64)
# uname -rvm
5.3.0-13-generic #14-Ubuntu SMP Tue Sep 24 02:46:08 UTC 2019 x86_64
# gfs2_jadd -j 1 /mnt
GETFLAGS: Inappropriate ioctl for device
CVE References
Changed in gfs2-utils (Ubuntu): | |
status: | New → Confirmed |
importance: | Undecided → Medium |
assignee: | nobody → Mauricio Faria de Oliveira (mfo) |
Changed in gfs2-utils (Ubuntu Eoan): | |
status: | New → Confirmed |
importance: | Undecided → Medium |
assignee: | nobody → Mauricio Faria de Oliveira (mfo) |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
Changed in gfs2-utils (Ubuntu Eoan): | |
status: | Confirmed → In Progress |
Changed in gfs2-utils (Ubuntu Focal): | |
status: | Confirmed → In Progress |
description: | updated |
Changed in linux (Ubuntu Focal): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Eoan): | |
status: | In Progress → Fix Committed |
This issue should be fixed with linux commit 8d0980704842 ("gfs2: add compat_ioctl support") [1] introduced in v5.5-rc1 which adds handling for ioctl FS_IOC32_GETFLAGS and FS_IOC32_SETFLAGS.
Kicking a test build.
$ git describe --contains 8d0980704842e
v5.5-rc1~101^2~14
[1] https:/ /git.kernel. org/pub/ scm/linux/ kernel/ git/torvalds/ linux.git/ commit/ ?id=8d098070484 2e