summaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/tpm2
diff options
context:
space:
mode:
authorTadeusz Struk <tstruk@gmail.com>2022-01-16 02:26:27 +0100
committerJarkko Sakkinen <jarkko@kernel.org>2022-03-08 09:33:17 +0100
commit8335adb8f9d3ea783422d22883a327427c1dbee8 (patch)
tree49df20d87da91852c48d462984a88b0488573f5b /tools/testing/selftests/tpm2
parenttpm: Fix error handling in async work (diff)
downloadlinux-8335adb8f9d3ea783422d22883a327427c1dbee8.tar.xz
linux-8335adb8f9d3ea783422d22883a327427c1dbee8.zip
selftests: tpm: add async space test with noneexisting handle
Add a test for /dev/tpmrm0 in async mode that checks if the code handles invalid handles correctly. Cc: Jarkko Sakkinen <jarkko@kernel.org> Cc: Shuah Khan <shuah@kernel.org> Cc: <linux-integrity@vger.kernel.org> Cc: <linux-kselftest@vger.kernel.org> Cc: <linux-kernel@vger.kernel.org> Tested-by: Jarkko Sakkinen<jarkko@kernel.org> Signed-off-by: Tadeusz Struk <tstruk@gmail.com> Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org> Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
Diffstat (limited to 'tools/testing/selftests/tpm2')
-rw-r--r--tools/testing/selftests/tpm2/tpm2_tests.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/tools/testing/selftests/tpm2/tpm2_tests.py b/tools/testing/selftests/tpm2/tpm2_tests.py
index e63a37819978..ffe98b5c8d22 100644
--- a/tools/testing/selftests/tpm2/tpm2_tests.py
+++ b/tools/testing/selftests/tpm2/tpm2_tests.py
@@ -315,3 +315,19 @@ class AsyncTest(unittest.TestCase):
log.debug("Calling get_cap in a NON_BLOCKING mode")
async_client.get_cap(tpm2.TPM2_CAP_HANDLES, tpm2.HR_LOADED_SESSION)
async_client.close()
+
+ def test_flush_invalid_context(self):
+ log = logging.getLogger(__name__)
+ log.debug(sys._getframe().f_code.co_name)
+
+ async_client = tpm2.Client(tpm2.Client.FLAG_SPACE | tpm2.Client.FLAG_NONBLOCK)
+ log.debug("Calling flush_context passing in an invalid handle ")
+ handle = 0x80123456
+ rc = 0
+ try:
+ async_client.flush_context(handle)
+ except OSError as e:
+ rc = e.errno
+
+ self.assertEqual(rc, 22)
+ async_client.close()