From 530894e77a27c6a32dec305719571072f03ed13e Mon Sep 17 00:00:00 2001 From: Gousemoodhin Nadaf Date: Tue, 3 Apr 2018 16:17:04 +0530 Subject: [PATCH] hwc2: Layer buffer fence fd leak Close acquire_fence_fd to avoid fence fd leak. Bug: 77140352 Change-Id: I32eacdf658f59c21f45955d34dd3de5751badbe4 --- msm8998/sdm/libs/hwc2/hwc_layers.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/msm8998/sdm/libs/hwc2/hwc_layers.cpp b/msm8998/sdm/libs/hwc2/hwc_layers.cpp index 54d9e9c3..4ceaa632 100644 --- a/msm8998/sdm/libs/hwc2/hwc_layers.cpp +++ b/msm8998/sdm/libs/hwc2/hwc_layers.cpp @@ -256,10 +256,13 @@ HWC2::Error HWCLayer::SetLayerBuffer(buffer_handle_t buffer, int32_t acquire_fen layer_buffer->flags.secure_camera = secure_camera; layer_buffer->flags.secure_display = secure_display; + if (layer_buffer->acquire_fence_fd >= 0) { + close(layer_buffer->acquire_fence_fd); + } + layer_buffer->acquire_fence_fd = acquire_fence; layer_buffer->planes[0].fd = ion_fd_; layer_buffer->planes[0].offset = handle->offset; layer_buffer->planes[0].stride = UINT32(handle->width); - layer_buffer->acquire_fence_fd = acquire_fence; layer_buffer->size = handle->size; layer_buffer->buffer_id = reinterpret_cast(handle); layer_buffer->fb_id = 0;