diff --git a/usr.sbin/virtual_oss/virtual_oss/main.c b/usr.sbin/virtual_oss/virtual_oss/main.c --- a/usr.sbin/virtual_oss/virtual_oss/main.c +++ b/usr.sbin/virtual_oss/virtual_oss/main.c @@ -26,12 +26,14 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -2539,11 +2541,8 @@ atomic_init(); - /* automagically load the cuse.ko module, if any */ - if (feature_present("cuse") == 0) { - if (system("kldload cuse") == -1) - warn("Failed to kldload cuse"); - } + if (kldload("cuse") < 0 && errno != EEXIST) + err(1, "Failed to load cuse"); if (cuse_init() != 0) errx(EX_USAGE, "Could not connect to cuse module");