Public bug reported:

Before systemd-modules-load, /etc/init.d/kmod would load modules
directly with "modprobe" (and _not_ "modprobe -b"):

load_module() {
  local module args
  module="$1"
  args="$2"

  if [ "$VERBOSE" != no ]; then
    log_action_msg "Loading kernel module $module"
    modprobe $module $args || true
  else
    modprobe $module $args > /dev/null 2>&1 || true
  fi
}

However, under 18.04, systemd-modules-load will _ignore_ modules that
are manually listed in /etc/modules and process them with the blacklist
(the same as "modprobe -b" would). This means that it is not possible to
manually load modules that are blacklisted (like watchdog modules):

systemd-238/src/modules-load/modules-load.c:

static int load_module(struct kmod_ctx *ctx, const char *m) {
        const int probe_flags = KMOD_PROBE_APPLY_BLACKLIST;
...
                default:
                        err = kmod_module_probe_insert_module(mod, probe_flags,
                                                              NULL, NULL, NULL, 
NULL);

                        if (err == 0)
                                log_info("Inserted module '%s'", 
kmod_module_get_name(mod));
                        else if (err == KMOD_PROBE_APPLY_BLACKLIST)
                                log_info("Module '%s' is blacklisted", 
kmod_module_get_name(mod));

Blacklists should _not_ be applied by systemd-modules-load.

** Affects: systemd (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: regression-release

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1767172

Title:
  Regression: /etc/modules checked against blacklist

Status in systemd package in Ubuntu:
  New

Bug description:
  Before systemd-modules-load, /etc/init.d/kmod would load modules
  directly with "modprobe" (and _not_ "modprobe -b"):

  load_module() {
    local module args
    module="$1"
    args="$2"

    if [ "$VERBOSE" != no ]; then
      log_action_msg "Loading kernel module $module"
      modprobe $module $args || true
    else
      modprobe $module $args > /dev/null 2>&1 || true
    fi
  }

  However, under 18.04, systemd-modules-load will _ignore_ modules that
  are manually listed in /etc/modules and process them with the
  blacklist (the same as "modprobe -b" would). This means that it is not
  possible to manually load modules that are blacklisted (like watchdog
  modules):

  systemd-238/src/modules-load/modules-load.c:

  static int load_module(struct kmod_ctx *ctx, const char *m) {
          const int probe_flags = KMOD_PROBE_APPLY_BLACKLIST;
  ...
                  default:
                          err = kmod_module_probe_insert_module(mod, 
probe_flags,
                                                                NULL, NULL, 
NULL, NULL);

                          if (err == 0)
                                  log_info("Inserted module '%s'", 
kmod_module_get_name(mod));
                          else if (err == KMOD_PROBE_APPLY_BLACKLIST)
                                  log_info("Module '%s' is blacklisted", 
kmod_module_get_name(mod));

  Blacklists should _not_ be applied by systemd-modules-load.

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

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

Reply via email to