Nonreproducible kernel modules on stable/12

Ed Maste emaste at freebsd.org
Tue Mar 31 14:08:28 UTC 2020


Originally reported off-list, during a stable/12 freebsd-update build
kernel modules are not reproducible and thus get included in the
update.

diffoscope reports that the .SUNW_ctf section is responsible:

--- cam.0.ko
+++ cam.1.ko
├── readelf --wide --sections {}
...
│    [30] .shstrtab         STRTAB          0000000000000000 0ea828
0001f8 00      0   0  1
│ -  [31] .SUNW_ctf         PROGBITS        0000000000000000 0f29d8
00e2ad 00     32   0  4
│ +  [31] .SUNW_ctf         PROGBITS        0000000000000000 0f29d8
00e2b1 00     32   0  4
│    [32] .symtab           SYMTAB          0000000000000000 0e12b8
009570 18     33 1001  8
...
├── readelf --wide --decompress --hex-dump=.SUNW_ctf {}
│ @@ -1,3630 +1,3631 @@
│
│  Hex dump of section '.SUNW_ctf':
│    0x00000000 f1cf0201 00000000 00000000 00000000 ................
│    0x00000010 08000000 96040000 fc250000 f4310100 .........%...1..
│ -  0x00000020 6aeb0000 78dabc7d 077c54c5 16f7ccbd j...x..}.|T.....
│ -  0x00000030 774b42ca 26b48524 b0402001 02440d10 wKB.&..$.@ ..D..
...
│ +  0x00000020 6feb0000 78dabc7d 077c54c5 16f7ccdc o...x..}.|T.....
│ +  0x00000030 bb252165 13da4242 586a0204 081820d4 .%!e..BBXj.... .

(And build-ID and GNU debuglink differ as a result.)

Running ctfdump and comparing the result shows the issue:

--- a   2020-03-31 10:04:39.766567000 -0400
+++ b   2020-03-31 10:04:44.663292000 -0400
@@ -11,11 +11,11 @@
   cth_funcoff  = 1174
   cth_typeoff  = 9724
   cth_stroff   = 78324
-  cth_strlen   = 60266
+  cth_strlen   = 60271

 - Label Table ----------------------------------------------------------------

-   2407 FreeBSD 12.1-STABLE amd64 1201512
+   2407 FreeBSD 12.1-FUTUREBUILD amd64 1201512

 - Data Objects ---------------------------------------------------------------

Aside, we should add ctfdump to diffoscope.


More information about the freebsd-reproducibility mailing list