{"id":27493,"url":"https://patchwork.libcamera.org/api/covers/27493/?format=json","web_url":"https://patchwork.libcamera.org/cover/27493/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260723174644.6580-1-magdum.foss@gmail.com>","date":"2026-07-23T17:46:42","name":"[0/2] libcamera: Control name serialization v3 and input validation hardening","submitter":{"id":453,"url":"https://patchwork.libcamera.org/api/people/453/?format=json","name":"Magdum","email":"magdum.foss@gmail.com"},"mbox":"https://patchwork.libcamera.org/cover/27493/mbox/","series":[{"id":6076,"url":"https://patchwork.libcamera.org/api/series/6076/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=6076","date":"2026-07-23T17:46:42","name":"libcamera: Control name serialization v3 and input validation hardening","version":1,"mbox":"https://patchwork.libcamera.org/series/6076/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/27493/comments/","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 67C15BDE17\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 23 Jul 2026 17:46:51 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 7F5C967ED8;\n\tThu, 23 Jul 2026 19:46:50 +0200 (CEST)","from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com\n\t[IPv6:2a00:1450:4864:20::32a])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id DF03D67E5C\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 23 Jul 2026 19:46:48 +0200 (CEST)","by mail-wm1-x32a.google.com with SMTP id\n\t5b1f17b1804b1-4954c0833b4so6830705e9.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 23 Jul 2026 10:46:48 -0700 (PDT)","from magdum-System-Product-Name.vodafone.ultrahub\n\t([2a02:810d:4b14:4600:72e8:99a4:5b87:2e43])\n\tby smtp.gmail.com with ESMTPSA id\n\tffacd0b85a97d-47f85c67339sm18199270f8f.31.2026.07.23.10.46.47\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tThu, 23 Jul 2026 10:46:47 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"SQ03S6T5\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20251104; t=1784828808; x=1785433608;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:from:to:cc:subject:date:message-id:reply-to:content-type;\n\tbh=9ss7TsarfSL+sWVJUZl5iQ6SaTa9iURY4Fc5p4wGQUY=;\n\tb=SQ03S6T5rEKc1Y5Arb70NONjp9Y362v+DCeQ50JPQWRpS2NE2/wpMNkWSqnUatBarh\n\t0484R9c2M8yNIoaQeaP7OVB/VngSvg2Y/iyy1RbAL9fdp8tmVQ0H9W3D+SbEAMm61ncX\n\tGtCEVsb8szLDR9DzMqzQsxuk8VF/gaEp9GciF6ykLQb6zQ7qie/ZxekaPwgAZb1P40ug\n\t8wyMsLC7cSALsPJl83W2VjXm5Qhz5Jv3ivpKvHtS9SA3q1HryK7gwUx3Rw/+67fPzTlv\n\tJlBRzG6qMWqtfync7WHrWW8pPqHLa0MM/c+6N854O4whXqOd+GHt7AX6w4zda7vdyhFH\n\tUtEg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20251104; t=1784828808; x=1785433608;\n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n\t:message-id:reply-to:content-type;\n\tbh=9ss7TsarfSL+sWVJUZl5iQ6SaTa9iURY4Fc5p4wGQUY=;\n\tb=jq8rbgjkh/A4W730ogbh2Oj9cJZF1qxtWluHS1uujkGf9sDHA7SZWtBWrkWhkF2TyV\n\tGShaf/FWjKjrf61GxlW3E4OqUZvgLGs9d7EhXdt/y4WjHlaTqAl8yn7l8FRkNUr8z3id\n\tz0pP+S0qPeKyjXaHQAdp/2Qo8Y6/hM7d9WW4i+R+wA7vPZteF8MQcPQq12c8aaazdsKp\n\t1EGwWTxhWPZQq59g1D/JqShOwbAI4UsFyjPuV7SQVRPE6WNMCmRU/ybDf0UW5Chi2DRr\n\tfNfMqfRoBfJkISHxu7I5STPJgxnQPVsfGR+b+03/Y0sVfrK60YK5dwvs0kJl/oxqdv3p\n\tWzbg==","X-Gm-Message-State":"AOJu0YyIE1sg95yuH/AS5LRbzlU9jDmew4DfN6zC92vb8KwK3Q0y6rMk\n\tXyZ+mGDdnLa/nSzUC2RaLtpIWTw1HHzfonWcal4qsPax8m5INzJQsAMp2z5irT1A0Zw=","X-Gm-Gg":"AR+sD12A9dLcQ/wpmWwvVV9qmi/V0Nj9fYugxGGYXf0rL1HMUbEFS76UlS5upY7PQBC\n\ttwidX/GQ/EVCYgg262VdslQ8gvhBiima6vy6ZiWUNVCBhMVHLh68/mnduCE/bRVjb2Guc5+Gnjq\n\tU2KdFNScfcpmxVam4IY0B2HnjGYnr+/IBbYU6IgLePhjf6g5ceckvf5/c2W0JmwAREnqQREd1Fk\n\tQu5PDja9kNngA47DUNmjEDdBJ00EYZaKJB60KQNg/7iARILlK7UQZDDvL/IU2kl1uFhAXuobeiV\n\tDqoHmy9fJ2sNvwgh8mqW64BBZgnkqKsRavl4sfIvFnA1l9k1Cq8ed/0TU8oKfeqRYHO7kQ59w5Y\n\tF6Kyz4FBVZTyHwLEi553ykD4gNv+3MGLlR57lJdoq+3cr49qygS10PySEcBbzqV22QEBwiZ4yrc\n\tNpbo2H2VaBgGCJlvNVM1SyxG+KuFrUEwsvEwXkWQ==","X-Received":"by 2002:a05:6000:2904:b0:46e:624e:3c2f with SMTP id\n\tffacd0b85a97d-47f8dc8565cmr5065783f8f.47.1784828808132; \n\tThu, 23 Jul 2026 10:46:48 -0700 (PDT)","From":"Magdum <magdum.foss@gmail.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"Magdum <magdum.foss@gmail.com>","Subject":"[PATCH 0/2] libcamera: Control name serialization v3 and input\n\tvalidation hardening","Date":"Thu, 23 Jul 2026 19:46:42 +0200","Message-ID":"<20260723174644.6580-1-magdum.foss@gmail.com>","X-Mailer":"git-send-email 2.43.0","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","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>"},"content":"This series bumps the IPA controls serialization format to v3 to support \nlocal control names across IPC, and introduces robust size validation \nsafeguards against potential serialization overflows.\n\nPatch 1 updates the format layout and serialization logic to preserve V4L2-style \ncontrol names.\nPatch 2 hardens the control serializer with input verification boundaries and \nextended boundary tests.\n\nMagdum (2):\n  libcamera: Serialize local control names in IPA format v3\n  libcamera: Harden control serializer size and input validation\n\n include/libcamera/ipa/ipa_controls.h         |   6 +-\n src/libcamera/control_serializer.cpp         | 337 ++++++++++++++++---\n test/serialization/control_serialization.cpp | 174 ++++++++++\n 3 files changed, 460 insertions(+), 57 deletions(-)"}