~krzk/ubuntu/+source/linux:focal/linux

Last commit made on 2021-01-18
Get this branch:
git clone -b focal/linux https://git.launchpad.net/~krzk/ubuntu/+source/linux
Only Krzysztof Kozlowski can upload to this branch. If you are Krzysztof Kozlowski please log in for upload directions.

Branch merges

Branch information

Name:
focal/linux
Repository:
lp:~krzk/ubuntu/+source/linux

Recent commits

884ccab... by Kleber Sacilotto de Souza

UBUNTU: Ubuntu-5.4.0-65.73

Signed-off-by: Kleber Sacilotto de Souza <email address hidden>

c5c7f17... by Kleber Sacilotto de Souza

UBUNTU: link-to-tracker: update tracking bug

BugLink: https://bugs.launchpad.net/bugs/1912220
Properties: no-test-build
Signed-off-by: Kleber Sacilotto de Souza <email address hidden>

2c65ca3... by Kleber Sacilotto de Souza

UBUNTU: Start new release

Ignore: yes
Signed-off-by: Kleber Sacilotto de Souza <email address hidden>

1a263b7... by Dimitri John Ledkov

UBUNTU: SAUCE: lib/decompress_unlz4.c: correctly handle zero-padding around initrds.

lz4 compatible decompressor is simple. The format is underspecified
and relies on EOF notification to determine when to stop. Initramfs
buffer format[1] explicitely states that it can have arbitrary number
of zero padding. Thus when operating without a fill function, be extra
careful to ensure that sizes less than 4, or apperantly empty
chunksizes are treated as EOF.

To test this I have created two cpio initrds, first a normal one,
main.cpio. And second one with just a single /test-file with content
"second" second.cpio. Then i compressed both of them with gzip, and
with lz4 -l. Then I created a padding of 4 bytes (dd if=/dev/zero
of=pad4 bs=1 count=4). To create four testcase initrds:

 1) main.cpio.gzip + extra.cpio.gzip = pad0.gzip
 2) main.cpio.lz4 + extra.cpio.lz4 = pad0.lz4
 3) main.cpio.gzip + pad4 + extra.cpio.gzip = pad4.gzip
 4) main.cpio.lz4 + pad4 + extra.cpio.lz4 = pad4.lz4

The pad4 test-cases replicate the initrd load by grub, as it pads and
aligns every initrd it loads.

All of the above boot, however /test-file was not accessible in the
initrd for the testcase #4, as decoding in lz4 decompressor
failed. Also an error message printed which usually is harmless.

Whith a patched kernel, all of the above testcases now pass, and
/test-file is accessible.

This fixes lz4 initrd decompress warning on every boot with grub. And
more importantly this fixes inability to load multiple lz4 compressed
initrds with grub.

I guess I should convert above decompressor streams with/without
padding into kunit tests, across all decompressor algorithms.

[1] https://www.kernel.org/doc/html/latest/driver-api/early-userspace/buffer-format.html

BugLink: https://bugs.launchpad.net/bugs/1835660
Signed-off-by: Dimitri John Ledkov <email address hidden>
Acked-by: Stefan Bader <email address hidden>
Acked-by: Kleber Sacilotto de Souza <email address hidden>
Signed-off-by: Kleber Sacilotto de Souza <email address hidden>

1a10993... by Miklos Szeredi <email address hidden>

ovl: do not fail because of O_NOATIME

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

In case the file cannot be opened with O_NOATIME because of lack of
capabilities, then clear O_NOATIME instead of failing.

Remove WARN_ON(), since it would now trigger if O_NOATIME was cleared.
Noticed by Amir Goldstein.

Signed-off-by: Miklos Szeredi <email address hidden>
(backported from commit b6650dab404c701d7fe08a108b746542a934da84)
Signed-off-by: Seth Forshee <email address hidden>
Acked-by: Thadeu Lima de Souza Cascardo <email address hidden>
Acked-by: William Breathitt Gray <email address hidden>
Signed-off-by: Kleber Sacilotto de Souza <email address hidden>

ab6181b... by Eran Ben Elisha <email address hidden>

net/mlx5: Add retry mechanism to the command entry index allocation

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

commit 410bd754cd73c4a2ac3856d9a03d7b08f9c906bf upstream.

It is possible that new command entry index allocation will temporarily
fail. The new command holds the semaphore, so it means that a free entry
should be ready soon. Add one second retry mechanism before returning an
error.

Patch "net/mlx5: Avoid possible free of command entry while timeout comp
handler" increase the possibility to bump into this temporarily failure
as it delays the entry index release for non-callback commands.

Fixes: e126ba97dba9 ("mlx5: Add driver for Mellanox Connect-IB adapters")
Signed-off-by: Eran Ben Elisha <email address hidden>
Reviewed-by: Moshe Shemesh <email address hidden>
Signed-off-by: Saeed Mahameed <email address hidden>
Cc: Timo Rothenpieler <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>
Signed-off-by: Ian May <email address hidden>

e5436db... by Eran Ben Elisha <email address hidden>

net/mlx5: Fix a race when moving command interface to events mode

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

commit d43b7007dbd1195a5b6b83213e49b1516aaf6f5e upstream.

After driver creates (via FW command) an EQ for commands, the driver will
be informed on new commands completion by EQE. However, due to a race in
driver's internal command mode metadata update, some new commands will
still be miss-handled by driver as if we are in polling mode. Such commands
can get two non forced completion, leading to already freed command entry
access.

CREATE_EQ command, that maps EQ to the command queue must be posted to the
command queue while it is empty and no other command should be posted.

Add SW mechanism that once the CREATE_EQ command is about to be executed,
all other commands will return error without being sent to the FW. Allow
sending other commands only after successfully changing the driver's
internal command mode metadata.
We can safely return error to all other commands while creating the command
EQ, as all other commands might be sent from the user/application during
driver load. Application can rerun them later after driver's load was
finished.

Fixes: e126ba97dba9 ("mlx5: Add driver for Mellanox Connect-IB adapters")
Signed-off-by: Eran Ben Elisha <email address hidden>
Signed-off-by: Moshe Shemesh <email address hidden>
Signed-off-by: Saeed Mahameed <email address hidden>
Cc: Timo Rothenpieler <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>
Signed-off-by: Ian May <email address hidden>

03655fb... by Eran Ben Elisha <email address hidden>

net/mlx5: poll cmd EQ in case of command timeout

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

commit 1d5558b1f0de81f54ddee05f3793acc5260d107f upstream.

Once driver detects a command interface command timeout, it warns the
user and returns timeout error to the caller. In such case, the entry of
the command is not evacuated (because only real event interrupt is allowed
to clear command interface entry). If the HW event interrupt
of this entry will never arrive, this entry will be left unused forever.
Command interface entries are limited and eventually we can end up without
the ability to post a new command.

In addition, if driver will not consume the EQE of the lost interrupt and
rearm the EQ, no new interrupts will arrive for other commands.

Add a resiliency mechanism for manually polling the command EQ in case of
a command timeout. In case resiliency mechanism will find non-handled EQE,
it will consume it, and the command interface will be fully functional
again. Once the resiliency flow finished, wait another 5 seconds for the
command interface to complete for this command entry.

Define mlx5_cmd_eq_recover() to manage the cmd EQ polling resiliency flow.
Add an async EQ spinlock to avoid races between resiliency flows and real
interrupts that might run simultaneously.

Fixes: e126ba97dba9 ("mlx5: Add driver for Mellanox Connect-IB adapters")
Signed-off-by: Eran Ben Elisha <email address hidden>
Signed-off-by: Saeed Mahameed <email address hidden>
Cc: Timo Rothenpieler <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>
Signed-off-by: Ian May <email address hidden>

b8d0c14... by Parav Pandit <email address hidden>

net/mlx5: Use async EQ setup cleanup helpers for multiple EQs

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

commit 3ed879965cc4ea13fe0908468b653c4ff2cb1309 upstream.

Use helper routines to setup and teardown multiple EQs and reuse the
code in setup, cleanup and error unwinding flows.

Signed-off-by: Parav Pandit <email address hidden>
Signed-off-by: Saeed Mahameed <email address hidden>
Cc: Timo Rothenpieler <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>
Signed-off-by: Ian May <email address hidden>

1a7bd06... by Markus Theil <email address hidden>

mt76: fix fix ampdu locking

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

The current ampdu locking code does not unlock its mutex in the early
return case. This patch fixes it.

Signed-off-by: Markus Theil <email address hidden>
Acked-by: Felix Fietkau <email address hidden>
Signed-off-by: Kalle Valo <email address hidden>
(cherry picked from commit 05d6c8cfdbd6cefac6b373bad72775fcc4193c80)
Signed-off-by: Shrirang Bagul <email address hidden>
Acked-by: Kai-Heng Feng <email address hidden>
Acked-by: Kleber Sacilotto de Souza <email address hidden>
Signed-off-by: Ian May <email address hidden>