[libcamera-devel] [RFC PATCH 00/10] Add IPA process isolation

Paul Elder paul.elder at ideasonboard.com
Thu Jun 6 00:18:07 CEST 2019


We need to be able to isolate untrusted IPA implementations into a
separate process. To achieve this, we use an IPA shim, that acts like a
regular IPAInterface to the pipeline handler, but will initialize and
communicate with the real IPA module in a separate, isolated process.

Paul Elder (10):
  libcamera: ipa_module_info: remove cplusplus guards
  libcamera: ipa_module: add path getter
  libcamera: ipa_module: add loading error messages
  libcamera: ipa_interface: add init for shims
  libcamera: ipa_module_info: add field for isolation
  libcamera: ipa_manager: add shims
  libcamera: ipa: shim: add dummy shim
  libcamera: ipa: add dummy IPA that needs to be isolated
  libcamera: ipa: meson: build dummy IPA and shim
  libcamera: ipa: shim: load IPA module into an IPAInterface

 include/libcamera/ipa/ipa_interface.h   |   1 +
 include/libcamera/ipa/ipa_module_info.h |  11 +-
 src/ipa/ipa_dummy.cpp                   |   1 +
 src/ipa/ipa_dummy_isolate.cpp           |  46 +++++++++
 src/ipa/meson.build                     |  22 ++--
 src/ipa/shim_dummy.cpp                  | 128 ++++++++++++++++++++++++
 src/libcamera/include/ipa_manager.h     |   1 +
 src/libcamera/include/ipa_module.h      |   1 +
 src/libcamera/ipa_manager.cpp           |  34 ++++++-
 src/libcamera/ipa_module.cpp            |  25 +++++
 test/ipa/ipa_test.cpp                   |   1 +
 11 files changed, 251 insertions(+), 20 deletions(-)
 create mode 100644 src/ipa/ipa_dummy_isolate.cpp
 create mode 100644 src/ipa/shim_dummy.cpp

-- 
2.20.1



More information about the libcamera-devel mailing list