From: Michael Jeanson Date: Fri, 18 Nov 2022 21:48:32 +0000 (-0500) Subject: Drop support for kernels < 4.4 from 'wrapper/vmalloc.h' X-Git-Url: http://git.liburcu.org/?p=lttng-modules.git;a=commitdiff_plain;h=116a8cdbdd5b0ddb988936586fc41ab4cedf12dc Drop support for kernels < 4.4 from 'wrapper/vmalloc.h' Change-Id: I4191d7b2899e8ebf754ce03566cc87220557742e Signed-off-by: Michael Jeanson Signed-off-by: Mathieu Desnoyers --- diff --git a/include/wrapper/vmalloc.h b/include/wrapper/vmalloc.h index 6fad59dc..0fe6af8a 100644 --- a/include/wrapper/vmalloc.h +++ b/include/wrapper/vmalloc.h @@ -159,7 +159,7 @@ void wrapper_vmalloc_sync_mappings(void) #endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,6,0)) */ -#endif +#endif /* CONFIG_KALLSYMS */ #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,12,0)) static inline @@ -202,7 +202,7 @@ void lttng_kvfree(const void *addr) kvfree(addr); } -#else +#else /* >= LTTNG_KERNEL_VERSION(4,12,0) */ #include @@ -214,8 +214,6 @@ void print_vmalloc_node_range_warning(void) printk_once(KERN_WARNING "LTTng: Please rebuild your kernel with CONFIG_KALLSYMS enabled.\n"); } -#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,0,0)) - /* * kallsyms wrapper of __vmalloc_node with a fallback to kmalloc_node. */ @@ -264,104 +262,6 @@ void *__canary____lttng_vmalloc_node_range(unsigned long size, unsigned long ali vm_flags, node, caller); } -#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,6,0)) - -/* - * kallsyms wrapper of __vmalloc_node with a fallback to kmalloc_node. - */ -static inline -void *__lttng_vmalloc_node_range(unsigned long size, unsigned long align, - unsigned long start, unsigned long end, gfp_t gfp_mask, - pgprot_t prot, unsigned long vm_flags, int node, - const void *caller) -{ -#ifdef CONFIG_KALLSYMS - /* - * If we have KALLSYMS, get * __vmalloc_node_range which is not exported. - */ - void *(*lttng__vmalloc_node_range)(unsigned long size, unsigned long align, - unsigned long start, unsigned long end, gfp_t gfp_mask, - pgprot_t prot, int node, const void *caller); - - lttng__vmalloc_node_range = (void *) kallsyms_lookup_funcptr("__vmalloc_node_range"); - if (lttng__vmalloc_node_range) - return lttng__vmalloc_node_range(size, align, start, end, gfp_mask, prot, - node, caller); -#endif - if (node != NUMA_NO_NODE) - print_vmalloc_node_range_warning(); - return __vmalloc(size, gfp_mask, prot); -} - -/* - * Canary function to check for '__vmalloc_node_range()' at compile time. - * - * From 'include/linux/vmalloc.h': - * - * extern void *__vmalloc_node_range(unsigned long size, unsigned long align, - * unsigned long start, unsigned long end, gfp_t gfp_mask, - * pgprot_t prot, unsigned long vm_flags, int node, - * const void *caller); - */ -static inline -void *__canary____lttng_vmalloc_node_range(unsigned long size, unsigned long align, - unsigned long start, unsigned long end, gfp_t gfp_mask, - pgprot_t prot, int node, const void *caller) -{ - return __vmalloc_node_range(size, align, start, end, gfp_mask, prot, - node, caller); -} - -#else /* (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,6,0)) */ - -/* - * kallsyms wrapper of __vmalloc_node with a fallback to kmalloc_node. - */ -static inline -void *__lttng_vmalloc_node_range(unsigned long size, unsigned long align, - unsigned long start, unsigned long end, gfp_t gfp_mask, - pgprot_t prot, unsigned long vm_flags, int node, - void *caller) -{ -#ifdef CONFIG_KALLSYMS - /* - * If we have KALLSYMS, get * __vmalloc_node_range which is not exported. - */ - void *(*lttng__vmalloc_node_range)(unsigned long size, unsigned long align, - unsigned long start, unsigned long end, gfp_t gfp_mask, - pgprot_t prot, int node, void *caller); - - lttng__vmalloc_node_range = (void *) kallsyms_lookup_funcptr("__vmalloc_node_range"); - if (lttng__vmalloc_node_range) - return lttng__vmalloc_node_range(size, align, start, end, gfp_mask, prot, - node, caller); -#endif - if (node != NUMA_NO_NODE) - print_vmalloc_node_range_warning(); - return __vmalloc(size, gfp_mask, prot); -} - -/* - * Canary function to check for '__vmalloc_node_range()' at compile time. - * - * From 'include/linux/vmalloc.h': - * - * extern void *__vmalloc_node_range(unsigned long size, unsigned long align, - * unsigned long start, unsigned long end, gfp_t gfp_mask, - * pgprot_t prot, unsigned long vm_flags, int node, - * void *caller); - */ -static inline -void *__canary____lttng_vmalloc_node_range(unsigned long size, unsigned long align, - unsigned long start, unsigned long end, gfp_t gfp_mask, - pgprot_t prot, int node, void *caller) -{ - return __vmalloc_node_range(size, align, start, end, gfp_mask, prot, - node, caller); -} - -#endif - /** * lttng_kvmalloc_node - attempt to allocate physically contiguous memory, but upon * failure, fall back to non-contiguous (vmalloc) allocation. @@ -437,6 +337,6 @@ void lttng_kvfree(const void *addr) kfree(addr); } } -#endif +#endif /* >= LTTNG_KERNEL_VERSION(4,12,0) */ #endif /* _LTTNG_WRAPPER_VMALLOC_H */