Skip to content

Commit

Permalink
Merge pull request #3147 from cgwalters/generator-check-run-ostree
Browse files Browse the repository at this point in the history
generator: Exit if there's no `/run/ostree`
  • Loading branch information
cgwalters committed Jan 27, 2024
2 parents 79cb18b + b9ce0e8 commit 47213b5
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions src/libostree/ostree-impl-system-generator.c
Original file line number Diff line number Diff line change
Expand Up @@ -251,18 +251,18 @@ _ostree_impl_system_generator (const char *normal_dir, const char *early_dir, co
if (unlinkat (AT_FDCWD, INITRAMFS_MOUNT_VAR, 0) == 0)
return TRUE;

// If we're not booted via ostree, do nothing
if (!glnx_fstatat_allow_noent (AT_FDCWD, OTCORE_RUN_OSTREE, NULL, 0, error))
return FALSE;
if (errno == ENOENT)
return TRUE;

g_autofree char *cmdline = read_proc_cmdline ();
if (!cmdline)
return glnx_throw (error, "Failed to read /proc/cmdline");

/* If we're installed on a system which isn't using OSTree for boot (e.g.
* package installed as a dependency for flatpak or whatever), silently
* exit so that we don't error, but at the same time work where switchroot
* is PID 1 (and so hasn't created /run/ostree-booted).
*/
g_autofree char *ostree_cmdline = otcore_find_proc_cmdline_key (cmdline, "ostree");
if (!ostree_cmdline)
return TRUE;
// SAFETY: If we have /run/ostree, then we must have the ostree= karg
g_assert (ostree_cmdline);

if (!require_internal_units (normal_dir, early_dir, late_dir, error))
return FALSE;
Expand Down

0 comments on commit 47213b5

Please sign in to comment.