QCamera2: HAL3: Synchronize access to offline buffers

"mOfflineMetaBuffers" and "mOfflineBuffers" can be modified
by two threads at the same leading to crashes. To avoid this
serialize the access by using an additional mutex.

Bug: 64194071
Test: Camera CTS
Change-Id: I358a1412e944084d4a54f3cdd9aa4a7eb08e8a95
2 files changed
tree: 3cb7ac4aeb19a54631f49a5db4bffe6ed2cc8078
  1. bluetooth/
  2. camera/
  3. common/
  4. dataservices/
  5. dumpstate/
  6. factory-images_marlin/
  7. factory-images_sailfish/
  8. kernel-headers/
  9. libandroid/
  10. liblight/
  11. marlin/
  12. nfc/
  13. original-kernel-headers/
  14. overlay/
  15. power/
  16. radio/
  17. recovery/
  18. sailfish/
  19. seccomp_policy/
  20. self-extractors/
  21. self-extractors_sailfish/
  22. sensorhal/
  23. sepolicy/
  24. telephony/
  25. thermal/
  26. thermal-engine/
  27. time-services/
  28. usb/
  29. vibrator/
  30. vndk/
  31. voice_processing/
  32. vr/
  33. aanc_tuning_mixer.txt
  34. Android.bp
  35. Android.mk
  36. AndroidProducts.mk
  37. aosp_marlin.mk
  38. aosp_marlin_svelte.mk
  39. aosp_sailfish.mk
  40. apns-full-conf.xml
  41. audio_effects.xml
  42. audio_output_policy.conf
  43. audio_platform_info.xml
  44. audio_platform_info_tasha_t50.xml
  45. audio_policy_configuration.xml
  46. audio_policy_volumes_drc.xml
  47. charger.fstab.qcom
  48. CleanSpec.mk
  49. compatibility_matrix.xml
  50. default-permissions.xml
  51. device-common.mk
  52. device-marlin.mk
  53. device-sailfish.mk
  54. egl.cfg
  55. fstab.aosp_svelte
  56. fstab.common
  57. gpio-keys.kl
  58. gps.conf
  59. init.common.diag.rc.user
  60. init.common.diag.rc.userdebug
  61. init.common.nanohub.rc
  62. init.common.rc
  63. init.common.usb.rc
  64. init.foreground.sh
  65. init.mid.sh
  66. init.power.sh
  67. init.qcom.devstart.sh
  68. init.qcom.qseecomd.sh
  69. init.radio.sh
  70. init.recovery.common.rc
  71. manifest.xml
  72. media_codecs.xml
  73. media_codecs_performance.xml
  74. media_profiles_V1_0.xml
  75. mixer_paths.xml
  76. mixer_paths_tasha_t50.xml
  77. msm_irqbalance.conf
  78. p2p_supplicant_overlay.conf
  79. preloads_copy.sh
  80. qpnp_pon.kl
  81. qti_whitelist.xml
  82. recovery.wipe.common
  83. sec_config
  84. sound_trigger_mixer_paths.xml
  85. sound_trigger_mixer_paths_tasha_t50.xml
  86. sound_trigger_platform_info.xml
  87. spn-conf.xml
  88. synaptics_dsx.kl
  89. synaptics_dsxv26.idc
  90. synaptics_rmi4_i2c.kl
  91. system.prop
  92. thermal-engine-marlin-vr.conf
  93. thermal-engine-marlin.conf
  94. ueventd.common.rc
  95. uinput-fpc.idc
  96. uinput-fpc.kl
  97. vendorsetup.sh
  98. vold.fstab
  99. WCNSS_cfg.dat
  100. WCNSS_qcom_cfg.ini
  101. WCNSS_qcom_wlan_nv.bin
  102. wpa_supplicant_overlay.conf
  103. wpa_supplicant_wcn.conf