Commit Graph

255075 Commits

Author SHA1 Message Date
Narayan Kamath
cb948fc3fa Backport changes to whitelist sockets opened by the zygote. am: 7ec85f9d54 am: f7b9f84f87 am: 9a409265fc -s ours am: 9802fcfa2b am: 2acf9f7e3c am: 36b90a1934 am: 5febcdd210 am: ebcc7aeda9
am: f52b30cf8d

Change-Id: I9b47f64c25964c2ca1e91451f0a47002b5d01593
2016-09-07 20:37:01 +00:00
Narayan Kamath
f52b30cf8d Backport changes to whitelist sockets opened by the zygote. am: 7ec85f9d54 am: f7b9f84f87 am: 9a409265fc -s ours am: 9802fcfa2b am: 2acf9f7e3c am: 36b90a1934 am: 5febcdd210
am: ebcc7aeda9

Change-Id: Ie2e2292bbb8c6d274109d64f7dd3ed00fca0ba0f
2016-09-07 20:32:17 +00:00
Andrew Solovay
99ff24d0eb Merge "docs: Fixing redirect file" into nyc-dev
am: 33831c02b5

Change-Id: I581a03e4ae3bff311f1ae17dbaf2281d0389947b
2016-09-07 20:25:47 +00:00
Andrew Solovay
70b2481c87 docs: Fixing redirect file
am: 5bf2ea6670

Change-Id: I52063f29a2adee8e11c528c3268b26a0120c2afc
2016-09-07 20:25:43 +00:00
Narayan Kamath
ebcc7aeda9 Backport changes to whitelist sockets opened by the zygote. am: 7ec85f9d54 am: f7b9f84f87 am: 9a409265fc -s ours am: 9802fcfa2b am: 2acf9f7e3c am: 36b90a1934
am: 5febcdd210

Change-Id: Ib7e40acc4682e4198dcaab78c57de02acfe89c94
2016-09-07 20:23:28 +00:00
Narayan Kamath
82c6e6267e Backport changes to whitelist sockets opened by the zygote.
This is the backport of the following commits :

Commit c5f27a7cb2:
-----------------------------------------------

Reopen whitelisted zygote file descriptors after a fork.

We don't want these descriptors to be shared post-fork, so we'll
have to close and reopen them when the zygote forks. The set of
open descriptors is checked against a whitelist and it is a fatal
error if a non whitelisted FD is opened. It is also a fatal error
if anything other than a regular file / character device or socket
is opened at the time of forking.

This work is done in two stages :
- An initial list of FDs is constructed and cached prior to the
  first zygote fork.

- On each subsequent fork, we check whether the list of open FDs
  has changed. We are currently tolerant of changes, but in the
  longer term, it should be a fatal error if the set of open file
  descriptors in the zygote changes.

- Post fork, we traverse the list of open descriptors and reopen
  them if necessary.

bug: 30963384

Commit 3764a260f0:
-----------------------------------------------

Add a whitelist of sockets on fork.

Maintain a whitelist of AF_UNIX sockets that are permitted
to exist at the time of forking. If an open socket does not belong
to the whitelist (or is not AF_UNIX), the process will abort. If an
open socket is whitelisted, it will be redirected to /dev/null after
a sucessful fork. This allows us to unify our handling of the special
zygote sockets (/dev/socket/zygote[_secondary]) with the existing
whitelist of non socket file descriptors.

This change also removes non-fatal ALOGW messages since they have the
side effect of reopening the logging socket.

bug: 30963384

Commit 0b76d6a28e:
-----------------------------------------------
fd_utils: Fix broken usage of iterators.

There were two separate issues here :
- RestatInternal was using an iterator after a call to erase(). This
  will not work because it will be invalidated.
- The "standard" for loop idiom for iterating over a map while making
  structural changes to it is broken. Switch to a while loop and treat
  cases where elements are erased differently from cases where they
  aren't.

bug: 31092930
bug: 30963384

Plus additional changes:
-----------------------------------------------
- change std::unordered_map to std::tr1::unordered_map.
- add /dev/alarm and /dev/__properties__ to the whitelist.
- map.erase(iterator) returns void prior to C++11, so need the kludge
  of calling erase(it++).

(cherry picked from commit 7ec85f9d54)

Change-Id: If44dc64275d753553233b78a05d41df9d5bfdc36
2016-09-07 21:22:59 +01:00
TreeHugger Robot
33831c02b5 Merge "docs: Fixing redirect file" into nyc-dev 2016-09-07 20:19:09 +00:00
Narayan Kamath
5febcdd210 Backport changes to whitelist sockets opened by the zygote. am: 7ec85f9d54 am: f7b9f84f87 am: 9a409265fc -s ours am: 9802fcfa2b am: 2acf9f7e3c
am: 36b90a1934

Change-Id: Iec55904ecb004d3bf89bf3a065e5811afae798d6
2016-09-07 20:17:02 +00:00
Narayan Kamath
36b90a1934 Backport changes to whitelist sockets opened by the zygote. am: 7ec85f9d54 am: f7b9f84f87 am: 9a409265fc -s ours am: 9802fcfa2b
am: 2acf9f7e3c

Change-Id: Ideae7875e299ec0292054aad85fe8aa92b6aba9b
2016-09-07 20:12:43 +00:00
Narayan Kamath
2acf9f7e3c Backport changes to whitelist sockets opened by the zygote. am: 7ec85f9d54 am: f7b9f84f87 am: 9a409265fc -s ours
am: 9802fcfa2b

Change-Id: Iabeefa7d07d78002c124ce62dc210111b83a99b7
2016-09-07 20:07:58 +00:00
Narayan Kamath
9802fcfa2b Backport changes to whitelist sockets opened by the zygote. am: 7ec85f9d54 am: f7b9f84f87
am: 9a409265fc  -s ours

Change-Id: Idf4dcc5ab7e8b0510848cbd2f220fe7a8e4b3e04
2016-09-07 20:01:56 +00:00
Narayan Kamath
a1252ccbdb Backport changes to whitelist sockets opened by the zygote.
This is the backport of the following commits :

Reopen whitelisted zygote file descriptors after a fork.

We don't want these descriptors to be shared post-fork, so we'll
have to close and reopen them when the zygote forks. The set of
open descriptors is checked against a whitelist and it is a fatal
error if a non whitelisted FD is opened. It is also a fatal error
if anything other than a regular file / character device or socket
is opened at the time of forking.

This work is done in two stages :
- An initial list of FDs is constructed and cached prior to the
  first zygote fork.

- On each subsequent fork, we check whether the list of open FDs
  has changed. We are currently tolerant of changes, but in the
  longer term, it should be a fatal error if the set of open file
  descriptors in the zygote changes.

- Post fork, we traverse the list of open descriptors and reopen
  them if necessary.

bug: 30963384

(cherry picked from commit c5f27a7cb2)

Fix clang build breakage (-Werror -Wformat).

Use %zd for size_t. Note that this will break only on (-plus-)aosp because
clang is disabled on the N development branches.

bug: 30963384

(cherry picked from commit b334c33d65)

Add a whitelist of sockets on fork.

Maintain a whitelist of AF_UNIX sockets that are permitted
to exist at the time of forking. If an open socket does not belong
to the whitelist (or is not AF_UNIX), the process will abort. If an
open socket is whitelisted, it will be redirected to /dev/null after
a sucessful fork. This allows us to unify our handling of the special
zygote sockets (/dev/socket/zygote[_secondary]) with the existing
whitelist of non socket file descriptors.

This change also removes non-fatal ALOGW messages since they have the
side effect of reopening the logging socket.

bug: 30963384

(cherry picked from commit 3764a260f0)

fd_utils: Remove whitelist for "/dev/pmsg0".

We're now calling __android_log_close prior to a fork, so this file
shouldn't need to be open.

bug: 31243313
bug: 30963384

(cherry picked from commit 8dee054190)

fd_utils: Fix broken usage of iterators.

There were two separate issues here :
- RestatInternal was using an iterator after a call to erase(). This
  will not work because it will be invalidated.
- The "standard" for loop idiom for iterating over a map while making
  structural changes to it is broken. Switch to a while loop and treat
  cases where elements are erased differently from cases where they
  aren't.

bug: 31092930
bug: 30963384

(cherry picked from commit 0b76d6a28e)

add dri device to zygote whitelisted FDs

The driver can be used just like /dev/ion for graphic buffers.

(cherry picked from commit 8977e424ee)
2016-09-07 20:54:17 +01:00
Andrew Solovay
64143cedfe Merge "docs: Added note about CustomTabsIntent.setAlwaysUseBrowserUI" into nyc-dev
am: 4dc743ac67

Change-Id: Ia0fa62280c8409ce774a5f3ffb90f71eb081e7e1
2016-09-07 19:07:49 +00:00
Andrew Solovay
9c6607a714 docs: Added note about CustomTabsIntent.setAlwaysUseBrowserUI
am: 7cfe9f83ac

Change-Id: Id52ee115f9aa58f87e9965dad972c9faa3e72fd6
2016-09-07 19:07:39 +00:00
TreeHugger Robot
4dc743ac67 Merge "docs: Added note about CustomTabsIntent.setAlwaysUseBrowserUI" into nyc-dev 2016-09-07 19:02:37 +00:00
Narayan Kamath
9a409265fc Backport changes to whitelist sockets opened by the zygote. am: 7ec85f9d54
am: f7b9f84f87

Change-Id: I317cecff389f30c5d47e4adee1afafbde8d9d23d
2016-09-07 18:58:41 +00:00
Narayan Kamath
f7b9f84f87 Backport changes to whitelist sockets opened by the zygote.
am: 7ec85f9d54

Change-Id: I6db56b5b06636201382f6d908297644183253c0b
2016-09-07 18:53:40 +00:00
Andrew Solovay
5bf2ea6670 docs: Fixing redirect file
Devsite handles "redirect this directory tree" differently than DAC
did; as a result, a bunch of redirects were broken. (On Devsite, a
redirect ending in a slash redirects *only* paths that match it;
to redirect that directory and all its contents, end with /...)

Also deleted one redirect that wouldn't work (trying to redirect
foo.html#bar , which wouldn't work--the anchors are ignored on
devsite and there was a separate redirect for just foo.html).

When a redirect pointed *to* a path ending in slash -- but was clearly
meant to point to the directory itself (i.e. the /index.html file) --
I removed the trailing slash.

Redirects staged to https://android-dot-devsite.googleplex.com , so
they should all work there.

bug: 30748799
Change-Id: I6d090de5e6efa6ddb2bbe3e99fdbfb0ae02b88d5
2016-09-07 11:51:19 -07:00
Iliyan Malchev
be5d93b9d5 Merge changes from topic 'fix-nyc-dev-plus-aosp' into nyc-dev-plus-aosp
* changes:
  Move Status to libhidl
  Adds framework support for hidl-gen Java backend. (to support structs)
  Add Bool* APIs to HwParcel
  Link against libhidl for HidlSupport/svcmgr
  Support one-way methods in java support for hardware binder
  Initial commit of Java support for hardware binder
2016-09-07 18:22:47 +00:00
Narayan Kamath
41ca1bce01 Backport changes to whitelist sockets opened by the zygote.
This is the backport of the following commits :

Commit c5f27a7cb2:
-----------------------------------------------

Reopen whitelisted zygote file descriptors after a fork.

We don't want these descriptors to be shared post-fork, so we'll
have to close and reopen them when the zygote forks. The set of
open descriptors is checked against a whitelist and it is a fatal
error if a non whitelisted FD is opened. It is also a fatal error
if anything other than a regular file / character device or socket
is opened at the time of forking.

This work is done in two stages :
- An initial list of FDs is constructed and cached prior to the
  first zygote fork.

- On each subsequent fork, we check whether the list of open FDs
  has changed. We are currently tolerant of changes, but in the
  longer term, it should be a fatal error if the set of open file
  descriptors in the zygote changes.

- Post fork, we traverse the list of open descriptors and reopen
  them if necessary.

bug: 30963384

Commit 3764a260f0:
-----------------------------------------------

Add a whitelist of sockets on fork.

Maintain a whitelist of AF_UNIX sockets that are permitted
to exist at the time of forking. If an open socket does not belong
to the whitelist (or is not AF_UNIX), the process will abort. If an
open socket is whitelisted, it will be redirected to /dev/null after
a sucessful fork. This allows us to unify our handling of the special
zygote sockets (/dev/socket/zygote[_secondary]) with the existing
whitelist of non socket file descriptors.

This change also removes non-fatal ALOGW messages since they have the
side effect of reopening the logging socket.

bug: 30963384

Commit 0b76d6a28e:
-----------------------------------------------

fd_utils: Fix broken usage of iterators.

There were two separate issues here :
- RestatInternal was using an iterator after a call to erase(). This
  will not work because it will be invalidated.
- The "standard" for loop idiom for iterating over a map while making
  structural changes to it is broken. Switch to a while loop and treat
  cases where elements are erased differently from cases where they
  aren't.

bug: 31092930
bug: 30963384

Plus additional changes:
-----------------------------------------------
- add /dev/__properties__ to the whitelist.

Change-Id: I709a7f4913e807a8fec8a58c81e98fe5b5222820
2016-09-07 19:06:04 +01:00
Narayan Kamath
0f6a0e1560 Backport changes to whitelist sockets opened by the zygote.
This is the backport of the following commits :

Commit c5f27a7cb2:
-----------------------------------------------

Reopen whitelisted zygote file descriptors after a fork.

We don't want these descriptors to be shared post-fork, so we'll
have to close and reopen them when the zygote forks. The set of
open descriptors is checked against a whitelist and it is a fatal
error if a non whitelisted FD is opened. It is also a fatal error
if anything other than a regular file / character device or socket
is opened at the time of forking.

This work is done in two stages :
- An initial list of FDs is constructed and cached prior to the
  first zygote fork.

- On each subsequent fork, we check whether the list of open FDs
  has changed. We are currently tolerant of changes, but in the
  longer term, it should be a fatal error if the set of open file
  descriptors in the zygote changes.

- Post fork, we traverse the list of open descriptors and reopen
  them if necessary.

bug: 30963384

Commit 3764a260f0:
-----------------------------------------------

Add a whitelist of sockets on fork.

Maintain a whitelist of AF_UNIX sockets that are permitted
to exist at the time of forking. If an open socket does not belong
to the whitelist (or is not AF_UNIX), the process will abort. If an
open socket is whitelisted, it will be redirected to /dev/null after
a sucessful fork. This allows us to unify our handling of the special
zygote sockets (/dev/socket/zygote[_secondary]) with the existing
whitelist of non socket file descriptors.

This change also removes non-fatal ALOGW messages since they have the
side effect of reopening the logging socket.

bug: 30963384

Commit 0b76d6a28e:
-----------------------------------------------

fd_utils: Fix broken usage of iterators.

There were two separate issues here :
- RestatInternal was using an iterator after a call to erase(). This
  will not work because it will be invalidated.
- The "standard" for loop idiom for iterating over a map while making
  structural changes to it is broken. Switch to a while loop and treat
  cases where elements are erased differently from cases where they
  aren't.

bug: 31092930
bug: 30963384

Plus additional changes:
-----------------------------------------------
- add /dev/__properties__ to the whitelist.

Change-Id: Ic512be6362c3c5d84767e933884872b7e995dfea
2016-09-07 18:52:50 +01:00
Narayan Kamath
7ec85f9d54 Backport changes to whitelist sockets opened by the zygote.
This is the backport of the following commits :

Commit c5f27a7cb2:
-----------------------------------------------

Reopen whitelisted zygote file descriptors after a fork.

We don't want these descriptors to be shared post-fork, so we'll
have to close and reopen them when the zygote forks. The set of
open descriptors is checked against a whitelist and it is a fatal
error if a non whitelisted FD is opened. It is also a fatal error
if anything other than a regular file / character device or socket
is opened at the time of forking.

This work is done in two stages :
- An initial list of FDs is constructed and cached prior to the
  first zygote fork.

- On each subsequent fork, we check whether the list of open FDs
  has changed. We are currently tolerant of changes, but in the
  longer term, it should be a fatal error if the set of open file
  descriptors in the zygote changes.

- Post fork, we traverse the list of open descriptors and reopen
  them if necessary.

bug: 30963384

Commit 3764a260f0:
-----------------------------------------------

Add a whitelist of sockets on fork.

Maintain a whitelist of AF_UNIX sockets that are permitted
to exist at the time of forking. If an open socket does not belong
to the whitelist (or is not AF_UNIX), the process will abort. If an
open socket is whitelisted, it will be redirected to /dev/null after
a sucessful fork. This allows us to unify our handling of the special
zygote sockets (/dev/socket/zygote[_secondary]) with the existing
whitelist of non socket file descriptors.

This change also removes non-fatal ALOGW messages since they have the
side effect of reopening the logging socket.

bug: 30963384

Commit 0b76d6a28e:
-----------------------------------------------
fd_utils: Fix broken usage of iterators.

There were two separate issues here :
- RestatInternal was using an iterator after a call to erase(). This
  will not work because it will be invalidated.
- The "standard" for loop idiom for iterating over a map while making
  structural changes to it is broken. Switch to a while loop and treat
  cases where elements are erased differently from cases where they
  aren't.

bug: 31092930
bug: 30963384

Plus additional changes:
-----------------------------------------------
- change std::unordered_map to std::tr1::unordered_map.
- add /dev/alarm and /dev/__properties__ to the whitelist.
- map.erase(iterator) returns void prior to C++11, so need the kludge
  of calling erase(it++).

Change-Id: I694ff66d5f227239b0190ffc2287882b16e336fa
2016-09-07 18:48:48 +01:00
Yi Kong
a4cc9028bf Track libcore change 76fa41aa4ac891670446592243b654fac7deb53f
Bug: 30992227
Change-Id: I33c25562468f5803e211910f50116b501b66fe56
2016-09-07 16:17:55 +00:00
dooyoung.hwang
b647984f04 Fix issue that Overview key doesn't work at secondary user
If user captures screenshot, screenshot process is started. Screenshot
process also starts services that is defined SERVICES_PER_USER.
As a result Recents class's object is unexpectedly constucted from
screenshot process, and cause to connect with system-user's SystemUI
with mUserToSystemServiceConnection. So, binder proxy from system-user's
SystemUI to secondary-user's SystemUI is replaced with proxy to
screenshot process. In this case Overview key doesn't work at all
until reboot.

Bug:30340532
Change-Id: I84b8b4a02ac3ff781e06d57be19cff56efa76521
2016-09-07 16:03:17 +00:00
Roshan Pius
32f3a3f940 Merge "WifiEnterpriseConfig: Refactor set/get field values" am: c4856bd73c
am: 655ae32d57

Change-Id: I2c5652450f774ed7841763898be7e3850af111a9
2016-09-07 16:00:36 +00:00
Roshan Pius
655ae32d57 Merge "WifiEnterpriseConfig: Refactor set/get field values"
am: c4856bd73c

Change-Id: Id78dd9286f755f4cd1a9057f42972b8bfdc5caa9
2016-09-07 15:55:32 +00:00
Roshan Pius
c4856bd73c Merge "WifiEnterpriseConfig: Refactor set/get field values" 2016-09-07 15:47:40 +00:00
Martijn Coenen
22fbcb49da Move Status to libhidl
Bug: 31226252

Change-Id: Ieb0adcf1fa71d6859324c2d83841685d1e1a22f8
Signed-off-by: Iliyan Malchev <malchev@google.com>
2016-09-07 15:10:55 +02:00
Andreas Huber
50546a98ed Adds framework support for hidl-gen Java backend. (to support structs)
Bug: 30575790
Change-Id: Ida30d8fe7a1b210e98f1a0ea5d429a0112f9ef3f
Signed-off-by: Iliyan Malchev <malchev@google.com>
2016-09-07 15:10:50 +02:00
Andreas Huber
e1eb45d8d6 Add Bool* APIs to HwParcel
Bug: 31045584
Change-Id: I202c4aa7caf92a4cd7e3a45ef6784638e41facc8
Signed-off-by: Iliyan Malchev <malchev@google.com>
2016-09-07 15:10:45 +02:00
Martijn Coenen
5f9e4f86e8 Link against libhidl for HidlSupport/svcmgr
Bug: 30839546
Change-Id: I52609576aa7f10da608725ef4ea78b778f127eef
Signed-off-by: Iliyan Malchev <malchev@google.com>
2016-09-07 15:10:39 +02:00
Andreas Huber
281ac40c97 Support one-way methods in java support for hardware binder
Bug: 30922538
Change-Id: I5ff93126a29f6bff42dee3f9868fa794ca7c077f
Signed-off-by: Iliyan Malchev <malchev@google.com>
2016-09-07 15:10:35 +02:00
Andreas Huber
7f5fcabacc Initial commit of Java support for hardware binder
Change-Id: If1098ab921a11bae8eca2a70a3c3070e4daa0ea2
2016-09-07 15:10:30 +02:00
Tobias Lindskog
313177dcca Skip ANR for processes that have been killed
If a controller is attached and decides to kill a process after an ANR,
other ANR reports for that app that are queued up won't be handled until
after the app has died.  This can create a report without the relevant
callstacks because the app is dead by the time the traces are dumped.
Since the trace file is global, the traces recorded for the first ANR
are overwritten, leaving us with no clue as to what happened.

After the app has been killedByAm, it is not interesting to handle ANRs
for that app until it is started again, so killedByAm can be used to
filter out these spurious reports.

Change-Id: I34ba790f6d29d563c819dc2f6ac71a3c8955bb76
2016-09-07 14:36:46 +02:00
Sergio Giro
c0f7d4c65b Merge "java.security.cert.X509CRL: add new method verify(PublicKey, Provider)" am: 12d3d4bbba
am: 6c753ca336

Change-Id: I3f6c8546ff116fbfcf11c0c0f5b168f56503e22f
2016-09-07 12:28:09 +00:00
Sergio Giro
724155a3be Merge "java.security.PKCS12Attribute: port class from jdk8u60" am: 6767fd28b1
am: 52e0434748

Change-Id: I4e631cb3d354b2bba2dd0ced239edf60588d12a3
2016-09-07 12:28:00 +00:00
Sergio Giro
fcc05f0f66 Merge "java.security.SecureRandom: add getInstanceStrong() method" am: 4c2df18a4d
am: 09a2121d5d

Change-Id: I8e2002564fbdc2aea638538bb8954e44d882900e
2016-09-07 12:27:54 +00:00
Sergio Giro
9fb957c4e5 Merge "java.security: port DomainLoadStoreParameter from jdk8u60" am: 59c0fcf0c8
am: 290f2bb2a0

Change-Id: I0030e50dc05e88979d50e73feeb778c79ece47fc
2016-09-07 12:23:41 +00:00
Sergio Giro
6c753ca336 Merge "java.security.cert.X509CRL: add new method verify(PublicKey, Provider)"
am: 12d3d4bbba

Change-Id: I27e64111dc18e052884b3b571f93a17c9d5f663c
2016-09-07 12:21:36 +00:00
Sergio Giro
52e0434748 Merge "java.security.PKCS12Attribute: port class from jdk8u60"
am: 6767fd28b1

Change-Id: Ib80d6ae24734def58881a4536b232870fb885015
2016-09-07 12:21:17 +00:00
Sergio Giro
09a2121d5d Merge "java.security.SecureRandom: add getInstanceStrong() method"
am: 4c2df18a4d

Change-Id: I5faf9c49a7d09e8eef38edd6cf32de4f65783e5d
2016-09-07 12:20:49 +00:00
Sergio Giro
290f2bb2a0 Merge "java.security: port DomainLoadStoreParameter from jdk8u60"
am: 59c0fcf0c8

Change-Id: I8fd7dc636a579c67c4b9851f4babae30e19a2024
2016-09-07 12:14:47 +00:00
Sergio Giro
12d3d4bbba Merge "java.security.cert.X509CRL: add new method verify(PublicKey, Provider)" 2016-09-07 12:08:27 +00:00
Sergio Giro
6767fd28b1 Merge "java.security.PKCS12Attribute: port class from jdk8u60" 2016-09-07 12:07:13 +00:00
Sergio Giro
4c2df18a4d Merge "java.security.SecureRandom: add getInstanceStrong() method" 2016-09-07 12:05:35 +00:00
Sergio Giro
59c0fcf0c8 Merge "java.security: port DomainLoadStoreParameter from jdk8u60" 2016-09-07 12:04:21 +00:00
Yohann Roussel
fceccd226b Merge "Add a test app for suppressed exceptions" am: 15c6078f4d
am: 166ab31073

Change-Id: Icff43af8769359b3cc97653182831466a02b0c8f
2016-09-07 10:08:16 +00:00
Yohann Roussel
166ab31073 Merge "Add a test app for suppressed exceptions"
am: 15c6078f4d

Change-Id: I45692cdf5081fe848935075d861fad11e68d19ba
2016-09-07 10:03:08 +00:00
Yohann Roussel
15c6078f4d Merge "Add a test app for suppressed exceptions" 2016-09-07 09:52:50 +00:00
Etan Cohen
6e318896ea Merge changes from topic 'enable_nan' am: 62419a0138
am: 20d6e886a7

Change-Id: I57da3187f0373aa45b8bac0786c34e80c87cef6c
2016-09-07 04:40:27 +00:00