[libcamera-devel,RFC,00/10] Add IPA process isolation
mbox series

Message ID 20190605221817.966-1-paul.elder@ideasonboard.com
Headers show
Series
  • Add IPA process isolation
Related show

Message

Paul Elder June 5, 2019, 10:18 p.m. UTC
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