Hello community,
here is the log from the commit of package librtas for openSUSE:Factory checked in at 2018-07-06 10:37:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/librtas (Old)
and /work/SRC/openSUSE:Factory/.librtas.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "librtas"
Fri Jul 6 10:37:24 2018 rev:40 rq:620235 version:2.0.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/librtas/librtas-doc.changes 2017-09-07 22:14:33.179654954 +0200
+++ /work/SRC/openSUSE:Factory/.librtas.new/librtas-doc.changes 2018-07-06 10:37:28.947576760 +0200
@@ -1,0 +2,6 @@
+Mon Jul 2 12:30:18 UTC 2018 - jloeser@suse.com
+
+- version update to 2.0.2 (fate#324947)
+ * interface for ibm,physical-attestation rtas call
+
+-------------------------------------------------------------------
librtas.changes: same change
Old:
----
librtas-2.0.1.tar.gz
New:
----
librtas-2.0.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ librtas-doc.spec ++++++
--- /var/tmp/diff_new_pack.5k5gJ3/_old 2018-07-06 10:37:30.127575358 +0200
+++ /var/tmp/diff_new_pack.5k5gJ3/_new 2018-07-06 10:37:30.131575353 +0200
@@ -17,7 +17,7 @@
Name: librtas-doc
-Version: 2.0.1
+Version: 2.0.2
Release: 0
BuildRequires: autoconf
BuildRequires: automake
++++++ librtas.spec ++++++
--- /var/tmp/diff_new_pack.5k5gJ3/_old 2018-07-06 10:37:30.143575339 +0200
+++ /var/tmp/diff_new_pack.5k5gJ3/_new 2018-07-06 10:37:30.143575339 +0200
@@ -19,7 +19,7 @@
%define sover 2
Name: librtas
-Version: 2.0.1
+Version: 2.0.2
Release: 0
Summary: Libraries to provide access to RTAS calls and RTAS events
License: LGPL-2.1+
++++++ librtas-2.0.1.tar.gz -> librtas-2.0.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librtas-2.0.1/Changelog new/librtas-2.0.2/Changelog
--- old/librtas-2.0.1/Changelog 2016-07-12 00:06:49.000000000 +0200
+++ new/librtas-2.0.2/Changelog 2018-06-15 01:49:01.000000000 +0200
@@ -1,3 +1,22 @@
+Changelog for librtas-2.0.2
+=======================================
+commit 26970c42bc017ad68b864e7134cf941c07443aa8
+Author: Chris Engel
+Date: Tue Aug 22 14:59:06 2017 -0500
+
+ Interface for ibm,physical-attestation rtas call
+
+ The physical attestation interfaces are provided to allow a
+ trusted 3rd party client to retrieve information about the
+ trusted boot state of the target PowerVM system. This makes
+ use of the systems physical TPM(s). These TPM(s) are used
+ by system firmware to extend measurements during the
+ boot process.
+
+ Signed-off-by: Chris Engel
+ Reviewed-by: Vasant Hegde
+ Signed-off-by: Tyrel Datwyler
+
Changelog for librtas-2.0.1
=======================================
commit 7f841902eb50ca77c3aa884e3fd924c2bbd817ca
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librtas-2.0.1/configure.ac new/librtas-2.0.2/configure.ac
--- old/librtas-2.0.1/configure.ac 2016-07-12 00:06:49.000000000 +0200
+++ new/librtas-2.0.2/configure.ac 2018-06-15 01:49:01.000000000 +0200
@@ -1,4 +1,4 @@
-AC_INIT([librtas],[2.0.1],[See README])
+AC_INIT([librtas],[2.0.2],[See README])
AC_CONFIG_AUX_DIR([config])
AC_CONFIG_MACRO_DIR([m4])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librtas-2.0.1/librtas_src/librtas.h new/librtas-2.0.2/librtas_src/librtas.h
--- old/librtas-2.0.1/librtas_src/librtas.h 2016-07-12 00:06:49.000000000 +0200
+++ new/librtas-2.0.2/librtas_src/librtas.h 2018-06-15 01:49:01.000000000 +0200
@@ -105,6 +105,8 @@
extern int rtas_suspend_me(uint64_t streamid);
extern int rtas_update_nodes(char *workarea, unsigned int scope);
extern int rtas_update_properties(char *workarea, unsigned int scope);
+extern int rtas_physical_attestation(char *workarea, int seq_num,
+ int *next_seq_num, int *work_area_bytes);
#ifdef __cplusplus
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librtas-2.0.1/librtas_src/syscall_calls.c new/librtas-2.0.2/librtas_src/syscall_calls.c
--- old/librtas-2.0.1/librtas_src/syscall_calls.c 2016-07-12 00:06:49.000000000 +0200
+++ new/librtas-2.0.2/librtas_src/syscall_calls.c 2018-06-15 01:49:01.000000000 +0200
@@ -1329,3 +1329,66 @@
dbg("(%p) %d = %d\n", workarea, scope, rc ? rc : status);
return rc ? rc : status;
}
+
+/**
+ * rtas_physical_attestation
+ * @brief Interface for ibm,physical-attestation rtas call.
+ *
+ * @param workarea input/output work area for rtas call
+ * @param seq_num sequence number of the rtas call
+ * @param next_seq_num next sequence number
+ * @param work_area_bytes size of work area
+ * @return 0 on success, !0 on failure
+ */
+int rtas_physical_attestation(char *workarea, int seq_num, int *next_seq_num,
+ int *work_area_bytes)
+{
+ uint32_t workarea_pa;
+ uint64_t elapsed = 0;
+ void *kernbuf;
+ int kbuf_sz = 4096;
+ int rc, status;
+ int resp_bytes = *work_area_bytes;
+
+ rc = sanity_check();
+ if (rc)
+ return rc;
+
+ /* Caller provided more data than FW can handle */
+ if (*work_area_bytes == 0 ||
+ *work_area_bytes > kbuf_sz)
+ return RTAS_IO_ASSERT;
+
+ rc = rtas_get_rmo_buffer(kbuf_sz, &kernbuf, &workarea_pa);
+ if (rc)
+ return rc;
+ memcpy(kernbuf, workarea, *work_area_bytes);
+
+ do {
+ rc = rtas_call("ibm,physical-attestation", 3, 3,
+ htobe32(workarea_pa), htobe32(kbuf_sz),
+ htobe32(seq_num),
+ &status, next_seq_num, &resp_bytes);
+ if (rc < 0)
+ break;
+
+ rc = handle_delay(status, &elapsed);
+ } while (rc == CALL_AGAIN);
+
+ *next_seq_num = be32toh(*next_seq_num);
+
+ /* FW returned more data than we can handle */
+ if (be32toh(resp_bytes) > *work_area_bytes) {
+ (void)rtas_free_rmo_buffer(kernbuf, workarea_pa, kbuf_sz);
+ return RTAS_IO_ASSERT;
+ }
+
+ *work_area_bytes = be32toh(resp_bytes);
+
+ if (rc == 0)
+ memcpy(workarea, kernbuf, *work_area_bytes);
+
+ (void)rtas_free_rmo_buffer(kernbuf, workarea_pa, kbuf_sz);
+
+ return rc ? rc : status;
+}