X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=wrapper%2Frandom.c;h=d7e53cd140f0a7517fb6ce66b1c492e9959882c8;hb=47beefeb734480aebea4b748151d7f2d6db480e3;hp=5b88f7edd7a5e60d1d8444b40e3047869ea247f0;hpb=886d51a3d7ed5fa6b41d7f19b3e14ae6c535a44c;p=lttng-modules.git diff --git a/wrapper/random.c b/wrapper/random.c index 5b88f7ed..d7e53cd1 100644 --- a/wrapper/random.c +++ b/wrapper/random.c @@ -1,4 +1,5 @@ -/* +/* SPDX-License-Identifier: (GPL-2.0 or LGPL-2.1) + * * wrapper/random.c * * wrapper around bootid read. Using KALLSYMS to get its address when @@ -6,22 +7,10 @@ * modules. * * Copyright (C) 2011-2012 Mathieu Desnoyers - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; only - * version 2.1 of the License. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include + /* boot_id depends on sysctl */ #if defined(CONFIG_SYSCTL) @@ -29,7 +18,7 @@ #include #include #include -#include "random.h" +#include /* * Returns string boot id. @@ -39,21 +28,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 = kernel_read(file, bootid, BOOT_ID_LEN - 1, &file->f_pos); if (len != BOOT_ID_LEN - 1) { ret = -EINVAL; goto end; @@ -62,10 +42,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 @@ -73,5 +53,6 @@ int wrapper_get_bootid(char *bootid) { return -ENOSYS; } +EXPORT_SYMBOL_GPL(wrapper_get_bootid); #endif