Don't use TEMP_FAILURE_RETRY on close in system/core.
Bug: http://b/20501816
Change-Id: I1839b48ee4f891b8431ecb809e37a4566a5b3e50
(cherry picked from commit 47b0134ec2)
This commit is contained in:
parent
93f6cba3ea
commit
9fc8343772
5 changed files with 20 additions and 20 deletions
|
|
@ -279,7 +279,7 @@ static bool is32bit(pid_t tid) {
|
||||||
|
|
||||||
char ehdr[EI_NIDENT];
|
char ehdr[EI_NIDENT];
|
||||||
ssize_t bytes = TEMP_FAILURE_RETRY(read(fd, &ehdr, sizeof(ehdr)));
|
ssize_t bytes = TEMP_FAILURE_RETRY(read(fd, &ehdr, sizeof(ehdr)));
|
||||||
TEMP_FAILURE_RETRY(close(fd));
|
close(fd);
|
||||||
if (bytes != (ssize_t) sizeof(ehdr) || memcmp(ELFMAG, ehdr, SELFMAG) != 0) {
|
if (bytes != (ssize_t) sizeof(ehdr) || memcmp(ELFMAG, ehdr, SELFMAG) != 0) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -304,14 +304,14 @@ static void redirect_to_32(int fd, debugger_request_t* request) {
|
||||||
|
|
||||||
if (TEMP_FAILURE_RETRY(write(sock_fd, &msg, sizeof(msg))) != (ssize_t) sizeof(msg)) {
|
if (TEMP_FAILURE_RETRY(write(sock_fd, &msg, sizeof(msg))) != (ssize_t) sizeof(msg)) {
|
||||||
ALOGE("Failed to write request to debuggerd32 socket: %s", strerror(errno));
|
ALOGE("Failed to write request to debuggerd32 socket: %s", strerror(errno));
|
||||||
TEMP_FAILURE_RETRY(close(sock_fd));
|
close(sock_fd);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
char ack;
|
char ack;
|
||||||
if (TEMP_FAILURE_RETRY(read(sock_fd, &ack, 1)) == -1) {
|
if (TEMP_FAILURE_RETRY(read(sock_fd, &ack, 1)) == -1) {
|
||||||
ALOGE("Failed to read ack from debuggerd32 socket: %s", strerror(errno));
|
ALOGE("Failed to read ack from debuggerd32 socket: %s", strerror(errno));
|
||||||
TEMP_FAILURE_RETRY(close(sock_fd));
|
close(sock_fd);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -338,7 +338,7 @@ static void redirect_to_32(int fd, debugger_request_t* request) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TEMP_FAILURE_RETRY(close(sock_fd));
|
close(sock_fd);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -365,7 +365,7 @@ static void handle_request(int fd) {
|
||||||
ALOGE("debuggerd: Not allowed to redirect action %d to 32 bit debuggerd\n",
|
ALOGE("debuggerd: Not allowed to redirect action %d to 32 bit debuggerd\n",
|
||||||
request.action);
|
request.action);
|
||||||
}
|
}
|
||||||
TEMP_FAILURE_RETRY(close(fd));
|
close(fd);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -206,7 +206,7 @@ int fs_mgr_set_blk_ro(const char *blockdev)
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = ioctl(fd, BLKROSET, &ON);
|
rc = ioctl(fd, BLKROSET, &ON);
|
||||||
TEMP_FAILURE_RETRY(close(fd));
|
close(fd);
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -169,20 +169,20 @@ static int ext4_get_target_device_size(char *blk_device, uint64_t *device_size)
|
||||||
|
|
||||||
if (TEMP_FAILURE_RETRY(lseek64(data_device, 1024, SEEK_SET)) < 0) {
|
if (TEMP_FAILURE_RETRY(lseek64(data_device, 1024, SEEK_SET)) < 0) {
|
||||||
ERROR("Error seeking to superblock");
|
ERROR("Error seeking to superblock");
|
||||||
TEMP_FAILURE_RETRY(close(data_device));
|
close(data_device);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TEMP_FAILURE_RETRY(read(data_device, &sb, sizeof(sb))) != sizeof(sb)) {
|
if (TEMP_FAILURE_RETRY(read(data_device, &sb, sizeof(sb))) != sizeof(sb)) {
|
||||||
ERROR("Error reading superblock");
|
ERROR("Error reading superblock");
|
||||||
TEMP_FAILURE_RETRY(close(data_device));
|
close(data_device);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
ext4_parse_sb(&sb, &info);
|
ext4_parse_sb(&sb, &info);
|
||||||
*device_size = info.len;
|
*device_size = info.len;
|
||||||
|
|
||||||
TEMP_FAILURE_RETRY(close(data_device));
|
close(data_device);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -301,7 +301,7 @@ static int read_verity_metadata(uint64_t device_size, char *block_device, char *
|
||||||
|
|
||||||
out:
|
out:
|
||||||
if (device != -1)
|
if (device != -1)
|
||||||
TEMP_FAILURE_RETRY(close(device));
|
close(device);
|
||||||
|
|
||||||
if (retval != FS_MGR_SETUP_VERITY_SUCCESS) {
|
if (retval != FS_MGR_SETUP_VERITY_SUCCESS) {
|
||||||
free(*signature);
|
free(*signature);
|
||||||
|
|
@ -470,7 +470,7 @@ static int check_verity_restart(const char *fname)
|
||||||
|
|
||||||
out:
|
out:
|
||||||
if (fd != -1) {
|
if (fd != -1) {
|
||||||
TEMP_FAILURE_RETRY(close(fd));
|
close(fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
|
|
@ -622,7 +622,7 @@ static int write_verity_state(const char *fname, off64_t offset, int32_t mode)
|
||||||
|
|
||||||
out:
|
out:
|
||||||
if (fd != -1) {
|
if (fd != -1) {
|
||||||
TEMP_FAILURE_RETRY(close(fd));
|
close(fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
|
|
@ -670,7 +670,7 @@ static int read_verity_state(const char *fname, off64_t offset, int *mode)
|
||||||
|
|
||||||
out:
|
out:
|
||||||
if (fd != -1) {
|
if (fd != -1) {
|
||||||
TEMP_FAILURE_RETRY(close(fd));
|
close(fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
|
|
@ -745,7 +745,7 @@ out:
|
||||||
free(signature);
|
free(signature);
|
||||||
|
|
||||||
if (fd != -1) {
|
if (fd != -1) {
|
||||||
TEMP_FAILURE_RETRY(close(fd));
|
close(fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
|
|
@ -913,7 +913,7 @@ out:
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fd) {
|
if (fd) {
|
||||||
TEMP_FAILURE_RETRY(close(fd));
|
close(fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
|
|
|
||||||
|
|
@ -170,7 +170,7 @@ bool read_file(const char* path, std::string* content) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool okay = android::base::ReadFdToString(fd, content);
|
bool okay = android::base::ReadFdToString(fd, content);
|
||||||
TEMP_FAILURE_RETRY(close(fd));
|
close(fd);
|
||||||
return okay;
|
return okay;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -184,7 +184,7 @@ int write_file(const char* path, const char* content) {
|
||||||
if (result == -1) {
|
if (result == -1) {
|
||||||
NOTICE("write_file: Unable to write to '%s': %s\n", path, strerror(errno));
|
NOTICE("write_file: Unable to write to '%s': %s\n", path, strerror(errno));
|
||||||
}
|
}
|
||||||
TEMP_FAILURE_RETRY(close(fd));
|
close(fd);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -68,7 +68,7 @@ static int make_dump_request(debugger_action_t action, pid_t tid, int timeout_se
|
||||||
}
|
}
|
||||||
|
|
||||||
if (send_request(sock_fd, &msg, sizeof(msg)) < 0) {
|
if (send_request(sock_fd, &msg, sizeof(msg)) < 0) {
|
||||||
TEMP_FAILURE_RETRY(close(sock_fd));
|
close(sock_fd);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -95,7 +95,7 @@ int dump_backtrace_to_file_timeout(pid_t tid, int fd, int timeout_secs) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TEMP_FAILURE_RETRY(close(sock_fd));
|
close(sock_fd);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -124,6 +124,6 @@ int dump_tombstone_timeout(pid_t tid, char* pathbuf, size_t pathlen, int timeout
|
||||||
memcpy(pathbuf, buffer, n + 1);
|
memcpy(pathbuf, buffer, n + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TEMP_FAILURE_RETRY(close(sock_fd));
|
close(sock_fd);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue