update-motd-fsck-at-reboot: exclude nbd devices

Bug #1982486 reported by Dan Watkins
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
update-notifier (Ubuntu)
Fix Released
High
Dan Watkins
Focal
Triaged
Medium
Unassigned
Jammy
Triaged
Medium
Unassigned
Kinetic
Fix Released
High
Dan Watkins

Bug Description

[Impact]

* update-motd-fsck-at-reboot will block shutdown if a broken NBD device is present in the system when it executes. In some configurations (e.g. when sudo authorisation is provided via sssd, which stops before this task completes), this can result in a hard power cycle being required to return a machine to service.

* Users with NBD devices will erroneously see them reported as devices that will be fsck'd at next boot.

[Test Plan]

* Get a QEMU image containing an ext4 partition (e.g. https://cloud-images.ubuntu.com/releases/focal/release/ubuntu-20.04-server-cloudimg-amd64.img)
* `qemu-nbd -c /dev/nbd0 <that image>`
* `mount /dev/nbd0p2 /mnt` (partition number may vary depending on your image)
* Execute `update-motd-fsck-at-reboot`
* Observe NBD device not included

[Where problems could occur]

If the one-line fix is incorrect, users may not receive notification of fsck'ing that is going to happen, which they may rely on.

[Original Report]

I've ended up in a situation where a machine's /dev/nbd* devices are in a broken state: the easiest way for me to fix this is to reboot the system. However, the reboot is blocked by update-motd-fsck-at-reboot trying to run dumpe2fs against one of the broken partitions:

$ ps faux
...
root 191396 0.0 0.2 37864 8672 ? Ss 12:37 0:00 sshd: dwatkins [priv]
root 191421 0.0 0.0 2608 480 ? S 12:37 0:00 \_ sh -c /usr/bin/env -i PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin run-parts --ls
root 191422 0.0 0.0 2496 508 ? S 12:37 0:00 \_ run-parts --lsbsysinit /etc/update-motd.d
root 191455 0.0 0.0 2608 1748 ? S 12:37 0:00 \_ /bin/sh /usr/lib/update-notifier/update-motd-fsck-at-reboot
root 191483 0.0 0.0 3480 944 ? D 12:37 0:00 \_ dumpe2fs -h /dev/nbd0p2
...

These NBD devices will not be present after a reboot, so I think the script would probably be more correct if it omitted operating on these devices.

Tags: fr-2579

Related branches

Revision history for this message
Dan Watkins (oddbloke) wrote :

I have proposed a fix in the related branch.

Changed in update-notifier (Ubuntu):
assignee: nobody → Dan Watkins (oddbloke)
status: New → In Progress
Revision history for this message
Dan Watkins (oddbloke) wrote :

And have also submitted a backport of the fix to the focal branch: will add SRU template here now.

Revision history for this message
Dan Watkins (oddbloke) wrote :

I would also like this fix in jammy (as would the SRU team, if I'm fixing it in focal!): given a `jammy` branch doesn't yet exist, I'm not sure how best to proceed with that.

description: updated
tags: added: rls-kk-incoming
Changed in update-notifier (Ubuntu):
importance: Undecided → High
tags: added: fr-2579
tags: removed: rls-kk-incoming
Revision history for this message
Brian Murray (brian-murray) wrote :

I've sponsored this for Kinetic.

Revision history for this message
Dan Bungert (dbungert) wrote :

LP: #1987703 suggests that this should not yet be SRUed.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package update-notifier - 3.192.56

---------------
update-notifier (3.192.56) kinetic; urgency=medium

  * data/update-motd-fsck-at-reboot: fix exit status 1 if update-motd is run
    on a system with no ext[234] partitions (LP: #1987703)

 -- Dan Bungert <email address hidden> Thu, 25 Aug 2022 15:02:28 -0600

Changed in update-notifier (Ubuntu Kinetic):
status: In Progress → Fix Released
Changed in update-notifier (Ubuntu Jammy):
importance: Undecided → Medium
status: New → Triaged
Changed in update-notifier (Ubuntu Focal):
status: New → Triaged
importance: Undecided → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.