X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=wrapper%2Frandom.c;h=0f9586fdcac04379ac1a96bd9c1a086a086f5b15;hb=4a1a9a9a1a1548e034c8d976386ecb9a60dfaa32;hp=c938ae35a4ac2a96a2a2deee26cb645a33792af2;hpb=9f36eaed6f91d5897924b551b44d1edd8cee00e2;p=lttng-modules.git diff --git a/wrapper/random.c b/wrapper/random.c index c938ae35..0f9586fd 100644 --- a/wrapper/random.c +++ b/wrapper/random.c @@ -10,11 +10,12 @@ */ #include +#include /* boot_id depends on sysctl */ #if defined(CONFIG_SYSCTL) -#include +#include #include #include #include @@ -28,21 +29,12 @@ int wrapper_get_bootid(char *bootid) struct file *file; int ret; ssize_t len; - mm_segment_t old_fs; file = filp_open("/proc/sys/kernel/random/boot_id", O_RDONLY, 0); if (IS_ERR(file)) return PTR_ERR(file); - old_fs = get_fs(); - set_fs(KERNEL_DS); - - if (!file->f_op || !file->f_op->read) { - ret = -EINVAL; - goto end; - } - - len = file->f_op->read(file, bootid, BOOT_ID_LEN - 1, &file->f_pos); + len = lttng_kernel_read(file, bootid, BOOT_ID_LEN - 1, &file->f_pos); if (len != BOOT_ID_LEN - 1) { ret = -EINVAL; goto end; @@ -51,10 +43,10 @@ int wrapper_get_bootid(char *bootid) bootid[BOOT_ID_LEN - 1] = '\0'; ret = 0; end: - set_fs(old_fs); filp_close(file, current->files); return ret; } +EXPORT_SYMBOL_GPL(wrapper_get_bootid); #else @@ -62,5 +54,6 @@ int wrapper_get_bootid(char *bootid) { return -ENOSYS; } +EXPORT_SYMBOL_GPL(wrapper_get_bootid); #endif