From 1ce3bea7a871ff420d083906b746479b3e000913 Mon Sep 17 00:00:00 2001 From: Mohan Pallaka Date: Tue, 21 Aug 2018 14:42:21 -0700 Subject: Gralloc: Use 4 bytes padding for private_handle_t Force 4 bytes padding to avoid data leak due to uninitialized padding. Bug: 77237704 Change-Id: Ib45ef7e3751667f037465105209c491f0bf927a6 CRs-Fixed: 2257685 --- gralloc/gr_priv_handle.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'gralloc/gr_priv_handle.h') diff --git a/gralloc/gr_priv_handle.h b/gralloc/gr_priv_handle.h index 1eb03b81..d0681d78 100644 --- a/gralloc/gr_priv_handle.h +++ b/gralloc/gr_priv_handle.h @@ -33,6 +33,7 @@ typedef gralloc1_error_t (*GRALLOC1_PFN_PERFORM)(gralloc1_device_t *device, int #define PRIV_HANDLE_CONST(exp) static_cast(exp) +#pragma pack(push, 4) struct private_handle_t : public native_handle_t { enum { PRIV_FLAGS_FRAMEBUFFER = 0x00000001, @@ -74,15 +75,15 @@ struct private_handle_t : public native_handle_t { int format; int buffer_type; unsigned int layer_count; - uint64_t id __attribute__((aligned(8))); - uint64_t usage __attribute__((aligned(8))); + uint64_t id; + uint64_t usage; unsigned int size; unsigned int offset; unsigned int offset_metadata; - uint64_t base __attribute__((aligned(8))); - uint64_t base_metadata __attribute__((aligned(8))); - uint64_t gpuaddr __attribute__((aligned(8))); + uint64_t base; + uint64_t base_metadata; + uint64_t gpuaddr; static const int kNumFds = 2; static const int kMagic = 'gmsm'; @@ -172,5 +173,6 @@ struct private_handle_t : public native_handle_t { uint64_t GetBackingstore() const { return id; } }; +#pragma pack(pop) #endif // __GR_PRIV_HANDLE_H__ -- cgit v1.2.3