[libcamera-devel] [PATCH] libcamera: process: Fail loudly on isolate

Niklas Söderlund niklas.soderlund at ragnatech.se
Sat Jul 20 15:07:24 CEST 2019


Hi Jacopo,

Thanks for your work.

On 2019-07-19 10:05:56 +0200, Jacopo Mondi wrote:
> Add an error debug message when disassociating part of a process
> execution context using unshare fails.
> 
> As this is currently used to isolate a child process which is
> immediately terminated silently if unshare fails, add a debug printout
> and propagate up the error code to make the failure more visible.
> 
> Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>

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

> ---
>  src/libcamera/process.cpp | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/src/libcamera/process.cpp b/src/libcamera/process.cpp
> index 6c41da219f05..ab716a9cd57f 100644
> --- a/src/libcamera/process.cpp
> +++ b/src/libcamera/process.cpp
> @@ -306,7 +306,15 @@ void Process::closeAllFdsExcept(const std::vector<int> &fds)
> 
>  int Process::isolate()
>  {
> -	return unshare(CLONE_NEWUSER | CLONE_NEWNET);
> +	int ret = unshare(CLONE_NEWUSER | CLONE_NEWNET);
> +	if (ret) {
> +		ret = -errno;
> +		LOG(Process, Error) << "Failed to unshare execution context: "
> +				    << strerror(-ret);
> +		return ret;
> +	}
> +
> +	return 0;
>  }
> 
>  /**
> --
> 2.21.0
> 
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel

-- 
Regards,
Niklas Söderlund


More information about the libcamera-devel mailing list