[Bug 1974109] Re: [UBUNTU 22.04] zipl segfaults when "parameters=" is missing

Frank Heimes 1974109 at bugs.launchpad.net
Tue Aug 30 07:22:36 UTC 2022


** Description changed:

+ SRU Justification:
+ ------------------
+ 
+ [Impact]
+ 
+  * The zipl boot-loader tool segfaults if a section doesn't contain
+    a "parameters =" line.
+ 
+  * Adding a "parameters =" line makes the problem go away.
+ 
+  * This is especially problematic when secure execution is set up,
+    since the parameter is provided in the secure image
+    and hence a zipl parameter is not needed.
+ 
+ [Fix]
+ 
+  * 6ff8202f 6ff8202fa9e172199e995298d336d9dd87ca8180 "zipl: Add missing
+ check for a nullpointer."
+ 
+ [Test Plan]
+ 
+  * Setup a default Ubuntu Server for s390x test installation.
+ 
+  * Backup the existing /etc/zipl.conf:
+    cp /etc/zipl.conf ~
+ 
+  * Edit /etc/zipl.conf and remove (or better comment out)
+    'the parameters =' line:
+    sudo vi /etc/zipl.conf
+    and save the file.
+ 
+  * Execute the zipl tool to re-write the zipl bootloader
+    and it will segfault
+    without the patch (like this):
+    sudo zipl
+    Using config file '/etc/zipl.conf'
+    Segmentation fault
+ 
+  * or complete successfully (like this):
+    sudo zipl
+    Using config file '/etc/zipl.conf'
+    Building bootmap in '/boot'
+    Adding IPL section 'ubuntu' (default)
+    Preparing boot device: dasda (0101).
+    Done.
+ 
+ [Where problems could occur]
+ 
+  * It's a patch that changes just one line,
+    checks the existence of the parmline
+    and only then computes it's length,
+    and otherwise sets the length to 0.
+ 
+  * Issues could occur if the compact/short if
+    statement is wrong and for example the logic mixed up.
+ 
+  * Or if somewhere else in the code a length of 0
+    for the parameters line is not expected and will
+    cause further issues.
+ 
+  * Both cases can simply be covered by the above test.
+ 
+ [Other Info]
+ 
+  * The above fix is included in s390-tools v2.23
+    and is with that incl. in the kinetic s390-tools version.
+ __________
+ 
  ZIPL segfaults if a section doesn't contain a "parameter=" line.
  Adding that line makes the problem go away.
-  
- This is especially a problem when secure execution is set up since the parameter is provided in the secure image and hence a zipl parameter is not needed.
+ 
+ This is especially a problem when secure execution is set up since the
+ parameter is provided in the secure image and hence a zipl parameter is
+ not needed.
  
  ---uname output---
  Linux linux6 5.15.0-27-generic #28-Ubuntu SMP Thu Apr 14 04:55:23 UTC 2022 s390x s390x s390x GNU/Linux
-  
- Machine Type = z16 
-  
+ 
+ Machine Type = z16
+ 
  ---Steps to Reproduce---
  Add a section to /etc/zipl.conf that doesn't have a parameter line.
-  
- Userspace tool common name: zipl 
-  
+ 
+ Userspace tool common name: zipl
+ 
  The userspace tool has the following bit modes: 64-bit

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to s390-tools-signed in Ubuntu.
https://bugs.launchpad.net/bugs/1974109

Title:
  [UBUNTU 22.04] zipl segfaults when "parameters=" is missing

Status in Ubuntu on IBM z Systems:
  Incomplete
Status in s390-tools package in Ubuntu:
  New
Status in s390-tools-signed package in Ubuntu:
  New

Bug description:
  SRU Justification:
  ------------------

  [Impact]

   * The zipl boot-loader tool segfaults if a section doesn't contain
     a "parameters =" line.

   * Adding a "parameters =" line makes the problem go away.

   * This is especially problematic when secure execution is set up,
     since the parameter is provided in the secure image
     and hence a zipl parameter is not needed.

  [Fix]

   * 6ff8202f 6ff8202fa9e172199e995298d336d9dd87ca8180 "zipl: Add
  missing check for a nullpointer."

  [Test Plan]

   * Setup a default Ubuntu Server for s390x test installation.

   * Backup the existing /etc/zipl.conf:
     cp /etc/zipl.conf ~

   * Edit /etc/zipl.conf and remove (or better comment out)
     'the parameters =' line:
     sudo vi /etc/zipl.conf
     and save the file.

   * Execute the zipl tool to re-write the zipl bootloader
     and it will segfault
     without the patch (like this):
     sudo zipl
     Using config file '/etc/zipl.conf'
     Segmentation fault

   * or complete successfully (like this):
     sudo zipl
     Using config file '/etc/zipl.conf'
     Building bootmap in '/boot'
     Adding IPL section 'ubuntu' (default)
     Preparing boot device: dasda (0101).
     Done.

  [Where problems could occur]

   * It's a patch that changes just one line,
     checks the existence of the parmline
     and only then computes it's length,
     and otherwise sets the length to 0.

   * Issues could occur if the compact/short if
     statement is wrong and for example the logic mixed up.

   * Or if somewhere else in the code a length of 0
     for the parameters line is not expected and will
     cause further issues.

   * Both cases can simply be covered by the above test.

  [Other Info]

   * The above fix is included in s390-tools v2.23
     and is with that incl. in the kinetic s390-tools version.
  __________

  ZIPL segfaults if a section doesn't contain a "parameter=" line.
  Adding that line makes the problem go away.

  This is especially a problem when secure execution is set up since the
  parameter is provided in the secure image and hence a zipl parameter
  is not needed.

  ---uname output---
  Linux linux6 5.15.0-27-generic #28-Ubuntu SMP Thu Apr 14 04:55:23 UTC 2022 s390x s390x s390x GNU/Linux

  Machine Type = z16

  ---Steps to Reproduce---
  Add a section to /etc/zipl.conf that doesn't have a parameter line.

  Userspace tool common name: zipl

  The userspace tool has the following bit modes: 64-bit

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1974109/+subscriptions




More information about the foundations-bugs mailing list