<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html lang="en">

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>LCOV - skiboot.info - libstb/container.c</title>
  <link rel="stylesheet" type="text/css" href="../gcov.css">
</head>

<body>

          <table width="100%" border=0 cellspacing=0 cellpadding=0>
            <tr><td class="title">LCOV - code coverage report</td></tr>
            <tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>

            <tr>
              <td width="100%">
                <table cellpadding=1 border=0 width="100%">
          <tr>
            <td width="10%" class="headerItem">Current view:</td>
            <td width="10%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">libstb</a> - container.c<span style="font-size: 80%;"> (source / <a href="container.c.func-c.html">functions</a>)</span></td>
            <td width="5%"></td>
            <td width="5%"></td>
            <td width="5%" class="headerCovTableHead">Coverage</td>
            <td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
            <td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
          </tr>
          <tr>
            <td class="headerItem">Test:</td>
            <td class="headerValue">skiboot.info</td>
            <td></td>
            <td class="headerItem">Lines:</td>
            <td class="headerCovTableEntryLo">14.9&nbsp;%</td>
            <td class="headerCovTableEntry">47</td>
            <td class="headerCovTableEntry">7</td>
          </tr>
          <tr>
            <td class="headerItem">Test Date:</td>
            <td class="headerValue">2025-06-27 16:54:26</td>
            <td></td>
            <td class="headerItem">Functions:</td>
            <td class="headerCovTableEntryLo">16.7&nbsp;%</td>
            <td class="headerCovTableEntry">6</td>
            <td class="headerCovTableEntry">1</td>
          </tr>
          <tr>
            <td></td>
            <td></td>
            <td></td>
            <td class="headerItem">Branches:</td>
            <td class="headerCovTableEntryHi">-</td>
            <td class="headerCovTableEntry">0</td>
            <td class="headerCovTableEntry">0</td>
          </tr>
                  <tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
                </table>
              </td>
            </tr>

            <tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
          </table>

          <table cellpadding=0 cellspacing=0 border=0>
            <tr>
              <td><br></td>
            </tr>
            <tr>
              <td>
<pre class="sourceHeading">             Branch data     Line data    Source code</pre>
<pre class="source">
<span id="L1"><span class="lineNum">       1</span>                 :             : // SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later</span>
<span id="L2"><span class="lineNum">       2</span>                 :             : /* Copyright 2013-2016 IBM Corp. */</span>
<span id="L3"><span class="lineNum">       3</span>                 :             : </span>
<span id="L4"><span class="lineNum">       4</span>                 :             : #include &lt;skiboot.h&gt;</span>
<span id="L5"><span class="lineNum">       5</span>                 :             : #include &quot;container.h&quot;</span>
<span id="L6"><span class="lineNum">       6</span>                 :             : </span>
<span id="L7"><span class="lineNum">       7</span>                 :<span class="tlaGNC tlaBgGNC">          17 : bool stb_is_container(const void *buf, size_t size)</span></span>
<span id="L8"><span class="lineNum">       8</span>                 :             : {</span>
<span id="L9"><span class="lineNum">       9</span>                 :             :         ROM_container_raw *c;</span>
<span id="L10"><span class="lineNum">      10</span>                 :             : </span>
<span id="L11"><span class="lineNum">      11</span>                 :<span class="tlaGNC">          17 :         c = (ROM_container_raw*) buf;</span></span>
<span id="L12"><span class="lineNum">      12</span>                 :<span class="tlaGNC">          17 :         if (!buf || size &lt; SECURE_BOOT_HEADERS_SIZE)</span></span>
<span id="L13"><span class="lineNum">      13</span>                 :<span class="tlaGNC">           6 :                 return false;</span></span>
<span id="L14"><span class="lineNum">      14</span>                 :<span class="tlaGNC">          11 :         if (be32_to_cpu(c-&gt;magic_number) != ROM_MAGIC_NUMBER )</span></span>
<span id="L15"><span class="lineNum">      15</span>                 :<span class="tlaGNC">          10 :                 return false;</span></span>
<span id="L16"><span class="lineNum">      16</span>                 :<span class="tlaGNC">           1 :         return true;</span></span>
<span id="L17"><span class="lineNum">      17</span>                 :             : }</span>
<span id="L18"><span class="lineNum">      18</span>                 :             : </span>
<span id="L19"><span class="lineNum">      19</span>                 :<span class="tlaUNC tlaBgUNC">           0 : uint32_t stb_payload_magic(const void *buf, size_t size)</span></span>
<span id="L20"><span class="lineNum">      20</span>                 :             : {</span>
<span id="L21"><span class="lineNum">      21</span>                 :             :         uint8_t *p;</span>
<span id="L22"><span class="lineNum">      22</span>                 :<span class="tlaUNC">           0 :         if (!stb_is_container(buf, size))</span></span>
<span id="L23"><span class="lineNum">      23</span>                 :<span class="tlaUNC">           0 :                 return 0;</span></span>
<span id="L24"><span class="lineNum">      24</span>                 :<span class="tlaUNC">           0 :         p = (uint8_t*) buf;</span></span>
<span id="L25"><span class="lineNum">      25</span>                 :<span class="tlaUNC">           0 :         return be32_to_cpu(*(be32*)(p+SECURE_BOOT_HEADERS_SIZE));</span></span>
<span id="L26"><span class="lineNum">      26</span>                 :             : }</span>
<span id="L27"><span class="lineNum">      27</span>                 :             : </span>
<span id="L28"><span class="lineNum">      28</span>                 :<span class="tlaUNC">           0 : uint64_t stb_sw_payload_size(const void *buf, size_t size)</span></span>
<span id="L29"><span class="lineNum">      29</span>                 :             : {</span>
<span id="L30"><span class="lineNum">      30</span>                 :             :         struct parsed_stb_container c;</span>
<span id="L31"><span class="lineNum">      31</span>                 :<span class="tlaUNC">           0 :         if (!stb_is_container(buf, size))</span></span>
<span id="L32"><span class="lineNum">      32</span>                 :<span class="tlaUNC">           0 :                 return 0;</span></span>
<span id="L33"><span class="lineNum">      33</span>                 :<span class="tlaUNC">           0 :         if (parse_stb_container(buf, size, &amp;c) != 0)</span></span>
<span id="L34"><span class="lineNum">      34</span>                 :<span class="tlaUNC">           0 :                 return 0;</span></span>
<span id="L35"><span class="lineNum">      35</span>                 :<span class="tlaUNC">           0 :         return be64_to_cpu(c.sh-&gt;payload_size);</span></span>
<span id="L36"><span class="lineNum">      36</span>                 :             : }</span>
<span id="L37"><span class="lineNum">      37</span>                 :             : </span>
<span id="L38"><span class="lineNum">      38</span>                 :<span class="tlaUNC">           0 : int parse_stb_container(const void* data, size_t len, struct parsed_stb_container *c)</span></span>
<span id="L39"><span class="lineNum">      39</span>                 :             : {</span>
<span id="L40"><span class="lineNum">      40</span>                 :<span class="tlaUNC">           0 :         const size_t prefix_data_min_size = 3 * (EC_COORDBYTES * 2);</span></span>
<span id="L41"><span class="lineNum">      41</span>                 :<span class="tlaUNC">           0 :         c-&gt;buf = data;</span></span>
<span id="L42"><span class="lineNum">      42</span>                 :<span class="tlaUNC">           0 :         c-&gt;bufsz = len;</span></span>
<span id="L43"><span class="lineNum">      43</span>                 :<span class="tlaUNC">           0 :         c-&gt;c = data;</span></span>
<span id="L44"><span class="lineNum">      44</span>                 :<span class="tlaUNC">           0 :         c-&gt;ph = data += sizeof(ROM_container_raw);</span></span>
<span id="L45"><span class="lineNum">      45</span>                 :<span class="tlaUNC">           0 :         c-&gt;pd = data += sizeof(ROM_prefix_header_raw) + (c-&gt;ph-&gt;ecid_count * ECID_SIZE);</span></span>
<span id="L46"><span class="lineNum">      46</span>                 :<span class="tlaUNC">           0 :         c-&gt;sh = data += prefix_data_min_size + c-&gt;ph-&gt;sw_key_count * (EC_COORDBYTES * 2);</span></span>
<span id="L47"><span class="lineNum">      47</span>                 :<span class="tlaUNC">           0 :         c-&gt;ssig = data += sizeof(ROM_sw_header_raw) +</span></span>
<span id="L48"><span class="lineNum">      48</span>                 :<span class="tlaUNC">           0 :                 c-&gt;sh-&gt;ecid_count * ECID_SIZE;</span></span>
<span id="L49"><span class="lineNum">      49</span>                 :             : </span>
<span id="L50"><span class="lineNum">      50</span>                 :<span class="tlaUNC">           0 :         return 0;</span></span>
<span id="L51"><span class="lineNum">      51</span>                 :             : }</span>
<span id="L52"><span class="lineNum">      52</span>                 :             : </span>
<span id="L53"><span class="lineNum">      53</span>                 :<span class="tlaUNC">           0 : const uint8_t* stb_sw_payload_hash(const void *buf, size_t size)</span></span>
<span id="L54"><span class="lineNum">      54</span>                 :             : {</span>
<span id="L55"><span class="lineNum">      55</span>                 :             :         struct parsed_stb_container c;</span>
<span id="L56"><span class="lineNum">      56</span>                 :             : </span>
<span id="L57"><span class="lineNum">      57</span>                 :<span class="tlaUNC">           0 :         if (!stb_is_container(buf, size))</span></span>
<span id="L58"><span class="lineNum">      58</span>                 :<span class="tlaUNC">           0 :                 return NULL;</span></span>
<span id="L59"><span class="lineNum">      59</span>                 :<span class="tlaUNC">           0 :         if (parse_stb_container(buf, size, &amp;c) != 0)</span></span>
<span id="L60"><span class="lineNum">      60</span>                 :<span class="tlaUNC">           0 :                 return NULL;</span></span>
<span id="L61"><span class="lineNum">      61</span>                 :             : </span>
<span id="L62"><span class="lineNum">      62</span>                 :<span class="tlaUNC">           0 :         return c.sh-&gt;payload_hash;</span></span>
<span id="L63"><span class="lineNum">      63</span>                 :             : }</span>
<span id="L64"><span class="lineNum">      64</span>                 :             : </span>
<span id="L65"><span class="lineNum">      65</span>                 :             : </span>
<span id="L66"><span class="lineNum">      66</span>                 :<span class="tlaUNC">           0 : void stb_print_data(const void* data, size_t len)</span></span>
<span id="L67"><span class="lineNum">      67</span>                 :             : {</span>
<span id="L68"><span class="lineNum">      68</span>                 :             :         char hash[1+SHA512_DIGEST_LENGTH*2];</span>
<span id="L69"><span class="lineNum">      69</span>                 :<span class="tlaUNC">           0 :         char *h = hash;</span></span>
<span id="L70"><span class="lineNum">      70</span>                 :<span class="tlaUNC">           0 :         char *d = (char*)data;</span></span>
<span id="L71"><span class="lineNum">      71</span>                 :             : </span>
<span id="L72"><span class="lineNum">      72</span>                 :<span class="tlaUNC">           0 :         assert(len &lt;= SHA512_DIGEST_LENGTH);</span></span>
<span id="L73"><span class="lineNum">      73</span>                 :             : </span>
<span id="L74"><span class="lineNum">      74</span>                 :<span class="tlaUNC">           0 :         while(len) {</span></span>
<span id="L75"><span class="lineNum">      75</span>                 :<span class="tlaUNC">           0 :                 snprintf(h, 3, &quot;%02x&quot;, *d);</span></span>
<span id="L76"><span class="lineNum">      76</span>                 :<span class="tlaUNC">           0 :                 h+=2;</span></span>
<span id="L77"><span class="lineNum">      77</span>                 :<span class="tlaUNC">           0 :                 d++;</span></span>
<span id="L78"><span class="lineNum">      78</span>                 :<span class="tlaUNC">           0 :                 len--;</span></span>
<span id="L79"><span class="lineNum">      79</span>                 :             :         }</span>
<span id="L80"><span class="lineNum">      80</span>                 :<span class="tlaUNC">           0 :         *h='\0';</span></span>
<span id="L81"><span class="lineNum">      81</span>                 :<span class="tlaUNC">           0 :         prlog(PR_NOTICE, &quot;%s\n&quot;, hash);</span></span>
<span id="L82"><span class="lineNum">      82</span>                 :<span class="tlaUNC">           0 : }</span></span>
        </pre>
              </td>
            </tr>
          </table>
          <br>

          <table width="100%" border=0 cellspacing=0 cellpadding=0>
            <tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
            <tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
          </table>
          <br>

</body>
</html>
