zfs mount -a: double free / memory corruption / segfault when mountpoint of dataset is not empty
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
zfs-linux (Ubuntu) |
Fix Released
|
High
|
Andrea Righi | ||
Focal |
Fix Released
|
High
|
Unassigned | ||
Groovy |
Fix Released
|
High
|
Unassigned | ||
Hirsute |
Fix Released
|
High
|
Andrea Righi |
Bug Description
== SRU Justification Focal ==
zfs mount -a when run on a nonempty mountpoint causes a double free, memory corruption, and a segfault.
== Impact ==
Double free and memory corruption in ZFS when run as root and attempting to mount all. While running this I observed other ZFS volumes randomly unmounting, and mount points owner being spuriously zeroed (set to root).
== Fix ==
https:/
== Test ==
Steps are laid out in the ZFS issue: https:/
== Regression Potential ==
Limited to the behavior of zfs mount when a previous attempt to mount has failed, or is still in progress. Changes the behavior in that case to failure, instead of double-free.
Example case of running into this bug, with dmesg: https:/
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.1 LTS
Release: 20.04
Codename: focal
$ apt-cache policy zfsutils-linux
zfsutils-linux:
Installed: 0.8.3-1ubuntu12.4
Candidate: 0.8.3-1ubuntu12.4
Version table:
*** 0.8.3-1ubuntu12.4 500
500 http://
100 /var/lib/
0.
500 http://
tags: | added: patch |
Changed in zfs-linux (Ubuntu Hirsute): | |
assignee: | nobody → Andrea Righi (arighi) |
importance: | Undecided → High |
Changed in zfs-linux (Ubuntu Groovy): | |
importance: | Undecided → High |
Changed in zfs-linux (Ubuntu Focal): | |
importance: | Undecided → High |
Changed in zfs-linux (Ubuntu Bionic): | |
importance: | Undecided → High |
Changed in zfs-linux (Ubuntu Xenial): | |
importance: | Undecided → High |
Changed in zfs-linux (Ubuntu Hirsute): | |
status: | New → In Progress |
Changed in zfs-linux (Ubuntu Groovy): | |
status: | New → In Progress |
Changed in zfs-linux (Ubuntu Focal): | |
status: | New → In Progress |
Changed in zfs-linux (Ubuntu Bionic): | |
status: | New → In Progress |
Changed in zfs-linux (Ubuntu Xenial): | |
status: | New → In Progress |
Changed in zfs-linux (Ubuntu Xenial): | |
status: | In Progress → Invalid |
Changed in zfs-linux (Ubuntu Bionic): | |
status: | In Progress → Invalid |
tags: | added: verification-failed-groovy verification-needed-focal |
tags: |
added: verification-needed-groovy removed: verification-failed-groovy |
tags: |
added: verification-done-focal removed: verification-needed-focal |
tags: |
added: verification-done-groovy removed: verification-needed-groovy |
debdiff for focal reported in attach (built and tested).