Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libtraceevent for openSUSE:Factory 
checked in at 2022-08-31 18:08:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libtraceevent (Old)
 and      /work/SRC/openSUSE:Factory/.libtraceevent.new.2083 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libtraceevent"

Wed Aug 31 18:08:51 2022 rev:6 rq:1000304 version:1.6.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/libtraceevent/libtraceevent.changes      
2022-04-06 21:52:35.834810001 +0200
+++ /work/SRC/openSUSE:Factory/.libtraceevent.new.2083/libtraceevent.changes    
2022-08-31 18:08:58.155372479 +0200
@@ -1,0 +2,10 @@
+Mon Aug 29 09:56:33 UTC 2022 - Jan Engelhardt <[email protected]>
+
+- Update to release 1.6.2
+  * Add API tep_get_function_count()
+  * Reset right arg when copying TEP_PRINT_OP
+  * Reset field properly in event_read_fields()
+  * Fix memleak in make_bprint_args()
+  * Add processing of __get_sockaddr() and __get_sockaddr_rel()
+
+-------------------------------------------------------------------

Old:
----
  libtraceevent-1.5.3.tar.gz

New:
----
  libtraceevent-1.6.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libtraceevent.spec ++++++
--- /var/tmp/diff_new_pack.VN98HX/_old  2022-08-31 18:08:58.675373855 +0200
+++ /var/tmp/diff_new_pack.VN98HX/_new  2022-08-31 18:08:58.679373865 +0200
@@ -22,7 +22,7 @@
 %define sodname %{dname}%{sonum}
 
 Name:           libtraceevent
-Version:        1.5.3
+Version:        1.6.2
 Release:        0
 Summary:        Linux kernel trace event library
 License:        GPL-2.0-only AND LGPL-2.1-only

++++++ libtraceevent-1.5.3.tar.gz -> libtraceevent-1.6.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libtraceevent-1.5.3/Documentation/libtraceevent-func_apis.txt 
new/libtraceevent-1.6.2/Documentation/libtraceevent-func_apis.txt
--- old/libtraceevent-1.5.3/Documentation/libtraceevent-func_apis.txt   
2022-03-25 00:40:51.000000000 +0100
+++ new/libtraceevent-1.6.2/Documentation/libtraceevent-func_apis.txt   
2022-07-14 19:26:50.000000000 +0200
@@ -4,7 +4,8 @@
 NAME
 ----
 tep_find_function, tep_find_function_address, tep_set_function_resolver,
-tep_reset_function_resolver, tep_register_function, tep_register_print_string -
+tep_reset_function_resolver, tep_register_function, tep_register_print_string,
+tep_get_function_count -
 function related tep APIs
 
 SYNOPSIS
@@ -20,6 +21,7 @@
 unsigned long long *tep_find_function_address*(struct tep_handle 
pass:[*]_tep_, unsigned long long _addr_);
 int *tep_register_function*(struct tep_handle pass:[*]_tep_, char 
pass:[*]_name_, unsigned long long _addr_, char pass:[*]_mod_);
 int *tep_register_print_string*(struct tep_handle pass:[*]_tep_, const char 
pass:[*]_fmt_, unsigned long long _addr_);
+int *tep_get_function_count*(struct tep_handle *_tep_)
 --
 
 DESCRIPTION
@@ -75,6 +77,7 @@
 context. The _fmt_ is the string to register, it is copied internally.
 The _addr_ is the address the string was located at.
 
+*tep_get_function_count*() returns the number of registered functions in a tep 
handler.
 
 RETURN VALUE
 ------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libtraceevent-1.5.3/Makefile 
new/libtraceevent-1.6.2/Makefile
--- old/libtraceevent-1.5.3/Makefile    2022-03-25 00:40:51.000000000 +0100
+++ new/libtraceevent-1.6.2/Makefile    2022-07-14 19:26:50.000000000 +0200
@@ -1,8 +1,8 @@
 # SPDX-License-Identifier: GPL-2.0
 # libtraceevent version
 EP_VERSION = 1
-EP_PATCHLEVEL = 5
-EP_EXTRAVERSION = 3
+EP_PATCHLEVEL = 6
+EP_EXTRAVERSION = 2
 EVENT_PARSE_VERSION = $(EP_VERSION).$(EP_PATCHLEVEL).$(EP_EXTRAVERSION)
 
 MAKEFLAGS += --no-print-directory
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libtraceevent-1.5.3/include/traceevent/event-parse.h 
new/libtraceevent-1.6.2/include/traceevent/event-parse.h
--- old/libtraceevent-1.5.3/include/traceevent/event-parse.h    2022-03-25 
00:40:51.000000000 +0100
+++ new/libtraceevent-1.6.2/include/traceevent/event-parse.h    2022-07-14 
19:26:50.000000000 +0200
@@ -566,6 +566,8 @@
 struct tep_format_field **tep_event_common_fields(struct tep_event *event);
 struct tep_format_field **tep_event_fields(struct tep_event *event);
 
+int tep_get_function_count(struct tep_handle *tep);
+
 enum tep_endian {
         TEP_LITTLE_ENDIAN = 0,
         TEP_BIG_ENDIAN
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libtraceevent-1.5.3/src/event-parse-api.c 
new/libtraceevent-1.6.2/src/event-parse-api.c
--- old/libtraceevent-1.5.3/src/event-parse-api.c       2022-03-25 
00:40:51.000000000 +0100
+++ new/libtraceevent-1.6.2/src/event-parse-api.c       2022-07-14 
19:26:50.000000000 +0200
@@ -51,6 +51,20 @@
 }
 
 /**
+ * tep_get_events_count - get the number of defined events
+ * @tep: a handle to the tep_handle
+ *
+ * This returns number of elements in event array
+ * If @tep is NULL, 0 is returned.
+ */
+int tep_get_function_count(struct tep_handle *tep)
+{
+       if (tep)
+               return tep->func_count;
+       return 0;
+}
+
+/**
  * tep_set_flag - set event parser flag
  * @tep: a handle to the tep_handle
  * @flag: flag, or combination of flags to be set
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libtraceevent-1.5.3/src/event-parse.c 
new/libtraceevent-1.6.2/src/event-parse.c
--- old/libtraceevent-1.5.3/src/event-parse.c   2022-03-25 00:40:51.000000000 
+0100
+++ new/libtraceevent-1.6.2/src/event-parse.c   2022-07-14 19:26:50.000000000 
+0200
@@ -739,8 +739,11 @@
                if (errno)
                        goto out;
 
-               if (n != 2 || !func_end)
+               if (n != 2 || !func_end) {
+                       tep_warning("Failed to parse kallsyms n=%d func_end=%d",
+                                   n, func_end);
                        goto out;
+               }
 
                func = line + func_start;
                /*
@@ -1902,6 +1905,7 @@
 
                *fields = field;
                fields = &field->next;
+               field = NULL;
 
        } while (1);
 
@@ -2317,6 +2321,7 @@
                arg->type = TEP_PRINT_OP;
                arg->op.op = token;
                arg->op.left = left;
+               arg->op.right = NULL;
                arg->op.prio = 0;
 
                /* it will set arg->op.right */
@@ -2422,6 +2427,7 @@
                arg->type = TEP_PRINT_OP;
                arg->op.op = token;
                arg->op.left = left;
+               arg->op.right = NULL;
 
                arg->op.prio = 0;
 
@@ -2551,6 +2557,10 @@
        int len;
 
        len = strlen(type);
+       if (len < 2) {
+               do_warning("invalid type: %s", type);
+               return val;
+       }
 
        if (pointer) {
 
@@ -3475,7 +3485,9 @@
                return process_bitmask(event, arg, tok);
        }
        if (strcmp(token, "__get_dynamic_array") == 0 ||
-           strcmp(token, "__get_rel_dynamic_array") == 0) {
+           strcmp(token, "__get_rel_dynamic_array") == 0 ||
+           strcmp(token, "__get_sockaddr") == 0 ||
+           strcmp(token, "__get_sockaddr_rel") == 0) {
                free_token(token);
                return process_dynamic_array(event, arg, tok);
        }
@@ -4908,8 +4920,10 @@
                                arg->next = NULL;
                                arg->type = TEP_PRINT_BSTRING;
                                arg->string.string = strdup(bptr);
-                               if (!arg->string.string)
+                               if (!arg->string.string) {
+                                       free(arg);
                                        goto out_free;
+                               }
                                bptr += strlen(bptr) + 1;
                                *next = arg;
                                next = &arg->next;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libtraceevent-1.5.3/src/kbuffer-parse.c 
new/libtraceevent-1.6.2/src/kbuffer-parse.c
--- old/libtraceevent-1.5.3/src/kbuffer-parse.c 2022-03-25 00:40:51.000000000 
+0100
+++ new/libtraceevent-1.6.2/src/kbuffer-parse.c 2022-07-14 19:26:50.000000000 
+0200
@@ -14,6 +14,9 @@
 
 #define COMMIT_MASK ((1 << 27) - 1)
 
+/* Absolute time stamps do not have the 5 MSB, take from the real time stamp */
+#define TS_MSB         (0xf8ULL << 56)
+
 enum {
        KBUFFER_FL_HOST_BIG_ENDIAN      = (1<<0),
        KBUFFER_FL_BIG_ENDIAN           = (1<<1),
@@ -347,7 +350,7 @@
 translate_data(struct kbuffer *kbuf, void *data, void **rptr,
               unsigned long long *delta, int *length)
 {
-       unsigned long long extend;
+       unsigned long long extend, msb = 0;
        unsigned int type_len_ts;
        unsigned int type_len;
 
@@ -362,13 +365,15 @@
                *length = read_4(kbuf, data);
                break;
 
-       case KBUFFER_TYPE_TIME_EXTEND:
        case KBUFFER_TYPE_TIME_STAMP:
+               msb = kbuf->timestamp & TS_MSB;
+               /* fall through */
+       case KBUFFER_TYPE_TIME_EXTEND:
                extend = read_4(kbuf, data);
                data += 4;
                extend <<= TS_SHIFT;
                extend += *delta;
-               *delta = extend;
+               *delta = extend | msb;
                *length = 0;
                break;
 

Reply via email to