[{"id":30533,"web_url":"https://patchwork.libcamera.org/comment/30533/","msgid":"<908ac6b5-267c-4266-8377-96803c1d64a7@redhat.com>","date":"2024-07-31T19:01:04","subject":"Re: [PATCH v2 3/4] libcamera: shared_mem_object: Prevent memfd from\n\tshrinking or growing","submitter":{"id":102,"url":"https://patchwork.libcamera.org/api/people/102/","name":"Hans de Goede","email":"hdegoede@redhat.com"},"content":"Hi,\n\nOn 7/31/24 3:59 PM, Laurent Pinchart wrote:\n> The memfd underlying the SharedMem object must not shrink, or memory\n> corruption will happen. Prevent this by setting the shrink seal on the\n> file. As there's no valid use case for growing the memory either, set\n> the grow seal as well.\n> \n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> Reviewed-by: Milan Zamazal <mzamazal@redhat.com>\n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\nThanks, patch looks good to me:\n\nReviewed-by: Hans de Goede <hdegoede@redhat.com>\n\nRegards,\n\nHans\n\n\n\n> ---\n>  src/libcamera/shared_mem_object.cpp | 3 ++-\n>  1 file changed, 2 insertions(+), 1 deletion(-)\n> \n> diff --git a/src/libcamera/shared_mem_object.cpp b/src/libcamera/shared_mem_object.cpp\n> index 022645e71a35..d4c7991ad16a 100644\n> --- a/src/libcamera/shared_mem_object.cpp\n> +++ b/src/libcamera/shared_mem_object.cpp\n> @@ -58,7 +58,8 @@ SharedMem::SharedMem() = default;\n>   */\n>  SharedMem::SharedMem(const std::string &name, std::size_t size)\n>  {\n> -\tUniqueFD memfd = MemFd::create(name.c_str(), size);\n> +\tUniqueFD memfd = MemFd::create(name.c_str(), size, MemFd::Seal::Shrink |\n> +\t\t\t\t       MemFd::Seal::Grow);\n>  \tif (!memfd.isValid())\n>  \t\treturn;\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 41C69BDC71\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 31 Jul 2024 19:01:12 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E161C63377;\n\tWed, 31 Jul 2024 21:01:11 +0200 (CEST)","from us-smtp-delivery-124.mimecast.com\n\t(us-smtp-delivery-124.mimecast.com [170.10.129.124])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B916A63373\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 31 Jul 2024 21:01:10 +0200 (CEST)","from mail-ed1-f72.google.com (mail-ed1-f72.google.com\n\t[209.85.208.72]) by relay.mimecast.com with ESMTP with STARTTLS\n\t(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n\tus-mta-271-GtddwHvlMImr9Jk5A62bWA-1; Wed, 31 Jul 2024 15:01:07 -0400","by mail-ed1-f72.google.com with SMTP id\n\t4fb4d7f45d1cf-5a3219fc565so4162381a12.3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 31 Jul 2024 12:01:06 -0700 (PDT)","from ?IPV6:2001:1c00:c32:7800:5bfa:a036:83f0:f9ec?\n\t(2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl.\n\t[2001:1c00:c32:7800:5bfa:a036:83f0:f9ec])\n\tby smtp.gmail.com with ESMTPSA id\n\ta640c23a62f3a-a7acad930fasm801010266b.161.2024.07.31.12.01.04\n\t(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n\tWed, 31 Jul 2024 12:01:05 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=redhat.com header.i=@redhat.com\n\theader.b=\"D37/LQyP\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1722452469;\n\th=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n\tto:to:cc:mime-version:mime-version:content-type:content-type:\n\tcontent-transfer-encoding:content-transfer-encoding:\n\tin-reply-to:in-reply-to:references:references;\n\tbh=wmOHLz/PZpZFcNvw/advi5uYF8hpShvI1tsqBc7OnmA=;\n\tb=D37/LQyPxR05FnUpPKzEWH6pL2GqO/PaEVv+DEGn8NdqdcxjLfpa2/aExfkus0bDJoIy2P\n\tlyskaWiuJ+hrdx7/hCSw3j8izXgZFm6FkgT0wz2E6e90awcOnUrZfYrbWuo2dOohAcBzVu\n\t+/vUJ5FoWEgvBEuI0M/nNe08ljERS7w=","X-MC-Unique":"GtddwHvlMImr9Jk5A62bWA-1","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1722452466; x=1723057266;\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=wmOHLz/PZpZFcNvw/advi5uYF8hpShvI1tsqBc7OnmA=;\n\tb=hPH10+AEha7oL2OM81tY7KVSgUqPJPcLfCYw+zxWSZdw343g5bWvLdKY+urWFefPRH\n\tjqE1mndCN18qV8uygmY/kSc4qiK0yNmxl7fjXn3nZkilxypfO1Kby5KFGgZxKqelmIcL\n\tdaT85XMXwPw/z5XLPWCnskaCH1ebblqXt9FWlzSwMNPeDcVY+UNc38fopSrr1QqIfH0e\n\thL4mMI5KyupVykD+HiW+L/7MYUtITJofe4UynujN4q9o8cM/HjRkrFdMG1Nx3pmilHEm\n\tI9fCbLmdUGPQ1oxAfWIq+iabkxno2lwmwyiSivDQraUqLImOlD7sQtdWHTlRZ6KWgCUb\n\tT//w==","X-Forwarded-Encrypted":"i=1;\n\tAJvYcCV1rS2POz4TuUD86r/KNEQz0uLr9Kg6sGIVAJC4jKrA+wlKN6QaDawnwUmRcGj0elE1lVS/qSFToBO2Nhte0GawJdmbMAshgW1MOc9erODk82bHfQ==","X-Gm-Message-State":"AOJu0YyAVxmf5eW0h4vVBUuWmz2ldrf2g6s9tHg238uaNspFlVP9uv1a\n\trhW/iuePTpQSuYvZmK5//nXUrqVZBFNAeRNZWr44MjEKP+rn7mw0r5zvcb1Wi1AtsGulogkFOgZ\n\tuZ0CNTx1dXag7ojMJvs+Ta2HA5dcfWdL5IcbU2FnWO8uho44une4HlsdR0tAfHUG2FE9gpF4=","X-Received":["by 2002:a17:907:7fab:b0:a7a:a3f7:38a2 with SMTP id\n\ta640c23a62f3a-a7daf516877mr2387566b.41.1722452465882; \n\tWed, 31 Jul 2024 12:01:05 -0700 (PDT)","by 2002:a17:907:7fab:b0:a7a:a3f7:38a2 with SMTP id\n\ta640c23a62f3a-a7daf516877mr2384266b.41.1722452465422; \n\tWed, 31 Jul 2024 12:01:05 -0700 (PDT)"],"X-Google-Smtp-Source":"AGHT+IHXrcXX3i5cQsR+wIYbElNFcpNkkKZ9jOXpticO/+R/uKKN7W93/Dpdbo0HuiyzAThYyax/Kw==","Message-ID":"<908ac6b5-267c-4266-8377-96803c1d64a7@redhat.com>","Date":"Wed, 31 Jul 2024 21:01:04 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v2 3/4] libcamera: shared_mem_object: Prevent memfd from\n\tshrinking or growing","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20240731135936.2105-1-laurent.pinchart@ideasonboard.com>\n\t<20240731135936.2105-4-laurent.pinchart@ideasonboard.com>","From":"Hans de Goede <hdegoede@redhat.com>","In-Reply-To":"<20240731135936.2105-4-laurent.pinchart@ideasonboard.com>","X-Mimecast-Spam-Score":"0","X-Mimecast-Originator":"redhat.com","Content-Language":"en-US, nl","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"7bit","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>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]