This is a useful workaround, the fundamental issue is a coreutils issue
with dd. I wonder if the coreutils maintainers can figure out why dd has
an executable stack.

** Also affects: coreutils (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: coreutils (Ubuntu)
   Importance: Undecided => High

** Description changed:

+ @coreutils maintainers, any idea why dd is being flagged as having an
+ executable stack?
+ 
+ --------------------
+ 
  When I try to revert to a previous state from the grub menu, the boot
  fails. The system drops me to a repair modus.
  
  zfs-mount-generator fails with the message:
  couldn't ensure boot: Mounted clone bootFS dataset created by initramfs 
doesn't have a valid _suffix (at least .*_<onechar>): \"rpool/ROOT/ubuntu_\"".
  
  After a reboot I have an extra clone called "rpool/ROOT/ubuntu_", indeed 
without a suffix.
- After a little investigation I found the problem in 
/usr/share/initramfs-tools/scripts/zfs at the end in function 
+ After a little investigation I found the problem in 
/usr/share/initramfs-tools/scripts/zfs at the end in function
  uid()
  {
-    dd if=/dev/urandom of=/dev/stdout bs=1 count=100 2>/dev/null | tr -dc 
'a-z0-9' | cut -c-6
+    dd if=/dev/urandom of=/dev/stdout bs=1 count=100 2>/dev/null | tr -dc 
'a-z0-9' | cut -c-6
  }, the dd command fails during boot with the message "process 'dd' started 
with executable stack.
  After this an empty uid is returned which explains the dataset without a 
proper suffix.
  Replacing the function  with:
  uid()
  {
-    grep -a -m10 -E "\*" /dev/urandom 2>/dev/null | tr -dc 'a-z0-9' | cut -c-6
+    grep -a -m10 -E "\*" /dev/urandom 2>/dev/null | tr -dc 'a-z0-9' | cut -c-6
  }
  
  fixes the problem.
  
  Ubuntu version is:
  Description:    Ubuntu Groovy Gorilla (development branch)
  Release:        20.10
  
  zfs-initramfs version is:
  0.8.4-1ubuntu11
  
  With regards,
  
  Usarin Heininga
  
  ProblemType: Bug
  DistroRelease: Ubuntu 20.10
  Package: zfs-initramfs 0.8.4-1ubuntu11
  ProcVersionSignature: Ubuntu 5.8.0-18.19-generic 5.8.4
  Uname: Linux 5.8.0-18-generic x86_64
  NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair
  ApportVersion: 2.20.11-0ubuntu45
  Architecture: amd64
  CasperMD5CheckResult: skip
  CurrentDesktop: KDE
  Date: Fri Sep  4 20:23:44 2020
  InstallationDate: Installed on 2020-09-02 (2 days ago)
  InstallationMedia: Ubuntu 20.10 "Groovy Gorilla" - Alpha amd64 (20200831)
  ProcEnviron:
-  LANGUAGE=
-  PATH=(custom, no user)
-  XDG_RUNTIME_DIR=<set>
-  LANG=nl_NL.UTF-8
-  SHELL=/bin/bash
+  LANGUAGE=
+  PATH=(custom, no user)
+  XDG_RUNTIME_DIR=<set>
+  LANG=nl_NL.UTF-8
+  SHELL=/bin/bash
  SourcePackage: zfs-linux
  UpgradeStatus: No upgrade log present (probably fresh install)

** Changed in: zfs-linux (Ubuntu)
       Status: New => Confirmed

** Changed in: zfs-linux (Ubuntu)
       Status: Confirmed => Triaged

** Changed in: coreutils (Ubuntu)
       Status: New => Incomplete

** Also affects: zsys (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: zsys (Ubuntu)
   Importance: Undecided => High

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to zfs-linux in Ubuntu.
https://bugs.launchpad.net/bugs/1894329

Title:
  ZFS revert from grub menu not working.

Status in coreutils package in Ubuntu:
  Incomplete
Status in zfs-linux package in Ubuntu:
  Triaged
Status in zsys package in Ubuntu:
  New

Bug description:
  @coreutils maintainers, any idea why dd is being flagged as having an
  executable stack?

  --------------------

  When I try to revert to a previous state from the grub menu, the boot
  fails. The system drops me to a repair modus.

  zfs-mount-generator fails with the message:
  couldn't ensure boot: Mounted clone bootFS dataset created by initramfs 
doesn't have a valid _suffix (at least .*_<onechar>): \"rpool/ROOT/ubuntu_\"".

  After a reboot I have an extra clone called "rpool/ROOT/ubuntu_", indeed 
without a suffix.
  After a little investigation I found the problem in 
/usr/share/initramfs-tools/scripts/zfs at the end in function
  uid()
  {
     dd if=/dev/urandom of=/dev/stdout bs=1 count=100 2>/dev/null | tr -dc 
'a-z0-9' | cut -c-6
  }, the dd command fails during boot with the message "process 'dd' started 
with executable stack.
  After this an empty uid is returned which explains the dataset without a 
proper suffix.
  Replacing the function  with:
  uid()
  {
     grep -a -m10 -E "\*" /dev/urandom 2>/dev/null | tr -dc 'a-z0-9' | cut -c-6
  }

  fixes the problem.

  Ubuntu version is:
  Description:    Ubuntu Groovy Gorilla (development branch)
  Release:        20.10

  zfs-initramfs version is:
  0.8.4-1ubuntu11

  With regards,

  Usarin Heininga

  ProblemType: Bug
  DistroRelease: Ubuntu 20.10
  Package: zfs-initramfs 0.8.4-1ubuntu11
  ProcVersionSignature: Ubuntu 5.8.0-18.19-generic 5.8.4
  Uname: Linux 5.8.0-18-generic x86_64
  NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair
  ApportVersion: 2.20.11-0ubuntu45
  Architecture: amd64
  CasperMD5CheckResult: skip
  CurrentDesktop: KDE
  Date: Fri Sep  4 20:23:44 2020
  InstallationDate: Installed on 2020-09-02 (2 days ago)
  InstallationMedia: Ubuntu 20.10 "Groovy Gorilla" - Alpha amd64 (20200831)
  ProcEnviron:
   LANGUAGE=
   PATH=(custom, no user)
   XDG_RUNTIME_DIR=<set>
   LANG=nl_NL.UTF-8
   SHELL=/bin/bash
  SourcePackage: zfs-linux
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/coreutils/+bug/1894329/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to