<feed xmlns='http://www.w3.org/2005/Atom'>
<title>system_core, branch replicant-9</title>
<subtitle>Fork of system/core
</subtitle>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/'/>
<entry>
<title>init: Create /dev/xmm6262_boot0 for i9300</title>
<updated>2020-02-10T18:19:53+00:00</updated>
<author>
<name>Denis 'GNUtoo' Carikli</name>
<email>GNUtoo@cyberdimension.org</email>
</author>
<published>2019-07-18T17:40:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=9499cce182d2030aeeed1f6cf7ec85bda50494d2'/>
<id>9499cce182d2030aeeed1f6cf7ec85bda50494d2</id>
<content type='text'>
For some reason the shell script and its associated service that
are supposed to do that don't end up creating /dev/xmm6262_boot0.

As init does create dev nodes, it's safer to assume that it's
supposed to work.

For devices not needing /dev/xmm6262_boot0, having an
unused dev node should probably not create any issue.

Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For some reason the shell script and its associated service that
are supposed to do that don't end up creating /dev/xmm6262_boot0.

As init does create dev nodes, it's safer to assume that it's
supposed to work.

For devices not needing /dev/xmm6262_boot0, having an
unused dev node should probably not create any issue.

Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>HACK: gatekeeperd: force software imeplementation</title>
<updated>2019-07-14T14:59:36+00:00</updated>
<author>
<name>Denis 'GNUtoo' Carikli</name>
<email>GNUtoo@cyberdimension.org</email>
</author>
<published>2019-06-09T14:02:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=27db0a4caea4eabf66e958aa15700325c783ce6c'/>
<id>27db0a4caea4eabf66e958aa15700325c783ce6c</id>
<content type='text'>
Without that hack, IGatekeeper::getService() will try to get
a service implementing the Gatekeeper HAL. The HAL is supposed
to talk to a component that resides in a Trusted Execution
Environment (TEE) such as MobiCore.

On many Android device, the Trusted Execution Environment
is not free software, nor under the control of the user, so it
cannot be trusted by the user, and in fact it's better, if possible,
to make sure that it does not to run at all in that case.

Because of that the proper fix would be either to implement
a Gatekeeper HAL that would not depend on nonfree software that
cannot be trusted.

This could for instance be implemented by:
* Using a simple software implementation.
* Using the linux kernel keyring for that which can
  provide good resilience against userspace trying to get key
  material. See man 7 keyrings for more information on that.
* Have a free software Trusted Execution Environment like
  Google's Trusty or other implementations.

See the following documentation for more background information:
https://source.android.com/security/authentication/gatekeeper

Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Without that hack, IGatekeeper::getService() will try to get
a service implementing the Gatekeeper HAL. The HAL is supposed
to talk to a component that resides in a Trusted Execution
Environment (TEE) such as MobiCore.

On many Android device, the Trusted Execution Environment
is not free software, nor under the control of the user, so it
cannot be trusted by the user, and in fact it's better, if possible,
to make sure that it does not to run at all in that case.

Because of that the proper fix would be either to implement
a Gatekeeper HAL that would not depend on nonfree software that
cannot be trusted.

This could for instance be implemented by:
* Using a simple software implementation.
* Using the linux kernel keyring for that which can
  provide good resilience against userspace trying to get key
  material. See man 7 keyrings for more information on that.
* Have a free software Trusted Execution Environment like
  Google's Trusty or other implementations.

See the following documentation for more background information:
https://source.android.com/security/authentication/gatekeeper

Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Use more relaxed VNDK config</title>
<updated>2019-07-14T14:59:36+00:00</updated>
<author>
<name>Joonas Kylmälä</name>
<email>joonas.kylmala@iki.fi</email>
</author>
<published>2019-03-06T06:35:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=02efd8214e7a38d93efa3ea65fd4508f9aa2a071'/>
<id>02efd8214e7a38d93efa3ea65fd4508f9aa2a071</id>
<content type='text'>
This allows graphics libraries to communicate with each other.

Change-Id: I4c66e86b6353a174584ff77b38989713f2f77a9e
Signed-off-by: Joonas Kylmälä &lt;joonas.kylmala@iki.fi&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows graphics libraries to communicate with each other.

Change-Id: I4c66e86b6353a174584ff77b38989713f2f77a9e
Signed-off-by: Joonas Kylmälä &lt;joonas.kylmala@iki.fi&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'aosp/pie-gsi' into lineage-16.0-pie-gsi</title>
<updated>2019-07-13T16:59:47+00:00</updated>
<author>
<name>Luca Stefani</name>
<email>luca.stefani.ge1@gmail.com</email>
</author>
<published>2019-07-13T16:59:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=74b109970a924325601658862eaef64032369534'/>
<id>74b109970a924325601658862eaef64032369534</id>
<content type='text'>
* aosp/pie-gsi:
  tombstoned: fixed tombstones failed issue
  health: Add CAP_WAKE_ALARM to service via init
  Add native vsock support to ADB.
  Fix two clang-tidy issues in crasher.cpp.
  fs_mgr_fstab: Add Adiantum support
  fs_mgr_fstab: Add Adiantum support

Change-Id: I12e1150c4e222a945d57614c7c9b82cae91b7643
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* aosp/pie-gsi:
  tombstoned: fixed tombstones failed issue
  health: Add CAP_WAKE_ALARM to service via init
  Add native vsock support to ADB.
  Fix two clang-tidy issues in crasher.cpp.
  fs_mgr_fstab: Add Adiantum support
  fs_mgr_fstab: Add Adiantum support

Change-Id: I12e1150c4e222a945d57614c7c9b82cae91b7643
</pre>
</div>
</content>
</entry>
<entry>
<title>fastboot: Add --cmdline alias</title>
<updated>2019-07-12T16:01:11+00:00</updated>
<author>
<name>Luca Stefani</name>
<email>luca.stefani.ge1@gmail.com</email>
</author>
<published>2019-07-12T16:01:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=6dbdf5f2006353a026294758dfae485e4820fec1'/>
<id>6dbdf5f2006353a026294758dfae485e4820fec1</id>
<content type='text'>
* Current master moved to --cmdline
* Some scripts /mine/ uses --cmdline

Change-Id: I7db75240d0ad4d74036515216bb0560abd871343
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Current master moved to --cmdline
* Some scripts /mine/ uses --cmdline

Change-Id: I7db75240d0ad4d74036515216bb0560abd871343
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'android-9.0.0_r44' into staging/lineage-16.0_merge-android-9.0.0_r44</title>
<updated>2019-07-01T23:16:14+00:00</updated>
<author>
<name>Kevin F. Haggerty</name>
<email>haggertk@lineageos.org</email>
</author>
<published>2019-07-01T23:16:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=cafd273e9be3f6c177bc06c60018da17ba0025c8'/>
<id>cafd273e9be3f6c177bc06c60018da17ba0025c8</id>
<content type='text'>
Android 9.0.0 Release 44 (PQ3A.190705.003)

* tag 'android-9.0.0_r44':
  DO NOT MERGE Start update_verifier early in late-fs.

Change-Id: Ie9ca03dbf5dde218f548ba9b7ef0fd1022622358
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Android 9.0.0 Release 44 (PQ3A.190705.003)

* tag 'android-9.0.0_r44':
  DO NOT MERGE Start update_verifier early in late-fs.

Change-Id: Ie9ca03dbf5dde218f548ba9b7ef0fd1022622358
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "tombstoned: fixed tombstones failed issue" into pie-gsi</title>
<updated>2019-06-13T16:34:35+00:00</updated>
<author>
<name>Treehugger Robot</name>
<email>treehugger-gerrit@google.com</email>
</author>
<published>2019-06-13T16:34:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=ca7c586b6924c7bd3b414fb39d8cef2572dd88e8'/>
<id>ca7c586b6924c7bd3b414fb39d8cef2572dd88e8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fs_mgr: Add MF_WRAPPEDKEY flag</title>
<updated>2019-06-08T19:41:51+00:00</updated>
<author>
<name>Shivaprasad Hongal</name>
<email>shongal@codeaurora.org</email>
</author>
<published>2018-09-16T00:46:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=86a123a2de9e6ab50376095a46c7fbb29e9e351c'/>
<id>86a123a2de9e6ab50376095a46c7fbb29e9e351c</id>
<content type='text'>
Use separate flag to check wrapped key
support for FBE rather than file contents
mode.

CRs-Fixed: 2316112
Change-Id: Ied59d43a82b6fe9157fd2db405de28549e98982c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use separate flag to check wrapped key
support for FBE rather than file contents
mode.

CRs-Fixed: 2316112
Change-Id: Ied59d43a82b6fe9157fd2db405de28549e98982c
</pre>
</div>
</content>
</entry>
<entry>
<title>fs_mgr: Wrapped key support for FBE</title>
<updated>2019-06-08T13:42:07+00:00</updated>
<author>
<name>Shivaprasad Hongal</name>
<email>shongal@codeaurora.org</email>
</author>
<published>2018-07-12T23:24:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=d2ef36b5a81cd0bed085bf39e60e4f713c530ae5'/>
<id>d2ef36b5a81cd0bed085bf39e60e4f713c530ae5</id>
<content type='text'>
Add "ice_wrapped_key_supported" support to be read from
fstab.

CRs-Fixed: 2288316

Change-Id: I01f634e8d464059791d731d2af690bdfd8008107
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add "ice_wrapped_key_supported" support to be read from
fstab.

CRs-Fixed: 2288316

Change-Id: I01f634e8d464059791d731d2af690bdfd8008107
</pre>
</div>
</content>
</entry>
<entry>
<title>tombstoned: fixed tombstones failed issue</title>
<updated>2019-06-07T19:32:43+00:00</updated>
<author>
<name>Jinguang Dong</name>
<email>dongjinguang@huawei.com</email>
</author>
<published>2018-11-24T09:12:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=cf0aec92bd36e0e90b88b05d479a98f4b1638bf1'/>
<id>cf0aec92bd36e0e90b88b05d479a98f4b1638bf1</id>
<content type='text'>
There is a problem about tombstone, which it will fail to
generate tombstone file in some scenarios due to socket
communication exception.

Reproduce step:
step 1: reboot device
step 2: ps -ef |grep zygote , get the pid of zygote64
(Attention: zygote64 should never been killed or reboot,
otherwise we can get the tombstone file)
step 3: kill -5 pid of zygote64
step 4: cd data/tombstones/, and could not find the tombstone
file of zygote64.

[Cause Analysis]
1. There are following logs by logcat:
11-19 15:38:43.789   569   569 F libc : Fatal signal 5 (SIGTRAP),
code 0 (SI_USER) in tid 569 (main), pid 569 (main)
11-19 15:38:43.829  6115  6115 I crash_dump64: obtaining output
fd from tombstoned, type: kDebuggerdTombstone
11-19 15:38:43.830   569  5836 I Zygote  : Process 6114 exited
cleanly (0)
11-19 15:38:43.830   777   777 I /system/bin/tombstoned: received
crash request for pid 569
11-19 15:38:43.831  6115  6115 I crash_dump64: performing dump of
process 569 (target tid = 569)
...
11-19 15:38:43.937   777   777 W /system/bin/tombstoned: crash
socket received short read of length 0 (expected 12)
2. The last log was print by function of crash_request_cb in
file of tombstoned.cpp, following related code:
  rc = TEMP_FAILURE_RETRY(read(sockfd, &amp;request, sizeof(request)));
  if (rc == -1) {
    PLOG(WARNING) &lt;&lt; "failed to read from crash socket";
    goto fail;
  } else if (rc != sizeof(request)) {
    LOG(WARNING) &lt;&lt; "crash socket received short read of length " &lt;&lt; rc &lt;&lt; " (expected "
                 &lt;&lt; sizeof(request) &lt;&lt; ")";
    goto fail;
  }

Tombstoned read message by socket, and now the message length is
zero. Some socket communication exception occurs at that time.
We try to let crash_dump resend the socket message when the
communication is abnormal. Just as this CL.

Test: 1 reboot device
      2 ps -ef |grep zygote , get the pid of zygote64
       (Attention: zygote64 should never been killed or reboot,
       otherwise we can get the tombstone file)
      3 kill -5 pid of zygote64
      4 cd data/tombstones/, and could find the tombstone file of
       zygote64.

Change-Id: Ic152b081024d6c12f757927079fd221b63445b18
(cherry picked from commit 8ac2f27cc2fa5fbfc1bbd1cede906d254a77f862)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There is a problem about tombstone, which it will fail to
generate tombstone file in some scenarios due to socket
communication exception.

Reproduce step:
step 1: reboot device
step 2: ps -ef |grep zygote , get the pid of zygote64
(Attention: zygote64 should never been killed or reboot,
otherwise we can get the tombstone file)
step 3: kill -5 pid of zygote64
step 4: cd data/tombstones/, and could not find the tombstone
file of zygote64.

[Cause Analysis]
1. There are following logs by logcat:
11-19 15:38:43.789   569   569 F libc : Fatal signal 5 (SIGTRAP),
code 0 (SI_USER) in tid 569 (main), pid 569 (main)
11-19 15:38:43.829  6115  6115 I crash_dump64: obtaining output
fd from tombstoned, type: kDebuggerdTombstone
11-19 15:38:43.830   569  5836 I Zygote  : Process 6114 exited
cleanly (0)
11-19 15:38:43.830   777   777 I /system/bin/tombstoned: received
crash request for pid 569
11-19 15:38:43.831  6115  6115 I crash_dump64: performing dump of
process 569 (target tid = 569)
...
11-19 15:38:43.937   777   777 W /system/bin/tombstoned: crash
socket received short read of length 0 (expected 12)
2. The last log was print by function of crash_request_cb in
file of tombstoned.cpp, following related code:
  rc = TEMP_FAILURE_RETRY(read(sockfd, &amp;request, sizeof(request)));
  if (rc == -1) {
    PLOG(WARNING) &lt;&lt; "failed to read from crash socket";
    goto fail;
  } else if (rc != sizeof(request)) {
    LOG(WARNING) &lt;&lt; "crash socket received short read of length " &lt;&lt; rc &lt;&lt; " (expected "
                 &lt;&lt; sizeof(request) &lt;&lt; ")";
    goto fail;
  }

Tombstoned read message by socket, and now the message length is
zero. Some socket communication exception occurs at that time.
We try to let crash_dump resend the socket message when the
communication is abnormal. Just as this CL.

Test: 1 reboot device
      2 ps -ef |grep zygote , get the pid of zygote64
       (Attention: zygote64 should never been killed or reboot,
       otherwise we can get the tombstone file)
      3 kill -5 pid of zygote64
      4 cd data/tombstones/, and could find the tombstone file of
       zygote64.

Change-Id: Ic152b081024d6c12f757927079fd221b63445b18
(cherry picked from commit 8ac2f27cc2fa5fbfc1bbd1cede906d254a77f862)
</pre>
</div>
</content>
</entry>
</feed>
