Hi,

This was an interesting little bug to invstigate. Here's what was
happening. The test checks to see that when kptr_restrict == 1, the sock
addresses reported in /proc/net/tcp are all zero for non-root users. It
then sets kptr_restrict == 0 and attempts to verify that real pointers
are reported to root and non-root users. However, recently the kernel
started to hash these pointers instead, returning the hash value in it's
place, *and* (the source of this bug) if insufficient entropy had been
collected by the kernel up to this point, making the hash "weak", the
values "(ptrval)" and "(____ptrval____)" would be returned instead. The
QRT script assumed that whatever it read would at least be a hex number
of some kind captured in a string and attempt to convert it to an int.

The insufficient entropy bit is why you would only see this failure on
the first run of the test.

This has been addressed in qrt commit https://git.launchpad.net/qa-
regression-testing/commit/?id=46f217b3f9aa0e53bb18bd2049f934199870ed1c .

Reference on the source of the values and insufficient entropy:
https://www.kernel.org/doc/Documentation/core-api/printk-formats.rst
(section on Plain Pointers)

** Changed in: qa-regression-testing
       Status: New => Fix Released

** Changed in: linux-kvm (Ubuntu)
       Status: New => Invalid

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1831873

Title:
  test_095_kernel_symbols_missing_proc_net_tcp from
  ubuntu_qrt_kernel_security failed on B/C KVM

To manage notifications about this bug go to:
https://bugs.launchpad.net/qa-regression-testing/+bug/1831873/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to