--- linprocfs.c.orig 2013-11-06 18:59:41.000000000 +0100 +++ linprocfs.c 2014-01-28 23:09:46.000000000 +0100 @@ -72,6 +72,7 @@ #include #include #include +#include #include #include #include @@ -1347,6 +1348,23 @@ return (0); } + +/* + * Filler function for proc/sys/kernel/random/uuid + */ +static int +linprocfs_douuid(PFS_FILL_ARGS) +{ + struct uuid uuid; + + kern_uuidgen(&uuid, 1); + + sbuf_printf_uuid(sb, &uuid); + sbuf_printf(sb, "\n"); + + return(0); +} + /* * Constructor */ @@ -1446,6 +1464,11 @@ pfs_create_file(dir, "sem", &linprocfs_dosem, NULL, NULL, NULL, PFS_RD); + /* /proc/sys/kernel/random/... */ + dir = pfs_create_dir(dir, "random", NULL, NULL, NULL, 0); + pfs_create_file(dir, "uuid", &linprocfs_douuid, + NULL, NULL, NULL, PFS_RD); + return (0); }