<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>While building Yocto images and verifying binary reproducibility,
      I noticed that on several occasions binaries for kernel <br>
    </p>
    <p>modules differed in embedded "srcversion", although the modules
      were built using the very same sources.</p>
    <p>This pretty much negates the whole premise/purpose of the
      "srcversion" field, as the checksum should be the same <br>
    </p>
    <p>if the source files are the same, breaking binary reproducibility
      as well.<br>
    </p>
    <p>( <a class="moz-txt-link-freetext" href="https://bugzilla.yoctoproject.org/show_bug.cgi?id=12544">https://bugzilla.yoctoproject.org/show_bug.cgi?id=12544</a> )</p>
    <p>At first I suspected some kind of race condition, but it turns
      out the problem was/is in Linux kbuild system, where during</p>
    <p> "srcversion" checksum calculation some source files were simply
      (silently!) ignored/excluded from srcversion calculation.</p>
    <p>This happened¬† when during parsing certain text lines exceeded
      4096 bytes. Yocto builds can have complicated build paths</p>
    <p> and complex CCFLAGS, so on occasions 4096 bytes were exceeded,
      no warnings issued and incorrect "srcversion"¬† were calculated.¬†</p>
    <p>Long story short, I sent a patch to the maintainers, (no feedback
      so far):</p>
    <pre class="bz_comment_text" id="comment_text_2"><a href="https://patchwork.kernel.org/patch/10318141/">https://patchwork.kernel.org/patch/10318141/</a>


Juro
</pre>
  </body>
</html>