X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=src%2Fwrapper%2Fsplice.c;fp=src%2Fwrapper%2Fsplice.c;h=0000000000000000000000000000000000000000;hb=dfdb34fd8576fba33510491aef5cd5f6f67b56b8;hp=51b9673fd606fc1da089936ae7c04c0254ab4802;hpb=ff024e6646f0d75935e8eb277cce508c593a23ad;p=lttng-modules.git diff --git a/src/wrapper/splice.c b/src/wrapper/splice.c deleted file mode 100644 index 51b9673f..00000000 --- a/src/wrapper/splice.c +++ /dev/null @@ -1,64 +0,0 @@ -/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only) - * - * wrapper/splice.c - * - * wrapper around splice_to_pipe. Using KALLSYMS to get its address when - * available, else we need to have a kernel that exports this function to GPL - * modules. The export was introduced in kernel 4.2. - * - * Copyright (C) 2011-2012 Mathieu Desnoyers - */ - -#include - -#ifdef CONFIG_KALLSYMS - -#include -#include -#include -#include - -static -ssize_t (*splice_to_pipe_sym)(struct pipe_inode_info *pipe, - struct splice_pipe_desc *spd); - -ssize_t wrapper_splice_to_pipe(struct pipe_inode_info *pipe, - struct splice_pipe_desc *spd) -{ - if (!splice_to_pipe_sym) - splice_to_pipe_sym = (void *) kallsyms_lookup_funcptr("splice_to_pipe"); - if (splice_to_pipe_sym) { - return splice_to_pipe_sym(pipe, spd); - } else { - printk_once(KERN_WARNING "LTTng: splice_to_pipe symbol lookup failed.\n"); - return -ENOSYS; - } -} - -/* - * Canary function to check for 'splice_to_pipe()' at compile time. - * - * From 'include/linux/splice.h': - * - * extern ssize_t splice_to_pipe(struct pipe_inode_info *, - * struct splice_pipe_desc *spd); - */ -__attribute__((unused)) static -ssize_t __canary__splice_to_pipe(struct pipe_inode_info *pipe, - struct splice_pipe_desc *spd) -{ - return splice_to_pipe(pipe, spd); -} - -#else - -#include -#include - -ssize_t wrapper_splice_to_pipe(struct pipe_inode_info *pipe, - struct splice_pipe_desc *spd) -{ - return splice_to_pipe(pipe, spd); -} - -#endif