[{"id":21407,"web_url":"https://patchwork.libcamera.org/comment/21407/","msgid":"<CAO5uPHOr6y4edR8Xgr1GOTo11XkCT_Pr4=Caah2EWXazqa-2rw@mail.gmail.com>","date":"2021-11-30T05:19:00","subject":"Re: [libcamera-devel] [PATCH v4 11/22] libcamera: ipc_unixsocket:\n\tFix file descriptor leak","submitter":{"id":63,"url":"https://patchwork.libcamera.org/api/people/63/","name":"Hirokazu Honda","email":"hiroh@chromium.org"},"content":"Hi Laurent,\n\nOn Tue, Nov 30, 2021 at 12:39 PM Laurent Pinchart\n<laurent.pinchart@ideasonboard.com> wrote:\n>\n> The file descriptor created for the remote side of the socket is passed\n> to the forked process, but never closed. Fix the leak.\n>\n> The fix can be tested by running the unixsocket_ipc unit test under\n> valgrind with `valgrind --track-fds=yes ./test/ipc/unixsocket_ipc`.\n>\n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nReviewed-by: Hirokazu Honda <hiroh@chromium.org>\n> ---\n>  src/libcamera/ipc_pipe_unixsocket.cpp | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n>\n> diff --git a/src/libcamera/ipc_pipe_unixsocket.cpp b/src/libcamera/ipc_pipe_unixsocket.cpp\n> index 65277500ff42..3ef907090131 100644\n> --- a/src/libcamera/ipc_pipe_unixsocket.cpp\n> +++ b/src/libcamera/ipc_pipe_unixsocket.cpp\n> @@ -38,7 +38,7 @@ IPCPipeUnixSocket::IPCPipeUnixSocket(const char *ipaModulePath,\n>         }\n>         socket_->readyRead.connect(this, &IPCPipeUnixSocket::readyRead);\n>         args.push_back(std::to_string(fd.get()));\n> -       fds.push_back(fd.release());\n> +       fds.push_back(fd.get());\n>\n>         proc_ = std::make_unique<Process>();\n>         int ret = proc_->start(ipaProxyWorkerPath, args, fds);\n> --\n> Regards,\n>\n> Laurent Pinchart\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 684A2BF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 30 Nov 2021 05:19:12 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id BC3D6605B4;\n\tTue, 30 Nov 2021 06:19:11 +0100 (CET)","from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com\n\t[IPv6:2a00:1450:4864:20::52c])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2B925604FC\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 30 Nov 2021 06:19:11 +0100 (CET)","by mail-ed1-x52c.google.com with SMTP id r11so81739220edd.9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 29 Nov 2021 21:19:11 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"msjoN0GU\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=1wdw0ftMLydKcpaUXQpa2ddDUYjt3eH8EZigVPBbJn8=;\n\tb=msjoN0GU2HNsZLq7hVRCA4IWno/7cSKma/jXkBgzywmH5tnVTg7zFDFj5x/nXVkacf\n\tijNoyjSZmNc/WHWKza1ujz1rpIy3vSY3QvFdKQELTNLw8toE/LC3uxBp2P1pYX2K/vVb\n\t+RtS4TVqUDyTx8vFroVKM32jl3opWzseVEkaU=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=1wdw0ftMLydKcpaUXQpa2ddDUYjt3eH8EZigVPBbJn8=;\n\tb=wgJM4jZZM68qGTb+2ynm6ygZDu7Pz4SbN6pTT73WIVDpA/meOUqt4h9J6a3z60L8Df\n\t5QOtIbwTw/qad27ODcYn8DWYozKLfPshEZ1eomSiHqLsFdkz6oSRGa8unXs1WnnHSAUa\n\tSsE1mmiMtZtRxbUoc+g/VHT2/qJDOPymalDFakUp0b3cojQVZ3NhPEfEf/hNjHQ55J4I\n\tCosM5nHw4EZ4v6oPmqfPFKcEunQZba2gVxbiIEIWmi2W+A0RoTG3h9yAZdw8osi3VDPo\n\t0KSZuMobWq4P/qwn+L1IlBDs7Ov4pYnmCJ9Apa5fUMpZqxCiShCezKnMRk1eVHuVkOkr\n\tEjrQ==","X-Gm-Message-State":"AOAM533k7X3G3BIdewljzGD7YDEdUoWYt5GeknYDi2q1iAcsENiuUyqg\n\t8dUGs3GKr5gEfXv8bdICNEgK+/M4ie96cNyMJ35dc/84hWI=","X-Google-Smtp-Source":"ABdhPJwxTATmLX9Pz8Xzy06H+syt8SuEQ7u2vTOdTlCVguECmwjdsla1Xp8mLnaQLqnl9c/HkjJkIc1KpGmJyaY4o+8=","X-Received":"by 2002:a17:906:52d8:: with SMTP id\n\tw24mr67442457ejn.296.1638249550781; \n\tMon, 29 Nov 2021 21:19:10 -0800 (PST)","MIME-Version":"1.0","References":"<20211130033820.18235-1-laurent.pinchart@ideasonboard.com>\n\t<20211130033820.18235-12-laurent.pinchart@ideasonboard.com>","In-Reply-To":"<20211130033820.18235-12-laurent.pinchart@ideasonboard.com>","From":"Hirokazu Honda <hiroh@chromium.org>","Date":"Tue, 30 Nov 2021 14:19:00 +0900","Message-ID":"<CAO5uPHOr6y4edR8Xgr1GOTo11XkCT_Pr4=Caah2EWXazqa-2rw@mail.gmail.com>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Subject":"Re: [libcamera-devel] [PATCH v4 11/22] libcamera: ipc_unixsocket:\n\tFix file descriptor leak","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>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":21420,"web_url":"https://patchwork.libcamera.org/comment/21420/","msgid":"<20211130075617.o3guuixejlk7jzxr@uno.localdomain>","date":"2021-11-30T07:56:17","subject":"Re: [libcamera-devel] [PATCH v4 11/22] libcamera: ipc_unixsocket:\n\tFix file descriptor leak","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Laurent\n\nOn Tue, Nov 30, 2021 at 05:38:09AM +0200, Laurent Pinchart wrote:\n> The file descriptor created for the remote side of the socket is passed\n> to the forked process, but never closed. Fix the leak.\n>\n> The fix can be tested by running the unixsocket_ipc unit test under\n> valgrind with `valgrind --track-fds=yes ./test/ipc/unixsocket_ipc`.\n>\n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nReviewed-by: Jacopo Mondi <jacopo@jmondi.org>\n\nThanks\n  j\n\n> ---\n>  src/libcamera/ipc_pipe_unixsocket.cpp | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n>\n> diff --git a/src/libcamera/ipc_pipe_unixsocket.cpp b/src/libcamera/ipc_pipe_unixsocket.cpp\n> index 65277500ff42..3ef907090131 100644\n> --- a/src/libcamera/ipc_pipe_unixsocket.cpp\n> +++ b/src/libcamera/ipc_pipe_unixsocket.cpp\n> @@ -38,7 +38,7 @@ IPCPipeUnixSocket::IPCPipeUnixSocket(const char *ipaModulePath,\n>  \t}\n>  \tsocket_->readyRead.connect(this, &IPCPipeUnixSocket::readyRead);\n>  \targs.push_back(std::to_string(fd.get()));\n> -\tfds.push_back(fd.release());\n> +\tfds.push_back(fd.get());\n>\n>  \tproc_ = std::make_unique<Process>();\n>  \tint ret = proc_->start(ipaProxyWorkerPath, args, fds);\n> --\n> Regards,\n>\n> Laurent Pinchart\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 E23DFBF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 30 Nov 2021 07:55:25 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5DF68605B4;\n\tTue, 30 Nov 2021 08:55:25 +0100 (CET)","from relay7-d.mail.gandi.net (relay7-d.mail.gandi.net\n\t[217.70.183.200])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9048E604FC\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 30 Nov 2021 08:55:24 +0100 (CET)","(Authenticated sender: jacopo@jmondi.org)\n\tby relay7-d.mail.gandi.net (Postfix) with ESMTPSA id 0E6FD20015;\n\tTue, 30 Nov 2021 07:55:23 +0000 (UTC)"],"Date":"Tue, 30 Nov 2021 08:56:17 +0100","From":"Jacopo Mondi <jacopo@jmondi.org>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Message-ID":"<20211130075617.o3guuixejlk7jzxr@uno.localdomain>","References":"<20211130033820.18235-1-laurent.pinchart@ideasonboard.com>\n\t<20211130033820.18235-12-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20211130033820.18235-12-laurent.pinchart@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH v4 11/22] libcamera: ipc_unixsocket:\n\tFix file descriptor leak","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>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]