~ubuntu-kernel/ubuntu/+source/linux/+git/noble:master-next

Last commit made on 2025-02-11
Get this branch:
git clone -b master-next https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/noble
Members of Ubuntu Kernel Repositories can upload to this branch. Log in for directions.

Branch merges

Branch information

Recent commits

4ab6527... by Alex Williamson <email address hidden>

PCI: Batch BAR sizing operations

BugLink: https://bugs.launchpad.net/bugs/2097389

Toggling memory enable is free on bare metal, but potentially expensive
in virtualized environments as the device MMIO spaces are added and
removed from the VM address space, including DMA mapping of those spaces
through the IOMMU where peer-to-peer is supported. Currently memory
decode is disabled around sizing each individual BAR, even for SR-IOV
BARs while VF Enable is cleared.

This can be better optimized for virtual environments by sizing a set
of BARs at once, stashing the resulting mask into an array, while only
toggling memory enable once. This also naturally improves the SR-IOV
path as the caller becomes responsible for any necessary decode disables
while sizing BARs, therefore SR-IOV BARs are sized relying only on the
VF Enable rather than toggling the PF memory enable in the command
register.

Link: https://<email address hidden>
Reported-by: Mitchell Augustin <email address hidden>
Link: https://lore.<email address hidden>
Signed-off-by: Alex Williamson <email address hidden>
Signed-off-by: Bjorn Helgaas <email address hidden>
Tested-by: Mitchell Augustin <email address hidden>
Reviewed-by: Mitchell Augustin <email address hidden>
Reviewed-by: Ilpo Järvinen <email address hidden>
(cherry picked from commit 4453f360862e5d9f0807941d613162c3f7a36559)
Signed-off-by: Mitchell Augustin <email address hidden>
Acked-by: Jacob Martin <email address hidden>
Acked-by: Agathe Porte <email address hidden>
Signed-off-by: Koichiro Den <email address hidden>

1ded665... by Juerg Haefliger

UBUNTU: [Packaging] linux-tools: Fall back to old python perf path

BugLink: https://bugs.launchpad.net/bugs/2089411

linux-tools from older kernels without these patches provide the
perf python library in a different/broken path, so we have to look
there as well. Sigh.

Signed-off-by: Juerg Haefliger <email address hidden>
Acked-by: Kevin Becker <email address hidden>
Acked-by: Agathe Porte <email address hidden>
Signed-off-by: Koichiro Den <email address hidden>

6eaa7c7... by Juerg Haefliger

UBUNTU: [Packaging] linux-tools: Fix python perf library packaging

BugLink: https://bugs.launchpad.net/bugs/2089411

This currently doesn't work for derivatives because there's a level
of indirection missing and the top-level wrapper is looking in the
wrong place for the .so library.

It should be like this:

foo -> linux-tools/<abi>-<flavor>/foo -> <source>-tools-<abi>/foo

The previous commit took care of the missing indirection. This commit
fixes the wrapper to look in the correct directory for the library.

While at it, run it through black and make the wrapper and the .so
library non-executable.

Signed-off-by: Juerg Haefliger <email address hidden>
Acked-by: Agathe Porte <email address hidden>
Signed-off-by: Timo Aaltonen <email address hidden>
(backported from commit e3092e36b13ccf423258b2232cff0c4d5841d426 plucky:linux)
[juergh: Changed $(DEB_SOURCE) -> $(src_pkg_name)]
Signed-off-by: Juerg Haefliger <email address hidden>
Acked-by: Kevin Becker <email address hidden>
Acked-by: Agathe Porte <email address hidden>
Signed-off-by: Koichiro Den <email address hidden>

2894965... by Juerg Haefliger

UBUNTU: [Packaging] linux-tools: Add missing python perf symlink

BugLink: https://bugs.launchpad.net/bugs/2089411

The python perf library needs a symlink from the unflavored to the
flavored package directory, just like any of the other tools binaries.

However, it's somewhat special in that the link target name cannot be
determined easily and reliably (python-version- and host-architecture-
specific). To work around that, link the subdirectory that contains it.

Signed-off-by: Juerg Haefliger <email address hidden>
Acked-by: Kevin Becker <email address hidden>
Acked-by: Agathe Porte <email address hidden>
Signed-off-by: Koichiro Den <email address hidden>

8859808... by Manuel Diewald

UBUNTU: Upstream stable to v6.6.57, v6.11.5

BugLink: https://bugs.launchpad.net/bugs/2097393

Signed-off-by: Manuel Diewald <email address hidden>
Signed-off-by: Koichiro Den <email address hidden>

5a88dca... by Vasiliy Kovalev

ALSA: hda/conexant - Use cached pin control for Node 0x1d on HP EliteOne 1000 G2

BugLink: https://bugs.launchpad.net/bugs/2097393

commit 164cd0e077a18d6208523c82b102c98c77fdd51f upstream.

The cached version avoids redundant commands to the codec, improving
stability and reducing unnecessary operations. This change ensures
better power management and reliable restoration of pin configurations,
especially after hibernation (S4) and other power transitions.

Fixes: 9988844c457f ("ALSA: hda/conexant - Fix audio routing for HP EliteOne 1000 G2")
Suggested-by: Kai-Heng Feng <email address hidden>
Suggested-by: Takashi Iwai <email address hidden>
Signed-off-by: Vasiliy Kovalev <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Manuel Diewald <email address hidden>
Signed-off-by: Koichiro Den <email address hidden>

7c9e2b9... by Chris Li <email address hidden>

mm: vmscan.c: fix OOM on swap stress test

BugLink: https://bugs.launchpad.net/bugs/2097393

commit 0885ef4705607936fc36a38fd74356e1c465b023 upstream.

I found a regression on mm-unstable during my swap stress test, using
tmpfs to compile linux. The test OOM very soon after the make spawns many
cc processes.

It bisects down to this change: 33dfe9204f29b415bbc0abb1a50642d1ba94f5e9
(mm/gup: clear the LRU flag of a page before adding to LRU batch)

Yu Zhao propose the fix: "I think this is one of the potential side
effects -- Huge mentioned earlier about isolate_lru_folios():"

I test that with it the swap stress test no longer OOM.

Link: https://lore.<email address hidden>/
Link: https://<email address hidden>
Fixes: 33dfe9204f29 ("mm/gup: clear the LRU flag of a page before adding to LRU batch")
Signed-off-by: Chris Li <email address hidden>
Suggested-by: Yu Zhao <email address hidden>
Suggested-by: Hugh Dickins <email address hidden>
Closes: https://lore.kernel<email address hidden>/
Signed-off-by: Andrew Morton <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Manuel Diewald <email address hidden>
Signed-off-by: Koichiro Den <email address hidden>

348d0aa... by Johan Hovold <email address hidden>

serial: qcom-geni: fix receiver enable

BugLink: https://bugs.launchpad.net/bugs/2097393

commit fa103d2599e11e802c818684cff821baefe7f206 upstream.

The receiver is supposed to be enabled in the startup() callback and not
in set_termios() which is called also during console setup.

This specifically avoids accepting input before the port has been opened
(and interrupts enabled), something which can also break the GENI
firmware (cancel fails and after abort, the "stale" counter handling
appears to be broken so that later input is not processed until twelve
chars have been received).

There also does not appear to be any need to keep the receiver disabled
while updating the port settings.

Since commit 6f3c3cafb115 ("serial: qcom-geni: disable interrupts during
console writes") the calls to manipulate the secondary interrupts, which
were done without holding the port lock, can also lead to the receiver
being left disabled when set_termios() races with the console code (e.g.
when init opens the tty during boot). This can manifest itself as a
serial getty not accepting input.

The calls to stop and start rx in set_termios() can similarly race with
DMA completion and, for example, cause the DMA buffer to be unmapped
twice or the mapping to be leaked.

Fix this by only enabling the receiver during startup and while holding
the port lock to avoid racing with the console code.

Fixes: 6f3c3cafb115 ("serial: qcom-geni: disable interrupts during console writes")
Fixes: 2aaa43c70778 ("tty: serial: qcom-geni-serial: add support for serial engine DMA")
Fixes: c4f528795d1a ("tty: serial: msm_geni_serial: Add serial driver support for GENI based QUP")
Cc: <email address hidden> # 6.3
Cc: Bartosz Golaszewski <email address hidden>
Signed-off-by: Johan Hovold <email address hidden>
Reviewed-by: Douglas Anderson <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Manuel Diewald <email address hidden>
Signed-off-by: Koichiro Den <email address hidden>

9d8c69e... by Johan Hovold <email address hidden>

serial: qcom-geni: fix dma rx cancellation

BugLink: https://bugs.launchpad.net/bugs/2097393

commit 23ee4a25661c33e6381d41e848a9060ed6d72845 upstream.

Make sure to wait for the DMA transfer to complete when cancelling the
rx command on stop_rx(). This specifically prevents the DMA completion
interrupt from firing after rx has been restarted, something which can
lead to an IOMMU fault and hosed rx when the interrupt handler unmaps
the DMA buffer for the new command:

 qcom_geni_serial 988000.serial: serial engine reports 0 RX bytes in!
 arm-smmu 15000000.iommu: FSR = 00000402 [Format=2 TF], SID=0x563
 arm-smmu 15000000.iommu: FSYNR0 = 00210013 [S1CBNDX=33 WNR PLVL=3]
 Bluetooth: hci0: command 0xfc00 tx timeout
 Bluetooth: hci0: Reading QCA version information failed (-110)

Also add the missing state machine reset which is needed in case
cancellation fails.

Fixes: 2aaa43c70778 ("tty: serial: qcom-geni-serial: add support for serial engine DMA")
Cc: <email address hidden> # 6.3
Cc: Bartosz Golaszewski <email address hidden>
Signed-off-by: Johan Hovold <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Manuel Diewald <email address hidden>
Signed-off-by: Koichiro Den <email address hidden>

89284fc... by Johan Hovold <email address hidden>

serial: qcom-geni: fix shutdown race

BugLink: https://bugs.launchpad.net/bugs/2097393

commit 23f5f5debcaac1399cfeacec215278bf6dbc1d11 upstream.

A commit adding back the stopping of tx on port shutdown failed to add
back the locking which had also been removed by commit e83766334f96
("tty: serial: qcom_geni_serial: No need to stop tx/rx on UART
shutdown").

Holding the port lock is needed to serialise against the console code,
which may update the interrupt enable register and access the port
state.

Fixes: d8aca2f96813 ("tty: serial: qcom-geni-serial: stop operations in progress at shutdown")
Fixes: 947cc4ecc06c ("serial: qcom-geni: fix soft lockup on sw flow control and suspend")
Cc: <email address hidden> # 6.3
Reviewed-by: Bartosz Golaszewski <email address hidden>
Signed-off-by: Johan Hovold <email address hidden>
Reviewed-by: Douglas Anderson <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Manuel Diewald <email address hidden>
Signed-off-by: Koichiro Den <email address hidden>