Working on SoftISP
Find a file
Laurent Pinchart 124336329c libcamera: pipeline: ipu3: Free internal buffers after stopping streaming
The internal buffers between the CIO2 and ImgU are freed by the
CIO2Device::stop() method, which is called first when stopping
streaming. The ImgUDevice::stop() method is then called, and attempts to
report completion for all queued buffers, which we have just freed. The
use-after-free corrupts memory, leading to crashes.

Fix this by moving the vector of internal buffers to the IPU3CameraData
where it belongs, and free the buffers after stopping both devices.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
2019-07-16 08:51:09 +03:00
Documentation libcamera: add IPA proxy 2019-07-12 16:32:29 +09:00
include libcamera: stream: Map external buffers to indexes 2019-07-14 16:01:09 +03:00
licenses licenses: Add the Developer CoO 2019-01-02 21:59:46 +02:00
package/gentoo/media-libs/libcamera package: gentoo: Add libcamera ebuild 2019-05-02 16:36:16 +03:00
src libcamera: pipeline: ipu3: Free internal buffers after stopping streaming 2019-07-16 08:51:09 +03:00
test test: camera: Add buffer import and mapping test 2019-07-14 16:01:11 +03:00
utils libcamera: skip auto version generation when building for Chromium OS 2019-07-11 12:22:40 +09:00
.clang-format clang-format: Remove space after template 2019-02-13 13:23:32 +02:00
.gitignore git: Add .gitignore file 2018-12-14 13:23:07 +00:00
meson.build libcamera: skip auto version generation when building for Chromium OS 2019-07-11 12:22:40 +09:00
meson_options.txt meson: options: Document the options 2019-04-03 11:44:04 +07:00
README.md README: Update build instructions 2018-11-26 15:52:21 +00:00

libcamera: A complex camera support library for Linux, Android, and ChromeOS

To build and install:

  meson build
  cd build
  ninja
  ninja install