[libcamera-devel] [PATCH v2 1/2] libcamera: ipa_manager: Only parse IPA modules

Laurent Pinchart laurent.pinchart at ideasonboard.com
Thu May 4 17:10:17 CEST 2023


Hi Kieran,

Thank you for the patch.

On Thu, May 04, 2023 at 03:48:00PM +0100, Kieran Bingham via libcamera-devel wrote:
> Ensure that when we iterate the libcamera libdir we only select shared
> objects which are expected to be IPA modules, with an ipa_ prefix.
> 
> Any shared object not matching this filter is ignored and not processed
> by the IPA Manager.
> 
> Reviewed-by: Javier Martinez Canillas <javierm at redhat.com>
> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

I wonder what this protects against, as there shouldn't be other files
in this directory, especially if we move IPA modules to an ipa/
subdirectory. I don't mind much, as this isn't a hot path, so I have no
objection if you want to merge this, but is it useful ?

> ---
>  src/libcamera/ipa_manager.cpp | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/src/libcamera/ipa_manager.cpp b/src/libcamera/ipa_manager.cpp
> index 030ef43fb994..c0c2f027e902 100644
> --- a/src/libcamera/ipa_manager.cpp
> +++ b/src/libcamera/ipa_manager.cpp
> @@ -206,6 +206,10 @@ void IPAManager::parseDir(const char *libDir, unsigned int maxDepth,
>  		if (strcmp(&ent->d_name[offset], ".so"))
>  			continue;
>  
> +		/* Ignore any modules which are not IPAs. */
> +		if (strncmp(ent->d_name, "ipa_", 4) != 0)
> +			continue;
> +
>  		files.push_back(std::string(libDir) + "/" + ent->d_name);
>  	}
>  

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list