<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 8/26/21 8:57 AM, Michael Ellerman
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:87eeagc2c1.fsf@mpe.ellerman.id.au">
      <pre class="moz-quote-pre" wrap="">Ganesh <a class="moz-txt-link-rfc2396E" href="mailto:ganeshgr@linux.ibm.com"><ganeshgr@linux.ibm.com></a> writes:
</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">On 8/24/21 6:18 PM, Michael Ellerman wrote:

</pre>
        <blockquote type="cite">
          <pre class="moz-quote-pre" wrap="">Ganesh Goudar <a class="moz-txt-link-rfc2396E" href="mailto:ganeshgr@linux.ibm.com"><ganeshgr@linux.ibm.com></a> writes:
</pre>
          <blockquote type="cite">
            <pre class="moz-quote-pre" wrap="">Add test for real address or control memory address access
error handling, using NX-GZIP engine.

The error is injected by accessing the control memory address
using illegal instruction, on successful handling the process
attempting to access control memory address using illegal
instruction receives SIGBUS.
</pre>
          </blockquote>
          <pre class="moz-quote-pre" wrap="">...

</pre>
          <blockquote type="cite">
            <pre class="moz-quote-pre" wrap="">diff --git a/tools/testing/selftests/powerpc/mce/inject-ra-err.sh b/tools/testing/selftests/powerpc/mce/inject-ra-err.sh
new file mode 100755
index 000000000000..3633cdc651a1
--- /dev/null
+++ b/tools/testing/selftests/powerpc/mce/inject-ra-err.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+if [[ ! -w /dev/crypto/nx-gzip ]]; then
+       echo "WARN: Can't access /dev/crypto/nx-gzip, skipping"
+       exit 0
+fi
+
+timeout 5 ./inject-ra-err
+
+# 128 + 7 (SIGBUS) = 135, 128 is a exit code with special meaning.
+if [ $? -ne 135 ]; then
+       echo "FAILED: Real address or Control memory access error not handled"
+       exit $?
+fi
+
+echo "OK: Real address or Control memory access error is handled"
+exit 0
</pre>
          </blockquote>
          <pre class="moz-quote-pre" wrap="">I don't think we really need the shell script, we should be able to do
all that in the C code.

Can you try this?
</pre>
        </blockquote>
        <pre class="moz-quote-pre" wrap="">
it works!, We need to set timeout, with 120 sec timeout we may flood the dmesg.
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
Hmm. Does it keep faulting? The regs->nip += 4 is meant to avoid that.</pre>
    </blockquote>
    <pre>Yes, it keeps faulting, if we fail to handle and not send SIGBUS to the process.</pre>
    <blockquote type="cite" cite="mid:87eeagc2c1.fsf@mpe.ellerman.id.au">
      <pre class="moz-quote-pre" wrap="">

cheers
</pre>
    </blockquote>
  </body>
</html>