[libcamera-devel,11/11] libcamera: ipa: Remove IPAModuleInfo license field

Message ID 20200404015624.30440-12-laurent.pinchart@ideasonboard.com
State Superseded
Headers show
Series
  • Sign IPA modules instead of checking their advertised license
Related show

Commit Message

Laurent Pinchart April 4, 2020, 1:56 a.m. UTC
The IPAModuleInfo license field isn't needed anymore now that modules
are cryptographically signed. Remove it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 include/ipa/ipa_module_info.h |  1 -
 src/ipa/rkisp1/rkisp1.cpp     |  1 -
 src/ipa/vimc/meson.build      |  3 +--
 src/ipa/vimc/vimc.cpp         |  1 -
 src/libcamera/ipa_module.cpp  | 21 ---------------------
 test/ipa/ipa_module_test.cpp  |  1 -
 6 files changed, 1 insertion(+), 27 deletions(-)

Comments

Niklas Söderlund April 7, 2020, 8:39 p.m. UTC | #1
Hi Laurent,

Thanks for your work.

On 2020-04-04 04:56:24 +0300, Laurent Pinchart wrote:
> The IPAModuleInfo license field isn't needed anymore now that modules
> are cryptographically signed. Remove it.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

I like how this saves us from keeping an up-to-date list with licences 
that are open enough to be trusted to run without isolation.

Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>

> ---
>  include/ipa/ipa_module_info.h |  1 -
>  src/ipa/rkisp1/rkisp1.cpp     |  1 -
>  src/ipa/vimc/meson.build      |  3 +--
>  src/ipa/vimc/vimc.cpp         |  1 -
>  src/libcamera/ipa_module.cpp  | 21 ---------------------
>  test/ipa/ipa_module_test.cpp  |  1 -
>  6 files changed, 1 insertion(+), 27 deletions(-)
> 
> diff --git a/include/ipa/ipa_module_info.h b/include/ipa/ipa_module_info.h
> index 7ecd149566be..3b1c37d2a7f1 100644
> --- a/include/ipa/ipa_module_info.h
> +++ b/include/ipa/ipa_module_info.h
> @@ -18,7 +18,6 @@ struct IPAModuleInfo {
>  	uint32_t pipelineVersion;
>  	char pipelineName[256];
>  	char name[256];
> -	char license[64];
>  } __attribute__((packed));
>  
>  extern "C" {
> diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp
> index 438b3c66f77a..ffa7191ba21e 100644
> --- a/src/ipa/rkisp1/rkisp1.cpp
> +++ b/src/ipa/rkisp1/rkisp1.cpp
> @@ -273,7 +273,6 @@ const struct IPAModuleInfo ipaModuleInfo = {
>  	1,
>  	"PipelineHandlerRkISP1",
>  	"RkISP1 IPA",
> -	"LGPL-2.1-or-later",
>  };
>  
>  struct ipa_context *ipaCreate()
> diff --git a/src/ipa/vimc/meson.build b/src/ipa/vimc/meson.build
> index 3097a12f964a..3c932aa7aaad 100644
> --- a/src/ipa/vimc/meson.build
> +++ b/src/ipa/vimc/meson.build
> @@ -7,8 +7,7 @@ mod = shared_module(ipa_name,
>                      dependencies : libcamera_dep,
>                      link_with : libipa,
>                      install : true,
> -                    install_dir : ipa_install_dir,
> -                    cpp_args : '-DLICENSE="LGPL-2.1-or-later"')
> +                    install_dir : ipa_install_dir)
>  
>  custom_target(ipa_name + '.so.sign',
>                input : mod,
> diff --git a/src/ipa/vimc/vimc.cpp b/src/ipa/vimc/vimc.cpp
> index 6e2095b56bbc..b11d42c57696 100644
> --- a/src/ipa/vimc/vimc.cpp
> +++ b/src/ipa/vimc/vimc.cpp
> @@ -107,7 +107,6 @@ const struct IPAModuleInfo ipaModuleInfo = {
>  	0,
>  	"PipelineHandlerVimc",
>  	"Dummy IPA for Vimc",
> -	LICENSE,
>  };
>  
>  struct ipa_context *ipaCreate()
> diff --git a/src/libcamera/ipa_module.cpp b/src/libcamera/ipa_module.cpp
> index 96b44f13192c..958ede74688e 100644
> --- a/src/libcamera/ipa_module.cpp
> +++ b/src/libcamera/ipa_module.cpp
> @@ -216,27 +216,6 @@ Span<uint8_t> elfLoadSymbol(Span<uint8_t> elf, const char *symbol)
>   * \var IPAModuleInfo::name
>   * \brief The name of the IPA module
>   *
> - * \var IPAModuleInfo::license
> - * \brief License of the IPA module
> - *
> - * This license is used to determine whether to force isolation of the IPA in
> - * a separate process. If the license is "Proprietary", then the IPA will
> - * be isolated. If the license is open-source, then the IPA will be allowed to
> - * run without isolation if the user enables it. The license should be an
> - * SPDX license string. The following licenses are currently available to
> - * allow the IPA to run unisolated:
> - *
> - * - GPL-2.0-only
> - * - GPL-2.0-or-later
> - * - GPL-3.0-only
> - * - GPL-3.0-or-later
> - * - LGPL-2.1-only
> - * - LGPL-2.1-or-later
> - * - LGPL-3.0-only
> - * - LGPL-3.0-or-later
> - *
> - * Any other license will cause the IPA to be run isolated.
> - *
>   * \todo Allow user to choose to isolate open source IPAs
>   */
>  
> diff --git a/test/ipa/ipa_module_test.cpp b/test/ipa/ipa_module_test.cpp
> index 287e53fdaa8e..d22c302fa726 100644
> --- a/test/ipa/ipa_module_test.cpp
> +++ b/test/ipa/ipa_module_test.cpp
> @@ -59,7 +59,6 @@ protected:
>  			0,
>  			"PipelineHandlerVimc",
>  			"Dummy IPA for Vimc",
> -			"GPL-2.0-or-later",
>  		};
>  
>  		count += runTest("src/ipa/vimc/ipa_vimc.so", testInfo);
> -- 
> Regards,
> 
> Laurent Pinchart
> 
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel@lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel

Patch

diff --git a/include/ipa/ipa_module_info.h b/include/ipa/ipa_module_info.h
index 7ecd149566be..3b1c37d2a7f1 100644
--- a/include/ipa/ipa_module_info.h
+++ b/include/ipa/ipa_module_info.h
@@ -18,7 +18,6 @@  struct IPAModuleInfo {
 	uint32_t pipelineVersion;
 	char pipelineName[256];
 	char name[256];
-	char license[64];
 } __attribute__((packed));
 
 extern "C" {
diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp
index 438b3c66f77a..ffa7191ba21e 100644
--- a/src/ipa/rkisp1/rkisp1.cpp
+++ b/src/ipa/rkisp1/rkisp1.cpp
@@ -273,7 +273,6 @@  const struct IPAModuleInfo ipaModuleInfo = {
 	1,
 	"PipelineHandlerRkISP1",
 	"RkISP1 IPA",
-	"LGPL-2.1-or-later",
 };
 
 struct ipa_context *ipaCreate()
diff --git a/src/ipa/vimc/meson.build b/src/ipa/vimc/meson.build
index 3097a12f964a..3c932aa7aaad 100644
--- a/src/ipa/vimc/meson.build
+++ b/src/ipa/vimc/meson.build
@@ -7,8 +7,7 @@  mod = shared_module(ipa_name,
                     dependencies : libcamera_dep,
                     link_with : libipa,
                     install : true,
-                    install_dir : ipa_install_dir,
-                    cpp_args : '-DLICENSE="LGPL-2.1-or-later"')
+                    install_dir : ipa_install_dir)
 
 custom_target(ipa_name + '.so.sign',
               input : mod,
diff --git a/src/ipa/vimc/vimc.cpp b/src/ipa/vimc/vimc.cpp
index 6e2095b56bbc..b11d42c57696 100644
--- a/src/ipa/vimc/vimc.cpp
+++ b/src/ipa/vimc/vimc.cpp
@@ -107,7 +107,6 @@  const struct IPAModuleInfo ipaModuleInfo = {
 	0,
 	"PipelineHandlerVimc",
 	"Dummy IPA for Vimc",
-	LICENSE,
 };
 
 struct ipa_context *ipaCreate()
diff --git a/src/libcamera/ipa_module.cpp b/src/libcamera/ipa_module.cpp
index 96b44f13192c..958ede74688e 100644
--- a/src/libcamera/ipa_module.cpp
+++ b/src/libcamera/ipa_module.cpp
@@ -216,27 +216,6 @@  Span<uint8_t> elfLoadSymbol(Span<uint8_t> elf, const char *symbol)
  * \var IPAModuleInfo::name
  * \brief The name of the IPA module
  *
- * \var IPAModuleInfo::license
- * \brief License of the IPA module
- *
- * This license is used to determine whether to force isolation of the IPA in
- * a separate process. If the license is "Proprietary", then the IPA will
- * be isolated. If the license is open-source, then the IPA will be allowed to
- * run without isolation if the user enables it. The license should be an
- * SPDX license string. The following licenses are currently available to
- * allow the IPA to run unisolated:
- *
- * - GPL-2.0-only
- * - GPL-2.0-or-later
- * - GPL-3.0-only
- * - GPL-3.0-or-later
- * - LGPL-2.1-only
- * - LGPL-2.1-or-later
- * - LGPL-3.0-only
- * - LGPL-3.0-or-later
- *
- * Any other license will cause the IPA to be run isolated.
- *
  * \todo Allow user to choose to isolate open source IPAs
  */
 
diff --git a/test/ipa/ipa_module_test.cpp b/test/ipa/ipa_module_test.cpp
index 287e53fdaa8e..d22c302fa726 100644
--- a/test/ipa/ipa_module_test.cpp
+++ b/test/ipa/ipa_module_test.cpp
@@ -59,7 +59,6 @@  protected:
 			0,
 			"PipelineHandlerVimc",
 			"Dummy IPA for Vimc",
-			"GPL-2.0-or-later",
 		};
 
 		count += runTest("src/ipa/vimc/ipa_vimc.so", testInfo);