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

Bug#973706: marked as done (buster-pu: package lttng-modules/2.10.8-1)



Your message dated Sat, 06 Feb 2021 10:39:26 +0000
with message-id <6425525e38201ecf9a2d3e0f1e63c0d3b08e0fc0.camel@adam-barratt.org.uk>
and subject line Closing p-u bugs for updates in 10.8
has caused the Debian Bug report #973706,
regarding buster-pu: package lttng-modules/2.10.8-1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
973706: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=973706
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: buster
User: release.debian.org@packages.debian.org
Usertags: pu

Hi,

The attached diff fixes a build failure of the dkms modules on the
4.19.0-11 buster linux kernel. This was reported at:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=972321

I'd appreciate if you consider allowing this upload to buster.

Thanks,

Michael
diff -Nru lttng-modules-2.10.8/debian/changelog lttng-modules-2.10.8/debian/changelog
--- lttng-modules-2.10.8/debian/changelog	2018-11-02 16:13:20.000000000 -0400
+++ lttng-modules-2.10.8/debian/changelog	2020-11-03 11:46:36.000000000 -0500
@@ -1,3 +1,10 @@
+lttng-modules (2.10.8-1+deb10u1) buster; urgency=medium
+
+  * [5c8aed8] Update debian/gbp.conf for buster
+  * [16882db] Fix build on >= 4.19.0-10 kernels (Closes: #972321)
+
+ -- Michael Jeanson <mjeanson@debian.org>  Tue, 03 Nov 2020 11:46:36 -0500
+
 lttng-modules (2.10.8-1) unstable; urgency=medium
 
   * [7037820] New upstream version 2.10.8
diff -Nru lttng-modules-2.10.8/debian/gbp.conf lttng-modules-2.10.8/debian/gbp.conf
--- lttng-modules-2.10.8/debian/gbp.conf	2018-07-04 11:21:39.000000000 -0400
+++ lttng-modules-2.10.8/debian/gbp.conf	2020-11-03 11:30:17.000000000 -0500
@@ -1,3 +1,3 @@
 [DEFAULT]
-upstream-branch=upstream/latest
-debian-branch=debian/sid
+upstream-branch=upstream/2.10.8
+debian-branch=debian/buster
diff -Nru lttng-modules-2.10.8/debian/patches/0001-fix-writeback-Fix-sync-livelock-due-to-b_dirty_time-.patch lttng-modules-2.10.8/debian/patches/0001-fix-writeback-Fix-sync-livelock-due-to-b_dirty_time-.patch
--- lttng-modules-2.10.8/debian/patches/0001-fix-writeback-Fix-sync-livelock-due-to-b_dirty_time-.patch	1969-12-31 19:00:00.000000000 -0500
+++ lttng-modules-2.10.8/debian/patches/0001-fix-writeback-Fix-sync-livelock-due-to-b_dirty_time-.patch	2020-11-03 11:30:17.000000000 -0500
@@ -0,0 +1,122 @@
+From 8e6be22dd4bf96b08447d075ce2fe3916f47764b Mon Sep 17 00:00:00 2001
+From: Michael Jeanson <mjeanson@efficios.com>
+Date: Mon, 31 Aug 2020 14:16:01 -0400
+Subject: [PATCH] fix: writeback: Fix sync livelock due to b_dirty_time
+ processing (v5.9)
+
+See upstream commit:
+
+  commit f9cae926f35e8230330f28c7b743ad088611a8de
+  Author: Jan Kara <jack@suse.cz>
+  Date:   Fri May 29 16:08:58 2020 +0200
+
+    writeback: Fix sync livelock due to b_dirty_time processing
+
+    When we are processing writeback for sync(2), move_expired_inodes()
+    didn't set any inode expiry value (older_than_this). This can result in
+    writeback never completing if there's steady stream of inodes added to
+    b_dirty_time list as writeback rechecks dirty lists after each writeback
+    round whether there's more work to be done. Fix the problem by using
+    sync(2) start time is inode expiry value when processing b_dirty_time
+    list similarly as for ordinarily dirtied inodes. This requires some
+    refactoring of older_than_this handling which simplifies the code
+    noticeably as a bonus.
+
+Change-Id: I99e505965d278565ae512a30842cdce888e0c84a
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+---
+ .../events/lttng-module/writeback.h           | 46 +++++++++++++------
+ 1 file changed, 33 insertions(+), 13 deletions(-)
+
+diff --git a/instrumentation/events/lttng-module/writeback.h b/instrumentation/events/lttng-module/writeback.h
+index c472b33..353d58a 100644
+--- a/instrumentation/events/lttng-module/writeback.h
++++ b/instrumentation/events/lttng-module/writeback.h
+@@ -371,34 +371,55 @@ LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_balance_dirty_wait, writeback_wbc_balanc
+ #endif
+ LTTNG_TRACEPOINT_EVENT_WBC_INSTANCE(wbc_writepage, writeback_wbc_writepage)
+ 
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0) || \
++	LTTNG_KERNEL_RANGE(5,8,6, 5,9,0) || \
++	LTTNG_KERNEL_RANGE(5,4,62, 5,5,0) || \
++	LTTNG_KERNEL_RANGE(4,19,143, 4,20,0) || \
++	LTTNG_KERNEL_RANGE(4,14,196, 4,15,0) || \
++	LTTNG_KERNEL_RANGE(4,9,235, 4,10,0) || \
++	LTTNG_KERNEL_RANGE(4,4,235, 4,5,0) || \
++	LTTNG_UBUNTU_KERNEL_RANGE(4,15,18,119, 4,16,0,0))
++LTTNG_TRACEPOINT_EVENT(writeback_queue_io,
++	TP_PROTO(struct bdi_writeback *wb,
++		 struct wb_writeback_work *work,
++		 unsigned long dirtied_before,
++		 int moved),
++	TP_ARGS(wb, work, dirtied_before, moved),
++	TP_FIELDS(
++		ctf_array_text(char, name, dev_name(wb->bdi->dev), 32)
++		ctf_integer(unsigned long, older, dirtied_before)
++		ctf_integer(int, moved, moved)
++	)
++)
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
+ LTTNG_TRACEPOINT_EVENT(writeback_queue_io,
+ 	TP_PROTO(struct bdi_writeback *wb,
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
+ 		 struct wb_writeback_work *work,
+-#else
+-		 unsigned long *older_than_this,
+-#endif
+ 		 int moved),
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
+ 	TP_ARGS(wb, work, moved),
+-#else
++	TP_FIELDS(
++		ctf_array_text(char, name, dev_name(wb->bdi->dev), 32)
++		ctf_integer(int, moved, moved)
++	)
++)
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
++LTTNG_TRACEPOINT_EVENT(writeback_queue_io,
++	TP_PROTO(struct bdi_writeback *wb,
++		 unsigned long *older_than_this,
++		 int moved),
+ 	TP_ARGS(wb, older_than_this, moved),
+-#endif
+ 	TP_FIELDS(
+ 		ctf_array_text(char, name, dev_name(wb->bdi->dev), 32)
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
+-#else
+ 		ctf_integer(unsigned long, older,
+ 			older_than_this ? *older_than_this : 0)
+ 		ctf_integer(long, age,
+ 			older_than_this ?
+ 				(jiffies - *older_than_this) * 1000 / HZ
+ 				: -1)
+-#endif
+ 		ctf_integer(int, moved, moved)
+ 	)
+ )
++#endif
+ 
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
+ LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state,
+@@ -424,7 +445,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state,
+ 		ctf_integer(unsigned long, dirty_limit, global_dirty_limit)
+ 	)
+ )
+-#else
++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
+ LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state,
+ 
+ 	writeback_global_dirty_state,
+@@ -449,7 +470,6 @@ LTTNG_TRACEPOINT_EVENT_MAP(global_dirty_state,
+ 	)
+ )
+ #endif
+-#endif
+ 
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
+ 
+-- 
+2.20.1
+
diff -Nru lttng-modules-2.10.8/debian/patches/0002-fix-KVM-x86-Use-gpa_t-for-cr2-gpa-to-fix-TDP-support.patch lttng-modules-2.10.8/debian/patches/0002-fix-KVM-x86-Use-gpa_t-for-cr2-gpa-to-fix-TDP-support.patch
--- lttng-modules-2.10.8/debian/patches/0002-fix-KVM-x86-Use-gpa_t-for-cr2-gpa-to-fix-TDP-support.patch	1969-12-31 19:00:00.000000000 -0500
+++ lttng-modules-2.10.8/debian/patches/0002-fix-KVM-x86-Use-gpa_t-for-cr2-gpa-to-fix-TDP-support.patch	2020-11-03 11:46:15.000000000 -0500
@@ -0,0 +1,88 @@
+From 134984e912082ad82437514f07e21f31b46f61f9 Mon Sep 17 00:00:00 2001
+From: Michael Jeanson <mjeanson@efficios.com>
+Date: Tue, 11 Feb 2020 14:41:29 -0500
+Subject: [PATCH] fix: KVM: x86: Use gpa_t for cr2/gpa to fix TDP support on
+ 32-bit (v5.6)
+
+See upstream commit :
+
+  commit 736c291c9f36b07f8889c61764c28edce20e715d
+  Author: Sean Christopherson <sean.j.christopherson@intel.com>
+  Date:   Fri Dec 6 15:57:14 2019 -0800
+
+    KVM: x86: Use gpa_t for cr2/gpa to fix TDP support on 32-bit KVM
+
+    Convert a plethora of parameters and variables in the MMU and page fault
+    flows from type gva_t to gpa_t to properly handle TDP on 32-bit KVM.
+
+    Thanks to PSE and PAE paging, 32-bit kernels can access 64-bit physical
+    addresses.  When TDP is enabled, the fault address is a guest physical
+    address and thus can be a 64-bit value, even when both KVM and its guest
+    are using 32-bit virtual addressing, e.g. VMX's VMCS.GUEST_PHYSICAL is a
+    64-bit field, not a natural width field.
+
+    Using a gva_t for the fault address means KVM will incorrectly drop the
+    upper 32-bits of the GPA.  Ditto for gva_to_gpa() when it is used to
+    translate L2 GPAs to L1 GPAs.
+
+    Opportunistically rename variables and parameters to better reflect the
+    dual address modes, e.g. use "cr2_or_gpa" for fault addresses and plain
+    "addr" instead of "vaddr" when the address may be either a GVA or an L2
+    GPA.  Similarly, use "gpa" in the nonpaging_page_fault() flows to avoid
+    a confusing "gpa_t gva" declaration; this also sets the stage for a
+    future patch to combing nonpaging_page_fault() and tdp_page_fault() with
+    minimal churn.
+
+    Sprinkle in a few comments to document flows where an address is known
+    to be a GVA and thus can be safely truncated to a 32-bit value.  Add
+    WARNs in kvm_handle_page_fault() and FNAME(gva_to_gpa_nested)() to help
+    document such cases and detect bugs.
+
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+---
+ .../lttng-module/arch/x86/kvm/mmutrace.h      | 26 +++++++++++++++++++
+ 1 file changed, 26 insertions(+)
+
+--- a/instrumentation/events/lttng-module/arch/x86/kvm/mmutrace.h
++++ b/instrumentation/events/lttng-module/arch/x86/kvm/mmutrace.h
+@@ -205,6 +205,30 @@
+ 	)
+ )
+ 
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0) || \
++	LTTNG_KERNEL_RANGE(4,19,103, 4,20,0) || \
++	LTTNG_KERNEL_RANGE(5,4,19, 5,5,0) || \
++	LTTNG_KERNEL_RANGE(5,5,3, 5,6,0))
++LTTNG_TRACEPOINT_EVENT_MAP(
++	fast_page_fault,
++
++	kvm_mmu_fast_page_fault,
++
++	TP_PROTO(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa, u32 error_code,
++		 u64 *sptep, u64 old_spte, bool retry),
++	TP_ARGS(vcpu, cr2_or_gpa, error_code, sptep, old_spte, retry),
++
++	TP_FIELDS(
++		ctf_integer(int, vcpu_id, vcpu->vcpu_id)
++		ctf_integer(gpa_t, cr2_or_gpa, cr2_or_gpa)
++		ctf_integer(u32, error_code, error_code)
++		ctf_integer_hex(u64 *, sptep, sptep)
++		ctf_integer(u64, old_spte, old_spte)
++		ctf_integer(u64, new_spte, *sptep)
++		ctf_integer(bool, retry, retry)
++	)
++)
++#else
+ LTTNG_TRACEPOINT_EVENT_MAP(
+ 	fast_page_fault,
+ 
+@@ -224,6 +248,8 @@
+ 		ctf_integer(bool, retry, retry)
+ 	)
+ )
++#endif
++
+ #endif /* LTTNG_TRACE_KVM_MMU_H */
+ 
+ #undef TRACE_INCLUDE_PATH
diff -Nru lttng-modules-2.10.8/debian/patches/series lttng-modules-2.10.8/debian/patches/series
--- lttng-modules-2.10.8/debian/patches/series	2018-08-09 16:45:38.000000000 -0400
+++ lttng-modules-2.10.8/debian/patches/series	2020-11-03 11:46:15.000000000 -0500
@@ -1 +1,3 @@
 fix-linux-rt-4.9-sched.patch
+0001-fix-writeback-Fix-sync-livelock-due-to-b_dirty_time-.patch
+0002-fix-KVM-x86-Use-gpa_t-for-cr2-gpa-to-fix-TDP-support.patch

--- End Message ---
--- Begin Message ---
Package: release.debian.org
Version: 10.8

Hi,

Each of the updates referenced by these bugs was included in today's
10.8 point release.

Regards,

Adam

--- End Message ---

Reply to: