ExternalCameraHAL: dup fd when creating AIDL NativeHandle
AIDL's NativeHandle do not have a concept of unowned file descriptors. If a NativeHandle object is created with an fd, NativeHandle implicitly assumes ownership of the fd. When passing fds over binder, ExternalCameraHAL used makeToAidl which which accidentally transferred ownership to the AIDL objects. Additionally, NativeHandles close owned fds on destruction, which led to multiple closure of fences. This CL changes the logic to use dupToAidl to ensure that NativeHandle objects are given ownership of a duped fds and don't interfere with any of the fds used for internal bookkeeping. Bug: 313115623 Test: Verified by partner that ExternalCameraHAL no longer double closes fds. Change-Id: Ic406634de6f22a290abb414e80a7747927368b68
Loading
Please register or sign in to comment