Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8bafa9e2 authored by Steve Muckle's avatar Steve Muckle
Browse files

add libmodprobe api to query the number of modules loaded

In the short term this will be used to help implement support for
multiple kernel module directories but it may be useful in other
contexts as well.

Bug: 157645635
Change-Id: I15a252b6e9394292c8f3557ed65112c935830441
Merged-In: I15a252b6e9394292c8f3557ed65112c935830441
parent 84db2e40
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -34,6 +34,8 @@ class Modprobe {
    bool GetAllDependencies(const std::string& module, std::vector<std::string>* pre_dependencies,
                            std::vector<std::string>* dependencies,
                            std::vector<std::string>* post_dependencies);
    void ResetModuleCount() { module_count_ = 0; }
    int GetModuleCount() { return module_count_; }
    void EnableBlacklist(bool enable);
    void EnableVerbose(bool enable);

@@ -65,5 +67,6 @@ class Modprobe {
    std::unordered_map<std::string, std::string> module_options_;
    std::set<std::string> module_blacklist_;
    std::unordered_set<std::string> module_loaded_;
    int module_count_ = 0;
    bool blacklist_enabled = false;
};
+1 −0
Original line number Diff line number Diff line
@@ -63,6 +63,7 @@ bool Modprobe::Insmod(const std::string& path_name, const std::string& parameter

    LOG(INFO) << "Loaded kernel module " << path_name;
    module_loaded_.emplace(canonical_name);
    module_count_++;
    return true;
}

+1 −0
Original line number Diff line number Diff line
@@ -56,6 +56,7 @@ bool Modprobe::Insmod(const std::string& path_name, const std::string& parameter
    }

    modules_loaded.emplace_back(path_name + options);
    module_count_++;
    return true;
}

+1 −0
Original line number Diff line number Diff line
@@ -161,6 +161,7 @@ TEST(libmodprobe, Test) {

    EXPECT_TRUE(modules_loaded == expected_modules_loaded);

    EXPECT_TRUE(m.GetModuleCount() == 15);
    EXPECT_TRUE(m.Remove("test4"));

    GTEST_LOG_(INFO) << "Expected modules loaded after removing test4 (in order):";