diff options
author | Saurabh Shah <saurshah@quicinc.com> | 2017-08-01 13:54:21 -0700 |
---|---|---|
committer | Marissa Wall <marissaw@google.com> | 2017-09-25 15:51:46 -0700 |
commit | 90a74600d772ee578aaf5c63005e2d80b0d223c9 (patch) | |
tree | f8ac4b2019959b65429abfdc2ad3c52b3574d5c7 /libsync | |
parent | 22a10f6766cd3ae07217b9a93c44381f52aa7018 (diff) | |
download | system_core-90a74600d772ee578aaf5c63005e2d80b0d223c9.tar.gz system_core-90a74600d772ee578aaf5c63005e2d80b0d223c9.tar.bz2 system_core-90a74600d772ee578aaf5c63005e2d80b0d223c9.zip |
sync: store the num_fences from first SYNC_IOC_FILE_INFO
Fixes a bug with the signal time of devices using the
modern sync file interface. The bug only affects kernels running
an Android kernel 4.9 and later.
b/63395253
Test: tests/sync_test.cpp
Change-Id: I6fb00bcb8e16a3268c357153edd8e35a44546caa
Diffstat (limited to 'libsync')
-rw-r--r-- | libsync/sync.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libsync/sync.c b/libsync/sync.c index e65765894..6b187faed 100644 --- a/libsync/sync.c +++ b/libsync/sync.c @@ -217,6 +217,8 @@ static struct sync_file_info *modern_sync_file_info(int fd) local_info.num_fences * sizeof(struct sync_fence_info)); if (!info) return NULL; + + info->num_fences = local_info.num_fences; info->sync_fence_info = (__u64)(uintptr_t)(info + 1); err = ioctl(fd, SYNC_IOC_FILE_INFO, info); |