Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package lttng-modules for openSUSE:Factory checked in at 2023-01-14 00:03:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/lttng-modules (Old) and /work/SRC/openSUSE:Factory/.lttng-modules.new.32243 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lttng-modules" Sat Jan 14 00:03:50 2023 rev:7 rq:1058306 version:2.13.8 Changes: -------- --- /work/SRC/openSUSE:Factory/lttng-modules/lttng-modules.changes 2022-10-03 13:47:25.621701186 +0200 +++ /work/SRC/openSUSE:Factory/.lttng-modules.new.32243/lttng-modules.changes 2023-01-14 00:04:34.958187915 +0100 @@ -1,0 +2,13 @@ +Fri Jan 13 21:41:22 UTC 2023 - Alexei Sorokin <sor.ale...@meowr.ru> + +- Update to version 2.13.8: + * Fix: jbd2: use the correct print format. + * Fix: in_x32_syscall was introduced in v4.7.0. + * Explicitly skip tracing x32 system calls. + * Fix: kallsyms wrapper on ppc64el. + * Fix: Adjust ranges for RHEL 8.6 kernels. + * Fix: kvm-x86 requires CONFIG_KALLSYMS_ALL. + * Fix: mm/slab_common: drop kmem_alloc & avoid dereferencing + fields when not using (v6.1). + +------------------------------------------------------------------- Old: ---- lttng-modules-2.13.7.tar.bz2 lttng-modules-2.13.7.tar.bz2.asc New: ---- lttng-modules-2.13.8.tar.bz2 lttng-modules-2.13.8.tar.bz2.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ lttng-modules.spec ++++++ --- /var/tmp/diff_new_pack.fqDJuM/_old 2023-01-14 00:04:35.706192272 +0100 +++ /var/tmp/diff_new_pack.fqDJuM/_new 2023-01-14 00:04:35.714192318 +0100 @@ -1,7 +1,7 @@ # # spec file for package lttng-modules # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: lttng-modules -Version: 2.13.7 +Version: 2.13.8 Release: 0 Summary: Licensing information for package lttng-modules License: GPL-2.0-only AND LGPL-2.1-only AND MIT ++++++ lttng-modules-2.13.7.tar.bz2 -> lttng-modules-2.13.8.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lttng-modules-2.13.7/ChangeLog new/lttng-modules-2.13.8/ChangeLog --- old/lttng-modules-2.13.7/ChangeLog 2022-09-30 23:11:06.000000000 +0200 +++ new/lttng-modules-2.13.8/ChangeLog 2023-01-13 22:08:06.000000000 +0100 @@ -1,3 +1,12 @@ +2023-01-13 (National Sticker Day) LTTng modules 2.13.8 + * fix: jbd2: use the correct print format + * Fix: in_x32_syscall was introduced in v4.7.0 + * Explicitly skip tracing x32 system calls + * fix: kallsyms wrapper on ppc64el + * fix: Adjust ranges for RHEL 8.6 kernels + * fix: kvm-x86 requires CONFIG_KALLSYMS_ALL + * fix: mm/slab_common: drop kmem_alloc & avoid dereferencing fields when not using (v6.1) + 2022-09-30 (National Day for Truth and Reconciliation) LTTng modules 2.13.7 * Fix: handle integer capture page faults as skip field diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lttng-modules-2.13.7/include/instrumentation/events/block.h new/lttng-modules-2.13.8/include/instrumentation/events/block.h --- old/lttng-modules-2.13.7/include/instrumentation/events/block.h 2022-09-30 23:11:06.000000000 +0200 +++ new/lttng-modules-2.13.8/include/instrumentation/events/block.h 2023-01-13 22:08:06.000000000 +0100 @@ -367,7 +367,8 @@ ) ) #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,11,0) \ - || LTTNG_KERNEL_RANGE(5,10,137, 5,11,0)) + || LTTNG_KERNEL_RANGE(5,10,137, 5,11,0) \ + || LTTNG_RHEL_KERNEL_RANGE(4,18,0,372,0,0, 4,19,0,0,0,0)) /** * block_rq_requeue - place block IO request back on a queue * @rq: block IO operation request @@ -613,7 +614,8 @@ ) ) #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,11,0) \ - || LTTNG_KERNEL_RANGE(5,10,137, 5,11,0)) + || LTTNG_KERNEL_RANGE(5,10,137, 5,11,0) \ + || LTTNG_RHEL_KERNEL_RANGE(4,18,0,372,0,0, 4,19,0,0,0,0)) LTTNG_TRACEPOINT_EVENT_CLASS(block_rq, TP_PROTO(struct request *rq), @@ -749,7 +751,8 @@ #endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,11,0)) */ #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,11,0) \ - || LTTNG_KERNEL_RANGE(5,10,137, 5,11,0)) + || LTTNG_KERNEL_RANGE(5,10,137, 5,11,0) \ + || LTTNG_RHEL_KERNEL_RANGE(4,18,0,372,0,0, 4,19,0,0,0,0)) /** * block_rq_insert - insert block operation request into queue * @rq: block IO operation request @@ -785,7 +788,8 @@ #endif #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,11,0) \ - || LTTNG_KERNEL_RANGE(5,10,137, 5,11,0)) + || LTTNG_KERNEL_RANGE(5,10,137, 5,11,0) \ + || LTTNG_RHEL_KERNEL_RANGE(4,18,0,372,0,0, 4,19,0,0,0,0)) /** * block_rq_issue - issue pending block IO request operation to device driver * @rq: block IO operation operation request @@ -1638,7 +1642,8 @@ ) ) #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,11,0) \ - || LTTNG_KERNEL_RANGE(5,10,137, 5,11,0)) + || LTTNG_KERNEL_RANGE(5,10,137, 5,11,0) \ + || LTTNG_RHEL_KERNEL_RANGE(4,18,0,372,0,0, 4,19,0,0,0,0)) /** * block_rq_remap - map request for a block operation request * @rq: block IO operation request diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lttng-modules-2.13.7/include/instrumentation/events/jbd2.h new/lttng-modules-2.13.8/include/instrumentation/events/jbd2.h --- old/lttng-modules-2.13.7/include/instrumentation/events/jbd2.h 2022-09-30 23:11:06.000000000 +0200 +++ new/lttng-modules-2.13.8/include/instrumentation/events/jbd2.h 2023-01-13 22:08:06.000000000 +0100 @@ -27,6 +27,23 @@ ) ) +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0) \ + || LTTNG_KERNEL_RANGE(5,15,87, 5,16,0) \ + || LTTNG_KERNEL_RANGE(6,0,18, 6,1,0) \ + || LTTNG_KERNEL_RANGE(6,1,4, 6,2,0)) +LTTNG_TRACEPOINT_EVENT_CLASS(jbd2_commit, + + TP_PROTO(journal_t *journal, transaction_t *commit_transaction), + + TP_ARGS(journal, commit_transaction), + + TP_FIELDS( + ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev) + ctf_integer(char, sync_commit, commit_transaction->t_synchronous_commit) + ctf_integer(tid_t, transaction, commit_transaction->t_tid) + ) +) +#else LTTNG_TRACEPOINT_EVENT_CLASS(jbd2_commit, TP_PROTO(journal_t *journal, transaction_t *commit_transaction), @@ -39,6 +56,7 @@ ctf_integer(int, transaction, commit_transaction->t_tid) ) ) +#endif LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit, jbd2_start_commit, @@ -77,6 +95,23 @@ ) #endif +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0) \ + || LTTNG_KERNEL_RANGE(5,15,87, 5,16,0) \ + || LTTNG_KERNEL_RANGE(6,0,18, 6,1,0) \ + || LTTNG_KERNEL_RANGE(6,1,4, 6,2,0)) +LTTNG_TRACEPOINT_EVENT(jbd2_end_commit, + TP_PROTO(journal_t *journal, transaction_t *commit_transaction), + + TP_ARGS(journal, commit_transaction), + + TP_FIELDS( + ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev) + ctf_integer(char, sync_commit, commit_transaction->t_synchronous_commit) + ctf_integer(tid_t, transaction, commit_transaction->t_tid) + ctf_integer(tid_t, head, journal->j_tail_sequence) + ) +) +#else LTTNG_TRACEPOINT_EVENT(jbd2_end_commit, TP_PROTO(journal_t *journal, transaction_t *commit_transaction), @@ -89,6 +124,7 @@ ctf_integer(int, head, journal->j_tail_sequence) ) ) +#endif LTTNG_TRACEPOINT_EVENT(jbd2_submit_inode_data, TP_PROTO(struct inode *inode), @@ -101,6 +137,46 @@ ) ) +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0) \ + || LTTNG_KERNEL_RANGE(5,15,87, 5,16,0) \ + || LTTNG_KERNEL_RANGE(6,0,18, 6,1,0) \ + || LTTNG_KERNEL_RANGE(6,1,4, 6,2,0)) +LTTNG_TRACEPOINT_EVENT(jbd2_run_stats, + TP_PROTO(dev_t dev, tid_t tid, + struct transaction_run_stats_s *stats), + + TP_ARGS(dev, tid, stats), + + TP_FIELDS( + ctf_integer(dev_t, dev, dev) + ctf_integer(tid_t, tid, tid) + ctf_integer(unsigned long, wait, stats->rs_wait) + ctf_integer(unsigned long, running, stats->rs_running) + ctf_integer(unsigned long, locked, stats->rs_locked) + ctf_integer(unsigned long, flushing, stats->rs_flushing) + ctf_integer(unsigned long, logging, stats->rs_logging) + ctf_integer(__u32, handle_count, stats->rs_handle_count) + ctf_integer(__u32, blocks, stats->rs_blocks) + ctf_integer(__u32, blocks_logged, stats->rs_blocks_logged) + ) +) + +LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint_stats, + TP_PROTO(dev_t dev, tid_t tid, + struct transaction_chp_stats_s *stats), + + TP_ARGS(dev, tid, stats), + + TP_FIELDS( + ctf_integer(dev_t, dev, dev) + ctf_integer(tid_t, tid, tid) + ctf_integer(unsigned long, chp_time, stats->cs_chp_time) + ctf_integer(__u32, forced_to_close, stats->cs_forced_to_close) + ctf_integer(__u32, written, stats->cs_written) + ctf_integer(__u32, dropped, stats->cs_dropped) + ) +) +#else LTTNG_TRACEPOINT_EVENT(jbd2_run_stats, TP_PROTO(dev_t dev, unsigned long tid, struct transaction_run_stats_s *stats), @@ -136,6 +212,7 @@ ctf_integer(__u32, dropped, stats->cs_dropped) ) ) +#endif #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,4,0)) LTTNG_TRACEPOINT_EVENT(jbd2_update_log_tail, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lttng-modules-2.13.7/include/instrumentation/events/kmem.h new/lttng-modules-2.13.8/include/instrumentation/events/kmem.h --- old/lttng-modules-2.13.7/include/instrumentation/events/kmem.h 2022-09-30 23:11:06.000000000 +0200 +++ new/lttng-modules-2.13.8/include/instrumentation/events/kmem.h 2023-01-13 22:08:06.000000000 +0100 @@ -10,9 +10,58 @@ #include <lttng/kernel-version.h> #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,0,0)) - #include <../../mm/slab.h> +#endif + +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,1,0)) +LTTNG_TRACEPOINT_EVENT_MAP(kmalloc, + + kmem_kmalloc, + + TP_PROTO(unsigned long call_site, + const void *ptr, + size_t bytes_req, + size_t bytes_alloc, + gfp_t gfp_flags, + int node), + + TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags, node), + + TP_FIELDS( + ctf_integer_hex(unsigned long, call_site, call_site) + ctf_integer_hex(const void *, ptr, ptr) + ctf_integer(size_t, bytes_req, bytes_req) + ctf_integer(size_t, bytes_alloc, bytes_alloc) + ctf_integer(gfp_t, gfp_flags, gfp_flags) + ctf_integer(int, node, node) + ctf_integer(bool, accounted, (IS_ENABLED(CONFIG_MEMCG_KMEM) && + (gfp_flags & __GFP_ACCOUNT) ? true : false)) + ) +) + +LTTNG_TRACEPOINT_EVENT(kmem_cache_alloc, + + TP_PROTO(unsigned long call_site, + const void *ptr, + struct kmem_cache *s, + gfp_t gfp_flags, + int node), + + TP_ARGS(call_site, ptr, s, gfp_flags, node), + TP_FIELDS( + ctf_integer_hex(unsigned long, call_site, call_site) + ctf_integer_hex(const void *, ptr, ptr) + ctf_integer(size_t, bytes_req, s->object_size) + ctf_integer(size_t, bytes_alloc, s->size) + ctf_integer(gfp_t, gfp_flags, gfp_flags) + ctf_integer(int, node, node) + ctf_integer(bool, accounted, IS_ENABLED(CONFIG_MEMCG_KMEM) ? + ((gfp_flags & __GFP_ACCOUNT) || + (s->flags & SLAB_ACCOUNT)) : false) + ) +) +#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,0,0)) LTTNG_TRACEPOINT_EVENT_CLASS(kmem_alloc, TP_PROTO(unsigned long call_site, @@ -53,18 +102,16 @@ TP_ARGS(call_site, ptr, s, bytes_req, bytes_alloc, gfp_flags) ) - -LTTNG_TRACEPOINT_EVENT_CLASS(kmem_alloc_node, +#else +LTTNG_TRACEPOINT_EVENT_CLASS(kmem_alloc, TP_PROTO(unsigned long call_site, const void *ptr, - struct kmem_cache *s, size_t bytes_req, size_t bytes_alloc, - gfp_t gfp_flags, - int node), + gfp_t gfp_flags), - TP_ARGS(call_site, ptr, s, bytes_req, bytes_alloc, gfp_flags, node), + TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags), TP_FIELDS( ctf_integer_hex(unsigned long, call_site, call_site) @@ -72,42 +119,40 @@ ctf_integer(size_t, bytes_req, bytes_req) ctf_integer(size_t, bytes_alloc, bytes_alloc) ctf_integer(gfp_t, gfp_flags, gfp_flags) - ctf_integer(int, node, node) - ctf_integer(bool, accounted, IS_ENABLED(CONFIG_MEMCG_KMEM) ? - ((gfp_flags & __GFP_ACCOUNT) || - (s && s->flags & SLAB_ACCOUNT)) : false) ) ) -LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(kmem_alloc_node, kmalloc_node, +LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(kmem_alloc, kmalloc, - kmem_kmalloc_node, + kmem_kmalloc, TP_PROTO(unsigned long call_site, const void *ptr, - struct kmem_cache *s, size_t bytes_req, size_t bytes_alloc, - gfp_t gfp_flags, int node), + size_t bytes_req, size_t bytes_alloc, gfp_t gfp_flags), - TP_ARGS(call_site, ptr, s, bytes_req, bytes_alloc, gfp_flags, node) + TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags) ) -LTTNG_TRACEPOINT_EVENT_INSTANCE(kmem_alloc_node, kmem_cache_alloc_node, +LTTNG_TRACEPOINT_EVENT_INSTANCE(kmem_alloc, kmem_cache_alloc, TP_PROTO(unsigned long call_site, const void *ptr, - struct kmem_cache *s, size_t bytes_req, size_t bytes_alloc, - gfp_t gfp_flags, int node), + size_t bytes_req, size_t bytes_alloc, gfp_t gfp_flags), - TP_ARGS(call_site, ptr, s, bytes_req, bytes_alloc, gfp_flags, node) + TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags) ) -#else -LTTNG_TRACEPOINT_EVENT_CLASS(kmem_alloc, +#endif + +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,0,0)) +LTTNG_TRACEPOINT_EVENT_CLASS(kmem_alloc_node, TP_PROTO(unsigned long call_site, const void *ptr, + struct kmem_cache *s, size_t bytes_req, size_t bytes_alloc, - gfp_t gfp_flags), + gfp_t gfp_flags, + int node), - TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags), + TP_ARGS(call_site, ptr, s, bytes_req, bytes_alloc, gfp_flags, node), TP_FIELDS( ctf_integer_hex(unsigned long, call_site, call_site) @@ -115,27 +160,33 @@ ctf_integer(size_t, bytes_req, bytes_req) ctf_integer(size_t, bytes_alloc, bytes_alloc) ctf_integer(gfp_t, gfp_flags, gfp_flags) + ctf_integer(int, node, node) + ctf_integer(bool, accounted, IS_ENABLED(CONFIG_MEMCG_KMEM) ? + ((gfp_flags & __GFP_ACCOUNT) || + (s && s->flags & SLAB_ACCOUNT)) : false) ) ) -LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(kmem_alloc, kmalloc, +LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(kmem_alloc_node, kmalloc_node, - kmem_kmalloc, + kmem_kmalloc_node, TP_PROTO(unsigned long call_site, const void *ptr, - size_t bytes_req, size_t bytes_alloc, gfp_t gfp_flags), + struct kmem_cache *s, size_t bytes_req, size_t bytes_alloc, + gfp_t gfp_flags, int node), - TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags) + TP_ARGS(call_site, ptr, s, bytes_req, bytes_alloc, gfp_flags, node) ) -LTTNG_TRACEPOINT_EVENT_INSTANCE(kmem_alloc, kmem_cache_alloc, +LTTNG_TRACEPOINT_EVENT_INSTANCE(kmem_alloc_node, kmem_cache_alloc_node, TP_PROTO(unsigned long call_site, const void *ptr, - size_t bytes_req, size_t bytes_alloc, gfp_t gfp_flags), + struct kmem_cache *s, size_t bytes_req, size_t bytes_alloc, + gfp_t gfp_flags, int node), - TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags) + TP_ARGS(call_site, ptr, s, bytes_req, bytes_alloc, gfp_flags, node) ) - +#else LTTNG_TRACEPOINT_EVENT_CLASS(kmem_alloc_node, TP_PROTO(unsigned long call_site, @@ -178,7 +229,8 @@ ) #endif -#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,12,0)) +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,12,0) || \ + LTTNG_RHEL_KERNEL_RANGE(4,18,0,372,0,0, 4,19,0,0,0,0)) LTTNG_TRACEPOINT_EVENT_MAP(kfree, kmem_kfree, @@ -192,19 +244,6 @@ ctf_integer_hex(const void *, ptr, ptr) ) ) - -LTTNG_TRACEPOINT_EVENT(kmem_cache_free, - - TP_PROTO(unsigned long call_site, const void *ptr, const char *name), - - TP_ARGS(call_site, ptr, name), - - TP_FIELDS( - ctf_integer_hex(unsigned long, call_site, call_site) - ctf_integer_hex(const void *, ptr, ptr) - ctf_string(name, name) - ) -) #else LTTNG_TRACEPOINT_EVENT_CLASS(kmem_free, @@ -235,6 +274,34 @@ ) #endif +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,1,0)) +LTTNG_TRACEPOINT_EVENT(kmem_cache_free, + + TP_PROTO(unsigned long call_site, const void *ptr, const struct kmem_cache *s), + + TP_ARGS(call_site, ptr, s), + + TP_FIELDS( + ctf_integer_hex(unsigned long, call_site, call_site) + ctf_integer_hex(const void *, ptr, ptr) + ctf_string(name, s->name) + ) +) +#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,12,0)) +LTTNG_TRACEPOINT_EVENT(kmem_cache_free, + + TP_PROTO(unsigned long call_site, const void *ptr, const char *name), + + TP_ARGS(call_site, ptr, name), + + TP_FIELDS( + ctf_integer_hex(unsigned long, call_site, call_site) + ctf_integer_hex(const void *, ptr, ptr) + ctf_string(name, name) + ) +) +#endif + #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,3,0)) LTTNG_TRACEPOINT_EVENT_MAP(mm_page_free, kmem_mm_page_free, #else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lttng-modules-2.13.7/include/lttng/tracer.h new/lttng-modules-2.13.8/include/lttng/tracer.h --- old/lttng-modules-2.13.7/include/lttng/tracer.h 2022-09-30 23:11:06.000000000 +0200 +++ new/lttng-modules-2.13.8/include/lttng/tracer.h 2023-01-13 22:08:06.000000000 +0100 @@ -28,7 +28,7 @@ #define LTTNG_MODULES_MAJOR_VERSION 2 #define LTTNG_MODULES_MINOR_VERSION 13 -#define LTTNG_MODULES_PATCHLEVEL_VERSION 7 +#define LTTNG_MODULES_PATCHLEVEL_VERSION 8 #define LTTNG_MODULES_EXTRAVERSION "" #define LTTNG_VERSION_NAME "Nordicité" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lttng-modules-2.13.7/include/wrapper/kallsyms.h new/lttng-modules-2.13.8/include/wrapper/kallsyms.h --- old/lttng-modules-2.13.7/include/wrapper/kallsyms.h 2022-09-30 23:11:06.000000000 +0200 +++ new/lttng-modules-2.13.8/include/wrapper/kallsyms.h 2023-01-13 22:08:06.000000000 +0100 @@ -16,11 +16,19 @@ #include <linux/kallsyms.h> #include <lttng/kernel-version.h> +/* CONFIG_PPC64_ELF_ABI_V1/V2 were introduced in v5.19 */ +#if defined(CONFIG_PPC64_ELF_ABI_V2) || (defined(CONFIG_PPC64) && defined(CONFIG_CPU_LITTLE_ENDIAN)) +#define LTTNG_CONFIG_PPC64_ELF_ABI_V2 +#endif +#if defined(CONFIG_PPC64_ELF_ABI_V1) || (defined(CONFIG_PPC64) && defined(CONFIG_CPU_BIG_ENDIAN)) +#define LTTNG_CONFIG_PPC64_ELF_ABI_V1 +#endif + /* * PowerPC ABIv1 needs KALLSYMS_ALL to get the function descriptor, * which is needed to perform the function call. */ -#if defined(CONFIG_PPC64) && (!defined(_CALL_ELF) || _CALL_ELF < 2) +#ifdef LTTNG_CONFIG_PPC64_ELF_ABI_V1 # ifndef CONFIG_KALLSYMS_ALL # error "LTTng-modules requires CONFIG_KALLSYMS_ALL on PowerPC ABIv1" # endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lttng-modules-2.13.7/include/wrapper/objtool.h new/lttng-modules-2.13.8/include/wrapper/objtool.h --- old/lttng-modules-2.13.7/include/wrapper/objtool.h 2022-09-30 23:11:06.000000000 +0200 +++ new/lttng-modules-2.13.8/include/wrapper/objtool.h 2023-01-13 22:08:06.000000000 +0100 @@ -10,7 +10,8 @@ #include <lttng/kernel-version.h> -#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,10,0)) +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,10,0) || \ + LTTNG_RHEL_KERNEL_RANGE(4,18,0,372,0,0, 4,19,0,0,0,0)) #include <linux/objtool.h> #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,6,0)) #include <linux/frame.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lttng-modules-2.13.7/include/wrapper/sched.h new/lttng-modules-2.13.8/include/wrapper/sched.h --- old/lttng-modules-2.13.7/include/wrapper/sched.h 2022-09-30 23:11:06.000000000 +0200 +++ new/lttng-modules-2.13.8/include/wrapper/sched.h 2023-01-13 22:08:06.000000000 +0100 @@ -11,7 +11,8 @@ #include <linux/sched.h> #include <lttng/kernel-version.h> -#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,14,0)) +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,14,0) || \ + LTTNG_RHEL_KERNEL_RANGE(4,18,0,372,0,0, 4,19,0,0,0,0)) #define lttng_get_task_state(task) READ_ONCE((task)->__state) #define lttng_task_is_running(task) task_is_running(task) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lttng-modules-2.13.7/src/lttng-syscalls.c new/lttng-modules-2.13.8/src/lttng-syscalls.c --- old/lttng-modules-2.13.7/src/lttng-syscalls.c 2022-09-30 23:11:06.000000000 +0200 +++ new/lttng-modules-2.13.8/src/lttng-syscalls.c 2023-01-13 22:08:06.000000000 +0100 @@ -32,6 +32,7 @@ #include <lttng/events.h> #include <lttng/events-internal.h> #include <lttng/utils.h> +#include <lttng/kernel-version.h> #include "lttng-syscalls.h" @@ -43,7 +44,14 @@ /* in_compat_syscall appears in kernel 4.6. */ #ifndef in_compat_syscall - #define in_compat_syscall() is_compat_task() +# define in_compat_syscall() is_compat_task() +#endif + +/* in_x32_syscall appears in kernel 4.7. */ +#if (LTTNG_LINUX_VERSION_CODE < LTTNG_KERNEL_VERSION(4,7,0)) +# ifdef CONFIG_X86_X32_ABI +# define in_x32_syscall() is_x32_task() +# endif #endif enum sc_type { @@ -271,6 +279,12 @@ const struct trace_syscall_entry *table, *entry; size_t table_len; +#ifdef CONFIG_X86_X32_ABI + if (in_x32_syscall()) { + /* x32 system calls are not supported. */ + return; + } +#endif if (unlikely(in_compat_syscall())) { struct lttng_syscall_filter *filter = chan->priv->parent.sc_filter; @@ -508,6 +522,12 @@ size_t table_len; long id; +#ifdef CONFIG_X86_X32_ABI + if (in_x32_syscall()) { + /* x32 system calls are not supported. */ + return; + } +#endif id = syscall_get_nr(current, regs); if (unlikely(in_compat_syscall())) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lttng-modules-2.13.7/src/probes/Kbuild new/lttng-modules-2.13.8/src/probes/Kbuild --- old/lttng-modules-2.13.7/src/probes/Kbuild 2022-09-30 23:11:06.000000000 +0200 +++ new/lttng-modules-2.13.8/src/probes/Kbuild 2023-01-13 22:08:06.000000000 +0100 @@ -46,38 +46,42 @@ ifneq ($(CONFIG_KVM),) obj-$(CONFIG_LTTNG) += lttng-probe-kvm.o ifneq ($(CONFIG_X86),) - kvm_dep_lapic = $(srctree)/arch/x86/kvm/lapic.h - kvm_dep_lapic_check = $(wildcard $(kvm_dep_lapic)) - ifneq ($(kvm_dep_lapic_check),) - # search for iodev.h in any of its known locations - kvm_dep_iodev = $(srctree)/virt/kvm/iodev.h $(srctree)/include/kvm/iodev.h - kvm_dep_iodev_check = $(wildcard $(kvm_dep_iodev)) - ifneq ($(kvm_dep_iodev_check),) - kvm_dep_emulate = $(srctree)/arch/x86/kvm/kvm_emulate.h - kvm_dep_emulate_wildcard = $(wildcard $(kvm_dep_emulate)) - kvm_dep_emulate_check = $(shell \ - if [ \( $(VERSION) -ge 6 \ - -o \( $(VERSION) -eq 5 -a $(PATCHLEVEL) -eq 7 \) \) -a \ - -z "$(kvm_dep_emulate_wildcard)" ] ; then \ - echo "warn" ; \ - else \ - echo "ok" ; \ - fi ;) - ifeq ($(kvm_dep_emulate_check),ok) - CFLAGS_lttng-probe-kvm-x86.o += -I$(srctree)/virt/kvm \ - -I$(srctree)/arch/x86/kvm - CFLAGS_lttng-probe-kvm-x86-mmu.o += -I$(srctree)/virt/kvm - obj-$(CONFIG_LTTNG) += lttng-probe-kvm-x86.o - obj-$(CONFIG_LTTNG) += lttng-probe-kvm-x86-mmu.o - else # ($(kvm_dep_emulate_check),ok) - $(warning File $(kvm_dep_emulate) not found. Probe "kvm" x86-specific is disabled. Use full kernel source tree to enable it.) - endif # ($(kvm_dep_emulate_check),ok) - else # $(kvm_dep_iodev_check) - $(warning File $(kvm_dep_iodev) not found. Probe "kvm" x86-specific is disabled. Use full kernel source tree to enable it.) - endif # $(kvm_dep_iodev_check) - else # $(kvm_dep_lapic_check) - $(warning File $(kvm_dep_lapic) not found. Probe "kvm" x86-specific is disabled. Use full kernel source tree to enable it.) - endif # $(kvm_dep_lapic_check) + ifneq ($(CONFIG_KALLSYMS_ALL),) + kvm_dep_lapic = $(srctree)/arch/x86/kvm/lapic.h + kvm_dep_lapic_check = $(wildcard $(kvm_dep_lapic)) + ifneq ($(kvm_dep_lapic_check),) + # search for iodev.h in any of its known locations + kvm_dep_iodev = $(srctree)/virt/kvm/iodev.h $(srctree)/include/kvm/iodev.h + kvm_dep_iodev_check = $(wildcard $(kvm_dep_iodev)) + ifneq ($(kvm_dep_iodev_check),) + kvm_dep_emulate = $(srctree)/arch/x86/kvm/kvm_emulate.h + kvm_dep_emulate_wildcard = $(wildcard $(kvm_dep_emulate)) + kvm_dep_emulate_check = $(shell \ + if [ \( $(VERSION) -ge 6 \ + -o \( $(VERSION) -eq 5 -a $(PATCHLEVEL) -eq 7 \) \) -a \ + -z "$(kvm_dep_emulate_wildcard)" ] ; then \ + echo "warn" ; \ + else \ + echo "ok" ; \ + fi ;) + ifeq ($(kvm_dep_emulate_check),ok) + CFLAGS_lttng-probe-kvm-x86.o += -I$(srctree)/virt/kvm \ + -I$(srctree)/arch/x86/kvm + CFLAGS_lttng-probe-kvm-x86-mmu.o += -I$(srctree)/virt/kvm + obj-$(CONFIG_LTTNG) += lttng-probe-kvm-x86.o + obj-$(CONFIG_LTTNG) += lttng-probe-kvm-x86-mmu.o + else # ($(kvm_dep_emulate_check),ok) + $(warning File $(kvm_dep_emulate) not found. Probe "kvm" x86-specific is disabled. Use full kernel source tree to enable it.) + endif # ($(kvm_dep_emulate_check),ok) + else # $(kvm_dep_iodev_check) + $(warning File $(kvm_dep_iodev) not found. Probe "kvm" x86-specific is disabled. Use full kernel source tree to enable it.) + endif # $(kvm_dep_iodev_check) + else # $(kvm_dep_lapic_check) + $(warning File $(kvm_dep_lapic) not found. Probe "kvm" x86-specific is disabled. Use full kernel source tree to enable it.) + endif # $(kvm_dep_lapic_check) + else + $(warning CONFIG_KALLSYMS_ALL is disabled. Probe "kvm" x86-specific is disabled. Rebuild your kernel with this configuration option enabled in order to trace this subsystem.) + endif # CONFIG_KALLSYMS_ALL endif # CONFIG_X86 endif # CONFIG_KVM diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lttng-modules-2.13.7/src/wrapper/kallsyms.c new/lttng-modules-2.13.8/src/wrapper/kallsyms.c --- old/lttng-modules-2.13.7/src/wrapper/kallsyms.c 2022-09-30 23:11:06.000000000 +0200 +++ new/lttng-modules-2.13.8/src/wrapper/kallsyms.c 2023-01-13 22:08:06.000000000 +0100 @@ -39,7 +39,7 @@ memset(&probe, 0, sizeof(probe)); probe.pre_handler = dummy_kprobe_handler; probe.symbol_name = "kallsyms_lookup_name"; -#ifdef PPC64_ELF_ABI_v2 +#ifdef LTTNG_CONFIG_PPC64_ELF_ABI_V2 /* * With powerpc64 ABIv2, we need the global entry point of * kallsyms_lookup_name to call it later, while kprobe_register would @@ -53,7 +53,7 @@ ret = register_kprobe(&probe); if (ret) return 0; -#ifdef PPC64_ELF_ABI_v2 +#ifdef LTTNG_CONFIG_PPC64_ELF_ABI_V2 /* Substract 4 bytes to get what we originally want */ addr = (unsigned long)(((char *)probe.addr) - 4); #else