Re: Linux 6.8-rc3

From: Guenter Roeck
Date: Sun Feb 04 2024 - 13:08:25 EST


On Sun, Feb 04, 2024 at 12:39:17PM +0000, Linus Torvalds wrote:
> Hmm. A slightly larger rc3 that I'd have hoped for, although at this
> stage in the release process it's not something that really worries me
> yet.
>
> Aside from the usual driver fixes (with sound, gpu and nvme standing
> out), we've got mainly filesystem fixes (tracefs and ext4) and a big
> chunk of tooling updates (perf and selftests).
>
> The rest is mostly a random collection of fixes all over. Fairly quiet
> on the arch side, with mainly just some parisc fixes.
>

Build results:
total: 155 pass: 155 fail: 0
Qemu test results:
total: 549 pass: 548 fail: 1
Unit test results:
pass: 127073 fail: 891
(some of those are duplicates, still working on the script)

an385:mps2_defconfig:mps2-an385:initrd still crashes due to the problems
with the test_ip_fast_csum unit test. A fix is pending, but it does not
address the unit test failures reported below.

Notable warning backtraces:

- BUG: sleeping function called from invalid context at drivers/gpio/gpiolib.c:3749

As mentioned last week, due to mmc code calling gpiod_get_value_cansleep()
with interrupts disabled.

Unit test failures:

- test_ip_fast_csum and test_csum_ipv6_magic fail on big endian machines.

# test_ip_fast_csum: ASSERTION FAILED at lib/checksum_kunit.c:589
Expected ( u64)expected == ( u64)csum_result, but
( u64)expected == 55939 (0xda83)
( u64)csum_result == 33754 (0x83da)
not ok 4 test_ip_fast_csum
# test_csum_ipv6_magic: ASSERTION FAILED at lib/checksum_kunit.c:617
Expected ( u64)expected_csum_ipv6_magic[i] == ( u64)csum_ipv6_magic(saddr, daddr, len, proto, csum), but
( u64)expected_csum_ipv6_magic[i] == 6356 (0x18d4)
( u64)csum_ipv6_magic(saddr, daddr, len, proto, csum) == 43586 (0xaa42)
not ok 5 test_csum_ipv6_magic

Reported to maintainer.

- Handshake API tests fails with

# req_destroy works: EXPECTATION FAILED at net/handshake/handshake-test.c:477
Expected handshake_req_destroy_test == req, but
handshake_req_destroy_test == 00000000
req == c4aef640
not ok 11 req_destroy works

This is not a new problem, likely seen since the test was introduced.
Reported to maintainer.

- regmap unit tests fail randomly in raw_noinc_write with errors such as

# raw_noinc_write: ASSERTION FAILED at drivers/base/regmap/regmap-kunit.c:1243
Expected val_test == val, but
val_test == 65581 (0x1002d)
val == 45 (0x2d)
not ok 8 maple-big
# raw_noinc_write: pass:7 fail:1 skip:0 total:8

or

# raw_noinc_write: ASSERTION FAILED at drivers/base/regmap/regmap-kunit.c:1243
Expected val_test == val, but
val_test == 65556 (0x10014)
val == 20 (0x14)
not ok 5 rbtree-little
ok 6 rbtree-big
ok 7 maple-little
ok 8 maple-big
# raw_noinc_write: pass:7 fail:1 skip:0 total:8

This is a spurious problem, seen on both little and big endian machines.
Newly discovered, not yet reported. Likely not a new problem.

- cpumask unit tests on parisc/parisc64 fail with

KTAP version 1
# Subtest: cpumask
# module: cpumask_kunit
1..6
# test_cpumask_weight: EXPECTATION FAILED at lib/cpumask_kunit.c:68
Expected nr_cpu_ids == cpumask_weight(((const struct cpumask *)&__cpu_possible_mask)), but
nr_cpu_ids == 16 (0x10)
cpumask_weight(((const struct cpumask *)&__cpu_possible_mask)) == 1 (0x1)
cpu_possible_mask contains CPUs 0
not ok 1 test_cpumask_weight
# test_cpumask_first: EXPECTATION FAILED at lib/cpumask_kunit.c:79
Expected nr_cpu_ids <= cpumask_first_zero(((const struct cpumask *)&__cpu_possible_mask)), but
nr_cpu_ids == 16 (0x10)
cpumask_first_zero(((const struct cpumask *)&__cpu_possible_mask)) == 1 (0x1)
cpu_possible_mask contains CPUs 0
not ok 2 test_cpumask_first
# test_cpumask_last: EXPECTATION FAILED at lib/cpumask_kunit.c:87
Expected nr_cpu_ids - 1 == cpumask_last(((const struct cpumask *)&__cpu_possible_mask)), but
nr_cpu_ids - 1 == 15 (0xf)
cpumask_last(((const struct cpumask *)&__cpu_possible_mask)) == 0 (0x0)
cpu_possible_mask contains CPUs 0
not ok 3 test_cpumask_last
# test_cpumask_next: EXPECTATION FAILED at lib/cpumask_kunit.c:94
Expected nr_cpu_ids <= cpumask_next_zero(-1, ((const struct cpumask *)&__cpu_possible_mask)), but
nr_cpu_ids == 16 (0x10)
cpumask_next_zero(-1, ((const struct cpumask *)&__cpu_possible_mask)) == 1 (0x1)
cpu_possible_mask contains CPUs 0
not ok 4 test_cpumask_next
ok 5 test_cpumask_iterators
ok 6 test_cpumask_iterators_builtin
# cpumask: pass:2 fail:4 skip:0 total:6
# Totals: pass:2 fail:4 skip:0 total:6
not ok 5 cpumask

Probably not a new problem. Just discovered, not yet reported.