[{"id":28294,"web_url":"https://patchwork.libcamera.org/comment/28294/","msgid":"<170230232036.2829918.3867428930951146288@ping.linuxembedded.co.uk>","date":"2023-12-11T13:45:20","subject":"Re: [libcamera-devel] [PATCH] utils: ipc: Fix deserialization of\n\tmultiple fd parameters","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Paul Elder via libcamera-devel (2023-12-11 10:56:38)\n> There was a bug where the code generated for deserialization of function\n> parameters would fail if there were multiple file descriptor parameters.\n\nWhy? It's hard to decifer that code change. Probably especially as\nthere's very little context in the patch.\n\nWas it previously not expecting FileDescriptors in the last entry?\n\n> Fix this.\n\nby ... processing the fds on each iteration?\n\n> \n> Bug: https://bugs.libcamera.org/show_bug.cgi?id=205\n> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>\n> ---\n>  utils/ipc/generators/libcamera_templates/proxy_functions.tmpl | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n> \n> diff --git a/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl b/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl\n> index 2be65d432..b5797b149 100644\n> --- a/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl\n> +++ b/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl\n> @@ -186,7 +186,7 @@ IPADataSerializer<{{param|name}}>::deserialize(\n>  {% for param in params|with_fds %}\n>  {%- if loop.first %}\n>         const size_t {{param.mojom_name}}FdStart = 0;\n> -{%- elif not loop.last %}\n> +{%- else %}\n>         const size_t {{param.mojom_name}}FdStart = {{loop.previtem.mojom_name}}FdStart + {{loop.previtem.mojom_name}}FdsSize;\n>  {%- endif %}\n>  {%- endfor %}\n> -- \n> 2.39.2\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id D2891C31E9\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 11 Dec 2023 13:45:25 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B0CC262B2A;\n\tMon, 11 Dec 2023 14:45:24 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 27403629CE\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 11 Dec 2023 14:45:23 +0100 (CET)","from pendragon.ideasonboard.com\n\t(aztw-30-b2-v4wan-166917-cust845.vm26.cable.virginm.net\n\t[82.37.23.78])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id C4C80842;\n\tMon, 11 Dec 2023 14:44:38 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1702302324;\n\tbh=fTx8L52ZnVveXJxnhMWXEIy1/81RsYCl/djZL1CUYP8=;\n\th=In-Reply-To:References:To:Date:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=kIcUfxM77OVDJp1xY4SDRrk/so/pmNxcSlEslhOQ/eww8R5DHpoNqMvDrVAbYknaE\n\tUEyHjNvh7PsoTcloJ1+m2YEarmKVgy/Y+ogSA2uRFXaMKRXd6m8DSanDk4D9MA3WJH\n\tyu78oRYt3LrYwzC/0Jr96BsQSLYAk8e5gVAwC7YFn/nRLbgAM4vNRDdFQljg0sLI3K\n\tLJHys00pqllWKJIiDEal1o1t30eznyW2dzr2MD3ZtwWgLHKobwZonDGUN7dcQ4OFKk\n\t5Lw89UXi+ZFe1/2YSE5GmZAg5Ijak0sovC9GoJJrXwxOd81uiGYrYuVxAfTzOyZnBC\n\tfn5xGNncjl+Qg==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1702302278;\n\tbh=fTx8L52ZnVveXJxnhMWXEIy1/81RsYCl/djZL1CUYP8=;\n\th=In-Reply-To:References:Subject:From:To:Date:From;\n\tb=SfxoktxDpH2hYk24655yAS8xXUvAae0xJ5RosLKlRXh9v/XSj4LkrQuDuy5AwuNRc\n\t0FPdoqQedi5oFTk3R4NQfD+H17Pl+XMyZj01Q7OYNLeqth5XtnVkN6/TkNUwfy33Yp\n\t1quAKgg+33XJwFE4ESM0x0E60JXlkuP33louKYnE="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"SfxoktxD\"; dkim-atps=neutral","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20231211105638.1787362-1-paul.elder@ideasonboard.com>","References":"<20231211105638.1787362-1-paul.elder@ideasonboard.com>","To":"Paul Elder <paul.elder@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Mon, 11 Dec 2023 13:45:20 +0000","Message-ID":"<170230232036.2829918.3867428930951146288@ping.linuxembedded.co.uk>","User-Agent":"alot/0.10","Subject":"Re: [libcamera-devel] [PATCH] utils: ipc: Fix deserialization of\n\tmultiple fd parameters","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Kieran Bingham via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":28295,"web_url":"https://patchwork.libcamera.org/comment/28295/","msgid":"<ZXgeMexsUZ0CCVZ/@pyrite.rasen.tech>","date":"2023-12-12T08:47:45","subject":"Re: [libcamera-devel] [PATCH] utils: ipc: Fix deserialization of\n\tmultiple fd parameters","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"content":"On Mon, Dec 11, 2023 at 01:45:20PM +0000, Kieran Bingham wrote:\n> Quoting Paul Elder via libcamera-devel (2023-12-11 10:56:38)\n> > There was a bug where the code generated for deserialization of function\n> > parameters would fail if there were multiple file descriptor parameters.\n> \n> Why? It's hard to decifer that code change. Probably especially as\n> there's very little context in the patch.\n\nI suppose more clearly it's \"the deserialization code wouldn't be\ngenerated for the last file descriptor parameter\".\n\n> \n> Was it previously not expecting FileDescriptors in the last entry?\n\nIt was an optimization to get rid of unused code iirc. Evidently I\ndidn't test it with multiple fd parameters.\n\n> \n> > Fix this.\n> \n> by ... processing the fds on each iteration?\n\nYes :) As opposed to skipping the last one.\n\n\nPaul\n\n> \n> > \n> > Bug: https://bugs.libcamera.org/show_bug.cgi?id=205\n> > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>\n> > ---\n> >  utils/ipc/generators/libcamera_templates/proxy_functions.tmpl | 2 +-\n> >  1 file changed, 1 insertion(+), 1 deletion(-)\n> > \n> > diff --git a/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl b/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl\n> > index 2be65d432..b5797b149 100644\n> > --- a/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl\n> > +++ b/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl\n> > @@ -186,7 +186,7 @@ IPADataSerializer<{{param|name}}>::deserialize(\n> >  {% for param in params|with_fds %}\n> >  {%- if loop.first %}\n> >         const size_t {{param.mojom_name}}FdStart = 0;\n> > -{%- elif not loop.last %}\n> > +{%- else %}\n> >         const size_t {{param.mojom_name}}FdStart = {{loop.previtem.mojom_name}}FdStart + {{loop.previtem.mojom_name}}FdsSize;\n> >  {%- endif %}\n> >  {%- endfor %}\n> > -- \n> > 2.39.2\n> >","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 083D3C31E9\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 12 Dec 2023 08:47:57 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3717C62B32;\n\tTue, 12 Dec 2023 09:47:56 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5220461D97\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 12 Dec 2023 09:47:54 +0100 (CET)","from pyrite.rasen.tech (h175-177-049-156.catv02.itscom.jp\n\t[175.177.49.156])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 69392276;\n\tTue, 12 Dec 2023 09:47:08 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1702370876;\n\tbh=2Ud9Yjz/dhOCRNF6k4Umiz2j0cFLxzFsXKdLbdxlxEg=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=bbqbEbR1I9nVhO2PXh5EuLmfShDN4qNeMn4qHcNj6Ug+n0ApIPig8Rr905lpTlkOf\n\tkChCWmpWNcKriRKoAttel+wi7H6MTEOP2G4CU2p8mfgLgAPcxIj6K1EXWblWviWV2D\n\t7JRmJQKuBqt7DC97sGyW6GXbEwTYe4KSoQXjBbVLnwkdEN+7erhYlLiqeAhDy2l5vM\n\tk2XVSCtPQPWbJfmiSODp5vnT4JIY/7Q/2QnXYsX3a119B/Iwl3xJTvYOWNPEnsmXAZ\n\tHM/s9Qi3mnPDueqSn2wJaIL5D0UsPfKRq7fjSvs9Ws5IxjIAyar2eSlg4hw+8kXIOX\n\t0EwW2LwsP3snQ==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1702370829;\n\tbh=2Ud9Yjz/dhOCRNF6k4Umiz2j0cFLxzFsXKdLbdxlxEg=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=Pqv50VkHqP0NZSLnMrlZqGGOw3S7P5HH45WRevPsr8mnUOzPZTQTmbVkNrVXezNS0\n\tBSyfUSxBFDN6udMxmFAmM6HuCO4KR3Iy0WoPrFQcgi6tzX7Wrw6PPlb4qM47/vxEXZ\n\tHxVALukGBapdyIeDaI8R912NE0Nhj0b0AJaePkMw="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"Pqv50VkH\"; dkim-atps=neutral","Date":"Tue, 12 Dec 2023 17:47:45 +0900","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Message-ID":"<ZXgeMexsUZ0CCVZ/@pyrite.rasen.tech>","References":"<20231211105638.1787362-1-paul.elder@ideasonboard.com>\n\t<170230232036.2829918.3867428930951146288@ping.linuxembedded.co.uk>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<170230232036.2829918.3867428930951146288@ping.linuxembedded.co.uk>","Subject":"Re: [libcamera-devel] [PATCH] utils: ipc: Fix deserialization of\n\tmultiple fd parameters","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Paul Elder via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Paul Elder <paul.elder@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":28348,"web_url":"https://patchwork.libcamera.org/comment/28348/","msgid":"<9053bf97-4918-4eb2-9c52-10869b1ab978@linaro.org>","date":"2023-12-19T21:13:43","subject":"Re: [libcamera-devel] [PATCH] utils: ipc: Fix deserialization of\n\tmultiple fd parameters","submitter":{"id":25,"url":"https://patchwork.libcamera.org/api/people/25/","name":"Andrey Konovalov","email":"andrey.konovalov@linaro.org"},"content":"Hi Paul,\n\nOn 11.12.2023 13:56, Paul Elder wrote:\n> There was a bug where the code generated for deserialization of function\n> parameters would fail if there were multiple file descriptor parameters.\n> Fix this.\n> \n> Bug: https://bugs.libcamera.org/show_bug.cgi?id=205\n> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>\n\nTested-by: Andrey Konovalov <andrey.konovalov@linaro.org>\n\n> ---\n>   utils/ipc/generators/libcamera_templates/proxy_functions.tmpl | 2 +-\n>   1 file changed, 1 insertion(+), 1 deletion(-)\n> \n> diff --git a/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl b/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl\n> index 2be65d432..b5797b149 100644\n> --- a/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl\n> +++ b/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl\n> @@ -186,7 +186,7 @@ IPADataSerializer<{{param|name}}>::deserialize(\n>   {% for param in params|with_fds %}\n>   {%- if loop.first %}\n>   \tconst size_t {{param.mojom_name}}FdStart = 0;\n> -{%- elif not loop.last %}\n> +{%- else %}\n>   \tconst size_t {{param.mojom_name}}FdStart = {{loop.previtem.mojom_name}}FdStart + {{loop.previtem.mojom_name}}FdsSize;\n>   {%- endif %}\n>   {%- endfor %}","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id BB85BC3237\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 19 Dec 2023 21:13:47 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D756762B40;\n\tTue, 19 Dec 2023 22:13:46 +0100 (CET)","from mail-wr1-x436.google.com (mail-wr1-x436.google.com\n\t[IPv6:2a00:1450:4864:20::436])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A640E61D92\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 19 Dec 2023 22:13:45 +0100 (CET)","by mail-wr1-x436.google.com with SMTP id\n\tffacd0b85a97d-33664b4e038so2889925f8f.3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 19 Dec 2023 13:13:45 -0800 (PST)","from [192.168.118.20] ([87.116.160.1])\n\tby smtp.gmail.com with ESMTPSA id\n\tiw12-20020a05600c54cc00b0040b4c59f133sm4222454wmb.1.2023.12.19.13.13.44\n\t(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n\tTue, 19 Dec 2023 13:13:44 -0800 (PST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1703020426;\n\tbh=DcDCGwK1paOchpseBOC+jvfSfP+dpgA7xiM+8S5kM0w=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=HvYw0zlq+O6+IoXtuPMJLJ4J/jJGKxZ1I+U9WtT/pM1tDKwT+ZYeQB/KbuSuaTQeR\n\tvt6aL5FCx1U++w3BlG4HEg1fu7CUq+3dBjs7zoMR5xUJTKAX3JTRNMA6m5I+Yl0Dzg\n\tnMZj5piZhcQWT6UY/gNKt9Ind0vCREbLsy5LizArma7pB3Hg5ok6RKjjkWtRtBrQO9\n\tOMaqMlTgeVzx8cIQRN1xS47rz2+lKzU8WMb1VbN9jnwdQq3jGzHjOPq8WWKs4ydP0H\n\tO/BiGL2DC/3T7IMuQrg40yoxml9cxfQ3RkPT7hqLTX0oLacilGQXxEoKLn0LHPuMU9\n\tYeP0Oqhjvp/Xw==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=linaro.org; s=google; t=1703020425; x=1703625225;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:in-reply-to:from:content-language\n\t:references:to:subject:user-agent:mime-version:date:message-id:from\n\t:to:cc:subject:date:message-id:reply-to;\n\tbh=VshHje7aUkS7YCUEXe6mxjRmNt3P09dhEixdbOxpHuw=;\n\tb=kXmdTJvoULM/9StIeKfvHLG5+xI07d6o5WcYoU2KqccpNA7rlWnt02T+HSDrAVPHt5\n\tONbMm39ywa7jrftdgMxy52SjABBj7Gu1LX2dwl3IyjX6iuf68MCE9N2zzqaF08aHzWER\n\tizGSs27oYQN3jMTIdfChUdCAEbyy0HdTPE70jDDJpCMtdWrxmDr3PteND8GvKGknvShR\n\tEJzob+z0T1XJkmD7+1Mzyvz7YYjY+HnUwIdgSWYx1+JCe2ewn1PWNOiwgGcMR6/uURFB\n\txDBqVqm8lwkAqEXFumBhiN98qZSLEJOJsVZP2i4k4Yw9FqaMFMMBms9ZwDrQxtzVw/ys\n\trsyw=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=linaro.org\n\theader.i=@linaro.org header.b=\"kXmdTJvo\"; \n\tdkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1703020425; x=1703625225;\n\th=content-transfer-encoding:in-reply-to:from:content-language\n\t:references:to:subject:user-agent:mime-version:date:message-id\n\t:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;\n\tbh=VshHje7aUkS7YCUEXe6mxjRmNt3P09dhEixdbOxpHuw=;\n\tb=iklkHVAnzdZJ8XtQme6pHEbuP+solqN5UY2yV+UwUxWQ7dk7AiKymsJzw37iICJXgK\n\tSZRq+LFyxwhkRNtLHFRW40EYqvkZyihNKjvEjNJPpYP3sPrW5LARRpl9q36j6JagudCO\n\thJ48rYCTm7HVHPyZe3ZQi+HSWuXHB3w7oKEXx2rJDai4wvp2+sXbpuG/qNDHfjJCUiDe\n\tITq0JzGg8vdyRG7P6uUqKlPCGF9MYnrUgIPmdnVD0yvxFSPbyfiuHrJl4RdkgszhzgRg\n\tzm/WUgtDgn3gtnq05dwBzZ+n/m48wQUk9/Wv3sn4leFeQhQfiY7C6WGqcwSA1Bxw6Ez5\n\tpoMQ==","X-Gm-Message-State":"AOJu0YwxEwh+8U1uS1zU1J3w2IXK9FQgQ5Z+zenU9mVu6CN7m83S36/R\n\t8ZmThfwPJNRRLF7IK9AhnLDltA==","X-Google-Smtp-Source":"AGHT+IEXiRAl1hpOSIqCAAJHwSidWhKryelVMokhEYoyFOF9toA4MryiAli/aRTHeayuhb99Nj7/KA==","X-Received":"by 2002:a05:600c:4d0e:b0:40c:23ed:6d69 with SMTP id\n\tu14-20020a05600c4d0e00b0040c23ed6d69mr8946781wmp.42.1703020425055; \n\tTue, 19 Dec 2023 13:13:45 -0800 (PST)","Message-ID":"<9053bf97-4918-4eb2-9c52-10869b1ab978@linaro.org>","Date":"Wed, 20 Dec 2023 00:13:43 +0300","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","To":"Paul Elder <paul.elder@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20231211105638.1787362-1-paul.elder@ideasonboard.com>","Content-Language":"en-US","In-Reply-To":"<20231211105638.1787362-1-paul.elder@ideasonboard.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH] utils: ipc: Fix deserialization of\n\tmultiple fd parameters","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Andrey Konovalov via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Andrey Konovalov <andrey.konovalov@linaro.org>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":28414,"web_url":"https://patchwork.libcamera.org/comment/28414/","msgid":"<170480480012.3044059.14016716886904556694@ping.linuxembedded.co.uk>","date":"2024-01-09T12:53:20","subject":"Re: [libcamera-devel] [PATCH] utils: ipc: Fix deserialization of\n\tmultiple fd parameters","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Paul Elder (2023-12-12 08:47:45)\n> On Mon, Dec 11, 2023 at 01:45:20PM +0000, Kieran Bingham wrote:\n> > Quoting Paul Elder via libcamera-devel (2023-12-11 10:56:38)\n> > > There was a bug where the code generated for deserialization of function\n> > > parameters would fail if there were multiple file descriptor parameters.\n> > \n> > Why? It's hard to decifer that code change. Probably especially as\n> > there's very little context in the patch.\n> \n> I suppose more clearly it's \"the deserialization code wouldn't be\n> generated for the last file descriptor parameter\".\n> \n> > \n> > Was it previously not expecting FileDescriptors in the last entry?\n> \n> It was an optimization to get rid of unused code iirc. Evidently I\n> didn't test it with multiple fd parameters.\n> \n> > \n> > > Fix this.\n> > \n> > by ... processing the fds on each iteration?\n> \n> Yes :) As opposed to skipping the last one.\n\nOk, then:\n\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\nI think an updated commit message could help here:\n\n\"\"\"\nThe IPADataSerializer::deserialiser attempts to optimise code paths and\nremove potentially unused code where multiple File Descriptors were not\nexpected to be utilised.\n\nThe addition of multiple SharedFD entries in the IPC highlights this as\na bug. \n\nClean up the conditionals to ensure that all File Descriptors are\ncorrectly deserialized.\n\"\"\"\n\nAny objections?\n\n> \n> \n> Paul\n> \n> > \n> > > \n> > > Bug: https://bugs.libcamera.org/show_bug.cgi?id=205\n> > > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>\n> > > ---\n> > >  utils/ipc/generators/libcamera_templates/proxy_functions.tmpl | 2 +-\n> > >  1 file changed, 1 insertion(+), 1 deletion(-)\n> > > \n> > > diff --git a/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl b/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl\n> > > index 2be65d432..b5797b149 100644\n> > > --- a/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl\n> > > +++ b/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl\n> > > @@ -186,7 +186,7 @@ IPADataSerializer<{{param|name}}>::deserialize(\n> > >  {% for param in params|with_fds %}\n> > >  {%- if loop.first %}\n> > >         const size_t {{param.mojom_name}}FdStart = 0;\n> > > -{%- elif not loop.last %}\n> > > +{%- else %}\n> > >         const size_t {{param.mojom_name}}FdStart = {{loop.previtem.mojom_name}}FdStart + {{loop.previtem.mojom_name}}FdsSize;\n> > >  {%- endif %}\n> > >  {%- endfor %}\n> > > -- \n> > > 2.39.2\n> > >","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 850F0C323E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  9 Jan 2024 12:53:25 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2A9BA62B32;\n\tTue,  9 Jan 2024 13:53:25 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 0726661D7B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  9 Jan 2024 13:53:23 +0100 (CET)","from pendragon.ideasonboard.com\n\t(aztw-30-b2-v4wan-166917-cust845.vm26.cable.virginm.net\n\t[82.37.23.78])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 08575552;\n\tTue,  9 Jan 2024 13:52:19 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1704804805;\n\tbh=K7F3zsM64bfSVhIO5KNhoSfOK3VcHQqYXECvowE6yXI=;\n\th=In-Reply-To:References:To:Date:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=kKn7rsX97JuW14e3R9bBxkkk6J7eaa3vSoiFr18Exc7sxyyaV9awcG0vVDjQeNG8w\n\trCcW1WtR3yU2F4280xun98kHfw6zccIxmgmya9YJeKQzpiSCAqSjMyyu4S3PSxdugu\n\trYrD3kz9jnqwo+J4HCM8sqAfwKgeod9y6vfXMvq8e+mSTNLdmRWyY4DlVQmblhbVrX\n\tHcvu5MHXgOFIVdN84ZqgqiDuPjXavPOUhWhKMZJMHrntmRpYnQ9Y34iTw6HMyKwaUr\n\tcr2XtgFf7qtvzVHaf7cfF8Ji7Ls5lnWHRWgqrvc80og16zgXjrDRCwrwDcug7iyuUZ\n\tps7rhNue7c4Nw==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1704804739;\n\tbh=K7F3zsM64bfSVhIO5KNhoSfOK3VcHQqYXECvowE6yXI=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=Mv+zgWlrxHsuD9Kk9jvaqgFM69XIJEuiEZ7lXRJgsRVByDl/Al23Ksnb4r0isChJq\n\tDCmftFOpbQdkKK3nVSnJY9rSKNnjl+wamNB4dOffM0LSmplXpsdEVrXbjPc4Z2/gtx\n\txEb+V5EQuX7MLgml/xS2sSFjcl/s99hJqN+Puq14="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"Mv+zgWlr\"; dkim-atps=neutral","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<ZXgeMexsUZ0CCVZ/@pyrite.rasen.tech>","References":"<20231211105638.1787362-1-paul.elder@ideasonboard.com>\n\t<170230232036.2829918.3867428930951146288@ping.linuxembedded.co.uk>\n\t<ZXgeMexsUZ0CCVZ/@pyrite.rasen.tech>","To":"Paul Elder <paul.elder@ideasonboard.com>","Date":"Tue, 09 Jan 2024 12:53:20 +0000","Message-ID":"<170480480012.3044059.14016716886904556694@ping.linuxembedded.co.uk>","User-Agent":"alot/0.10","Subject":"Re: [libcamera-devel] [PATCH] utils: ipc: Fix deserialization of\n\tmultiple fd parameters","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Kieran Bingham via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":28415,"web_url":"https://patchwork.libcamera.org/comment/28415/","msgid":"<20240109130025.GA17461@pendragon.ideasonboard.com>","date":"2024-01-09T13:00:25","subject":"Re: [libcamera-devel] [PATCH] utils: ipc: Fix deserialization of\n\tmultiple fd parameters","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Tue, Jan 09, 2024 at 12:53:20PM +0000, Kieran Bingham via libcamera-devel wrote:\n> Quoting Paul Elder (2023-12-12 08:47:45)\n> > On Mon, Dec 11, 2023 at 01:45:20PM +0000, Kieran Bingham wrote:\n> > > Quoting Paul Elder via libcamera-devel (2023-12-11 10:56:38)\n> > > > There was a bug where the code generated for deserialization of function\n> > > > parameters would fail if there were multiple file descriptor parameters.\n> > > \n> > > Why? It's hard to decifer that code change. Probably especially as\n> > > there's very little context in the patch.\n> > \n> > I suppose more clearly it's \"the deserialization code wouldn't be\n> > generated for the last file descriptor parameter\".\n> > \n> > > Was it previously not expecting FileDescriptors in the last entry?\n> > \n> > It was an optimization to get rid of unused code iirc. Evidently I\n> > didn't test it with multiple fd parameters.\n> > \n> > > > Fix this.\n> > > \n> > > by ... processing the fds on each iteration?\n> > \n> > Yes :) As opposed to skipping the last one.\n> \n> Ok, then:\n> \n> \n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> \n> I think an updated commit message could help here:\n> \n> \"\"\"\n> The IPADataSerializer::deserialiser attempts to optimise code paths and\n> remove potentially unused code where multiple File Descriptors were not\n> expected to be utilised.\n> \n> The addition of multiple SharedFD entries in the IPC highlights this as\n> a bug. \n> \n> Clean up the conditionals to ensure that all File Descriptors are\n> correctly deserialized.\n> \"\"\"\n> \n> Any objections?\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> > > > Bug: https://bugs.libcamera.org/show_bug.cgi?id=205\n> > > > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>\n> > > > ---\n> > > >  utils/ipc/generators/libcamera_templates/proxy_functions.tmpl | 2 +-\n> > > >  1 file changed, 1 insertion(+), 1 deletion(-)\n> > > > \n> > > > diff --git a/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl b/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl\n> > > > index 2be65d432..b5797b149 100644\n> > > > --- a/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl\n> > > > +++ b/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl\n> > > > @@ -186,7 +186,7 @@ IPADataSerializer<{{param|name}}>::deserialize(\n> > > >  {% for param in params|with_fds %}\n> > > >  {%- if loop.first %}\n> > > >         const size_t {{param.mojom_name}}FdStart = 0;\n> > > > -{%- elif not loop.last %}\n> > > > +{%- else %}\n> > > >         const size_t {{param.mojom_name}}FdStart = {{loop.previtem.mojom_name}}FdStart + {{loop.previtem.mojom_name}}FdsSize;\n> > > >  {%- endif %}\n> > > >  {%- endfor %}","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 0140BBDB1D\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  9 Jan 2024 13:00:18 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 25D6662B41;\n\tTue,  9 Jan 2024 14:00:18 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5276361D7B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  9 Jan 2024 14:00:16 +0100 (CET)","from pendragon.ideasonboard.com (213-243-189-158.bb.dnainternet.fi\n\t[213.243.189.158])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id F2FD0552;\n\tTue,  9 Jan 2024 13:59:11 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1704805218;\n\tbh=kKU/8bvKZFS0R8LTdkajGB3h4y6rplMOktgNIgBPmG0=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=aUTOCCMWYsME8gTEn/dC2lnv10e1dMKEQO6kejwb0z0dPTzmPwgFqmta6WB+fIJus\n\tAt/J1IGJKYB+632zlxjDy/xqMcZjAUNMOpuRvU0pYtFJEha0kjcE5WkAeW1+nhlhps\n\tpPLzjU2b0xJiQfE8EHi4ZN4JamQvNn/QxZLSc0JMrn6y5bsk8szowgi+WIeocN2DC2\n\t4DCMHrB9AlEMn8Fn4GO687N0K8SAcNzumk9ekNx/i6pGs94J6jIZFzNtznu7KY3+cP\n\tdrO58WMq6fB93AfIxWOnMacVz+9fIrTbKisD2BfkregsiAzE4Z4QshcvDRR2KvxCMc\n\tpTXM5lVp4BBYg==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1704805152;\n\tbh=kKU/8bvKZFS0R8LTdkajGB3h4y6rplMOktgNIgBPmG0=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=LU4y09jRNS+zrHqFVjuSc0sBIh3mp5ZE3ATtKl0FvjokynWE/xCQSJrdTNHzE7yJw\n\tvfRahASMehcznlHypQGZx3xfp4rfKM2UgTTodTbelSTRk4ZvUq9LT+AgmF+YPJKU2d\n\t+6alrlGyOWDsvj5n1BfYQ3ZqMyEHn0G+0lk8YBEg="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"LU4y09jR\"; dkim-atps=neutral","Date":"Tue, 9 Jan 2024 15:00:25 +0200","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Message-ID":"<20240109130025.GA17461@pendragon.ideasonboard.com>","References":"<20231211105638.1787362-1-paul.elder@ideasonboard.com>\n\t<170230232036.2829918.3867428930951146288@ping.linuxembedded.co.uk>\n\t<ZXgeMexsUZ0CCVZ/@pyrite.rasen.tech>\n\t<170480480012.3044059.14016716886904556694@ping.linuxembedded.co.uk>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<170480480012.3044059.14016716886904556694@ping.linuxembedded.co.uk>","Subject":"Re: [libcamera-devel] [PATCH] utils: ipc: Fix deserialization of\n\tmultiple fd parameters","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":28416,"web_url":"https://patchwork.libcamera.org/comment/28416/","msgid":"<ZZ1EbHU2zgMw-aHX@pyrite.rasen.tech>","date":"2024-01-09T13:04:44","subject":"Re: [libcamera-devel] [PATCH] utils: ipc: Fix deserialization of\n\tmultiple fd parameters","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"content":"On Tue, Jan 09, 2024 at 12:53:20PM +0000, Kieran Bingham wrote:\n> Quoting Paul Elder (2023-12-12 08:47:45)\n> > On Mon, Dec 11, 2023 at 01:45:20PM +0000, Kieran Bingham wrote:\n> > > Quoting Paul Elder via libcamera-devel (2023-12-11 10:56:38)\n> > > > There was a bug where the code generated for deserialization of function\n> > > > parameters would fail if there were multiple file descriptor parameters.\n> > > \n> > > Why? It's hard to decifer that code change. Probably especially as\n> > > there's very little context in the patch.\n> > \n> > I suppose more clearly it's \"the deserialization code wouldn't be\n> > generated for the last file descriptor parameter\".\n> > \n> > > \n> > > Was it previously not expecting FileDescriptors in the last entry?\n> > \n> > It was an optimization to get rid of unused code iirc. Evidently I\n> > didn't test it with multiple fd parameters.\n> > \n> > > \n> > > > Fix this.\n> > > \n> > > by ... processing the fds on each iteration?\n> > \n> > Yes :) As opposed to skipping the last one.\n> \n> Ok, then:\n> \n> \n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\nThanks.\n\n> \n> I think an updated commit message could help here:\n> \n> \"\"\"\n> The IPADataSerializer::deserialiser attempts to optimise code paths and\n\ns/deserialiser/deserializer/\n\n> remove potentially unused code where multiple File Descriptors were not\n> expected to be utilised.\n\nNot quite... it optimized the generated code to not deserialize the\n*last* file descriptor when there were multiple fds directly in the\nparameters of an IPC call.\n\n> The addition of multiple SharedFD entries in the IPC highlights this as\n> a bug. \n> \n> Clean up the conditionals to ensure that all File Descriptors are\n> correctly deserialized.\n\nYes.\n\n> \"\"\"\n> \n> Any objections?\n\nJust that one up there.\n\n\nThanks,\n\nPaul\n\n> \n> > \n> > \n> > Paul\n> > \n> > > \n> > > > \n> > > > Bug: https://bugs.libcamera.org/show_bug.cgi?id=205\n> > > > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>\n> > > > ---\n> > > >  utils/ipc/generators/libcamera_templates/proxy_functions.tmpl | 2 +-\n> > > >  1 file changed, 1 insertion(+), 1 deletion(-)\n> > > > \n> > > > diff --git a/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl b/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl\n> > > > index 2be65d432..b5797b149 100644\n> > > > --- a/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl\n> > > > +++ b/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl\n> > > > @@ -186,7 +186,7 @@ IPADataSerializer<{{param|name}}>::deserialize(\n> > > >  {% for param in params|with_fds %}\n> > > >  {%- if loop.first %}\n> > > >         const size_t {{param.mojom_name}}FdStart = 0;\n> > > > -{%- elif not loop.last %}\n> > > > +{%- else %}\n> > > >         const size_t {{param.mojom_name}}FdStart = {{loop.previtem.mojom_name}}FdStart + {{loop.previtem.mojom_name}}FdsSize;\n> > > >  {%- endif %}\n> > > >  {%- endfor %}\n> > > > -- \n> > > > 2.39.2\n> > > >","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id D1A25C323E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  9 Jan 2024 13:04:55 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1A4AB62B49;\n\tTue,  9 Jan 2024 14:04:55 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id BE2AA61D7B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  9 Jan 2024 14:04:53 +0100 (CET)","from pyrite.rasen.tech (h175-177-049-156.catv02.itscom.jp\n\t[175.177.49.156])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 357B7922;\n\tTue,  9 Jan 2024 14:03:47 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1704805495;\n\tbh=kjK9PLlldTLvEYMLrHQk2aekelpr0Vk5q9IsjVRt/vs=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=Ip403r7+kLNGKVrjprqFcsYIdbKCIdZSa1jnhW0PRhBO0ryfcb2O2EsnvUwyIZGBK\n\taO2OjQeugo523MxY/fXiCHIp7Z6Y5HDvzVePvB221I5qA/ff3ux+BzOV5KDYTtbfl5\n\t2ATw2jCgiyLRoAOutEvSySeJLFSyql1UkOOUsIfcYWH9mmxApT32ozYclblB0Tj0LC\n\tQDi3uwTXcvd9vQ7BWi1E0L0HUd0pJNs1+NWqU6lcMgtZQhThljPvx/V1gFGBRkkv/t\n\tijOCq8cMOmjdYcOEZ8VSlt5PqWTrEsJLvH6z+SmDjyqfPRthGxmdGbQiiZqdO5jhN6\n\tjN7rjen3GLT8Q==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1704805429;\n\tbh=kjK9PLlldTLvEYMLrHQk2aekelpr0Vk5q9IsjVRt/vs=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=Mn42h1YZwhANmv0VGvbjYcyDYBK98RSg19XUwSGBPh3gHf9tpiv8oVw6WZ+NtWCGe\n\t/OJHQoMEcka1r8FS5VM21R/nKyU61ljetMDWI8BKUJNG65PUmP/IG6KrklNHZCkuai\n\tJcjEUeNfG73vKUm+SvTJxjmk2/l24vDMTfHNDqjE="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"Mn42h1YZ\"; dkim-atps=neutral","Date":"Tue, 9 Jan 2024 22:04:44 +0900","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Message-ID":"<ZZ1EbHU2zgMw-aHX@pyrite.rasen.tech>","References":"<20231211105638.1787362-1-paul.elder@ideasonboard.com>\n\t<170230232036.2829918.3867428930951146288@ping.linuxembedded.co.uk>\n\t<ZXgeMexsUZ0CCVZ/@pyrite.rasen.tech>\n\t<170480480012.3044059.14016716886904556694@ping.linuxembedded.co.uk>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<170480480012.3044059.14016716886904556694@ping.linuxembedded.co.uk>","Subject":"Re: [libcamera-devel] [PATCH] utils: ipc: Fix deserialization of\n\tmultiple fd parameters","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Paul Elder via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Paul Elder <paul.elder@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]