[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1001474: bullseye-pu: package bpftrace/0.11.3-5



Package: release.debian.org
Severity: normal
Tags: bullseye
User: release.debian.org@packages.debian.org
Usertags: pu

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

[ Reason ]
Array indexing is broken, making bpftrace unable to complete its task on some scripts.

[ Impact ]
Some scripts cannot work.

[ Tests ]
Tested with this script:

#!/usr/bin/env bpftrace
#include <linux/socket.h>
#include <net/sock.h>
kprobe:tcp_connect
{
 $sk = ((struct sock *) arg0);
 if ($sk->__sk_common.skc_family == AF_INET6) {
 $d0 = $sk->__sk_common.skc_v6_daddr.in6_u.u6_addr32[0];
 $d1 = $sk->__sk_common.skc_v6_daddr.in6_u.u6_addr32[1];
 $d2 = $sk->__sk_common.skc_v6_daddr.in6_u.u6_addr32[2];
 $d3 = $sk->__sk_common.skc_v6_daddr.in6_u.u6_addr32[3];
 printf("%X %X %X %X\n", $d0, $d1, $d2, $d3);
 }
}
[ Risks ]
Code is trivial. Patch is from upstream.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable

[ Changes ]
Upstream patch to fix the issue.

[ Other info ]

-----BEGIN PGP SIGNATURE-----

iQJGBAEBCAAwFiEErvI0h2bzccaJpzYAlaQv6DU1JfkFAmGzmqISHGJlcm5hdEBk
ZWJpYW4ub3JnAAoJEJWkL+g1NSX5N/QP/ibBMh/2uaCW0gsYOeb7brdwNEBuclMW
r7NQhJx10Q/f5tonj1NizPu94oeEOh4W6GpmZ4tMmQSi7k2Hr9Ny3r+mqwSjGTEZ
R5xK8gHV1WSoVCXCXa9xu3XdXaeZhG545g9cnAIxkCRp6ZOcI6MqDZ6A+xEExTz2
y5bF9ezhPDRjbhMFiuhhZ9lwIBSuINwm0osgEsrwxpRz96TnLQG2rPS52UUTYCiO
6Tpd4aJdCLTgw969H2//tb1PuODq0//KFndDWhtZcN88ahvH1QYk9Tlf7HrtQ5qy
LrkAQe5puu5q5+S54OdvGhcEINclgsdZ52tqF///nHm1Q+IghimlSjsNZAQh9CaI
wh3PhTKtFUj5zHWQKFwgLV/41p6Cg8SYTlQp9trT1tS8J9eELJQDzoHEBFl6iJer
HtOFSazwIkHlFqFsrmZ+mIZ0mpmlKRBQmLwP4dURV+4skFbIT4tx1g4TrZeK0Erg
dEOZQ8BP3pTjSXT1GqHpnif6NiiLGre0FTmqEVT3XrgFPoR5jrECxn7PzAKAxuCP
Ulx3pTpsock1jS/LSAbPoyUTOo2skm39tC9zOuixLQuLy81NVMIUr2SQQctLiLAk
/avo0leQDqZihJY2Di7idvm9El/VbHq80SYi2ddMsD8WeFvIU77xwrP1azlnjkhg
hdP5YokOmKBt
=pJ4O
-----END PGP SIGNATURE-----
>From b06bd9dfd60e58f6c5164fd283cb19801513fb09 Mon Sep 17 00:00:00 2001
From: Vincent Bernat <bernat@debian.org>
Date: Fri, 10 Dec 2021 19:16:23 +0100
Subject: [PATCH] d/patches: add patch to fix array indexing

---
 debian/changelog          |  6 ++++++
 debian/patches/1457.patch | 27 +++++++++++++++++++++++++++
 debian/patches/series     |  1 +
 3 files changed, 34 insertions(+)
 create mode 100644 debian/patches/1457.patch

diff --git a/debian/changelog b/debian/changelog
index e22c1cc4b4a8..e138bfe58331 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+bpftrace (0.11.3-5+deb11u1) bullseye; urgency=medium
+
+  * d/patches: add patch to fix array indexing (Closes: #1001449).
+
+ -- Vincent Bernat <bernat@debian.org>  Fri, 10 Dec 2021 19:16:15 +0100
+
 bpftrace (0.11.3-5) unstable; urgency=medium
 
   * d/control: do not build-depends on libbfd-dev (Closes: #980438)
diff --git a/debian/patches/1457.patch b/debian/patches/1457.patch
new file mode 100644
index 000000000000..d572df0e39fa
--- /dev/null
+++ b/debian/patches/1457.patch
@@ -0,0 +1,27 @@
+From 21e9a7292240e1aa7a2809dedb37347104085dc1 Mon Sep 17 00:00:00 2001
+From: Daniel Xu <dxu@dxuuu.xyz>
+Date: Thu, 6 Aug 2020 08:51:44 -0700
+Subject: [PATCH] Fix array indexing regression
+
+We regressed on array indexing because the CreateArray() helper forgot
+to set pointee_size. This caused all array indexes to silently index to
+index 0.
+---
+ CHANGELOG.md                  | 2 ++
+ src/ast/semantic_analyser.cpp | 3 ++-
+ src/types.cpp                 | 1 +
+ tests/runtime/regression      | 5 +++++
+ 4 files changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/src/types.cpp b/src/types.cpp
+index bc0be7d912..14fff5f64a 100644
+--- a/src/types.cpp
++++ b/src/types.cpp
+@@ -280,6 +280,7 @@ SizedType CreateArray(size_t num_elements, const SizedType &element_type)
+   auto ty = SizedType(Type::array, num_elements);
+   ty.num_elements_ = num_elements;
+   ty.element_type_ = new SizedType(element_type);
++  ty.pointee_size = element_type.size;
+   return ty;
+ }
+ 
diff --git a/debian/patches/series b/debian/patches/series
index d01dae2643d1..d6e04b4626c3 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 0001-Ensure-symbols-are-exported-for-bpftrace-executable.patch
+1457.patch
-- 
2.34.1


Reply to: