Skip to content
  • Pavel Merzlyakov's avatar
    kmodloader: fix and optimize loading of failed modules · 5130fa4d
    Pavel Merzlyakov authored
    1) Restore functionality which was lost in commit 876c7f5b.
       Again at boot time kmodloader can load all modules (/etc/modules.d/*)
       even if dependency information is completely missing.
       This functionality is important in case of hidden dependency (not symbol dependency).
       For example, in kernel 4.4.60 is hidden dependency between nf_nat_ipv6 and nf_conntrack_ipv6.
       We can't load nf_nat_ipv6 before nf_conntrack_ipv6 and modinfo do not show this dependency.
       Two sequential load attempts of nf_nat_ipv6 may not be enough (in my case it's definitely not enough).
       nf_nat_ipv4 has a similar problem.
    
    2) Reduce count of attempts to load failed modules.
       Now kmodloader try to load failed modules after all others are loaded.
    
    main_loader: Count of failed and successful attempts to load nf_nat_ipv6.ko (kernel 4.4.60) depend on ubox version:
       COMMIT        FAILED      SUCCESSFUL     TOTAL
       128bc35f      53          1              54
       876c7f5b
    
          2           0              2
       this          1           1              2
    
    Signed-off-by: default avatarPavel Merzlyakov <pavel.merzlyakov@gmail.com>
    Acked-by: default avatarJo-Philipp Wich <jo@mein.io>
    5130fa4d