init: only provide control message results for devices launching > Q

This is a behavior change and may have unintended consequences,
especially in Java, where failed property sets create exceptions.
Therefore, we only provide this new behavior to devices launching > Q.

Bug: 137070994
Test: build
Change-Id: If0b44aedc5c887ea6ea16dd3ec551ac2bf793cef
This commit is contained in:
Tom Cherry 2019-10-22 08:27:23 -07:00
parent 1e07245bf1
commit 5310db82b0
1 changed files with 1 additions and 1 deletions

View File

@ -404,7 +404,7 @@ static uint32_t SendControlMessage(const std::string& msg, const std::string& na
// We must release the fd before sending it to init, otherwise there will be a race with init.
// If init calls close() before Release(), then fdsan will see the wrong tag and abort().
int fd = -1;
if (socket != nullptr) {
if (socket != nullptr && SelinuxGetVendorAndroidVersion() > __ANDROID_API_Q__) {
fd = socket->Release();
control_message->set_fd(fd);
}