Show a patch.

GET /api/1.1/patches/23968/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 23968,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/23968/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/23968/",
    "project": {
        "id": 1,
        "url": "https://patchwork.libcamera.org/api/1.1/projects/1/?format=api",
        "name": "libcamera",
        "link_name": "libcamera",
        "list_id": "libcamera_core",
        "list_email": "libcamera-devel@lists.libcamera.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": ""
    },
    "msgid": "<20250725171608.1610639-1-giacomo.cappellini.87@gmail.com>",
    "date": "2025-07-25T17:14:39",
    "name": "[v1] v4l2: v4l2_compat: Set dlsym fallback for openat64/mmap64 on musl",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "18bed757f3a39925e566b731940abc4942c6a254",
    "submitter": {
        "id": 231,
        "url": "https://patchwork.libcamera.org/api/1.1/people/231/?format=api",
        "name": "Giacomo Cappellini",
        "email": "giacomo.cappellini.87@gmail.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/23968/mbox/",
    "series": [
        {
            "id": 5333,
            "url": "https://patchwork.libcamera.org/api/1.1/series/5333/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5333",
            "date": "2025-07-25T17:14:39",
            "name": "[v1] v4l2: v4l2_compat: Set dlsym fallback for openat64/mmap64 on musl",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/5333/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/23968/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/23968/checks/",
    "tags": {},
    "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 DA83EBDCC1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 25 Jul 2025 17:16:19 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id ECDE369101;\n\tFri, 25 Jul 2025 19:16:18 +0200 (CEST)",
            "from mail-wm1-x329.google.com (mail-wm1-x329.google.com\n\t[IPv6:2a00:1450:4864:20::329])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 22E3D690A6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 25 Jul 2025 19:16:17 +0200 (CEST)",
            "by mail-wm1-x329.google.com with SMTP id\n\t5b1f17b1804b1-451d6ade159so17646275e9.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 25 Jul 2025 10:16:17 -0700 (PDT)",
            "from jasus.ad.servtec.it\n\t(host-95-251-230-143.retail.telecomitalia.it. [95.251.230.143])\n\tby smtp.gmail.com with ESMTPSA id\n\t5b1f17b1804b1-4587ac58045sm3315865e9.22.2025.07.25.10.16.14\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tFri, 25 Jul 2025 10:16:15 -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=\"Y5+VlxL2\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20230601; t=1753463776; x=1754068576;\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;\n\tbh=4YFORMOwsc2Yps/oGONFugfUEOt+J0WOctZ4NX8vzc4=;\n\tb=Y5+VlxL2SfBPAdS9nuEokVDxCu1oWFG6ws2TnCdMtaqIkbOLlTsQC0AwEcWmar80QS\n\txu82xcvRA7PW2pdEXzO33aKCEbRB6sB7UyzdR1809IY94Bm/nEt+1zOkR3aq1wjRW6Fh\n\teUCPjjlJqaOg83AtEuUTQ4MFTS0737TkUa9CecgUyWt6+fMn9YNS3jZBZEW0VuYjo8yg\n\t8Mlpg9F5UxUd4WEYGmVXgz8kcTtvOw7UYbT2h9ZLZyGHbhfMXDhEyUwpnTmhUjp66Hof\n\t1JbErJW5TB4K5flYjAodVMQU2YNCwruYCNX+N1dApmzlLuXx06pC/O/tzU7liBm9bDfb\n\tiC6A==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1753463776; x=1754068576;\n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=4YFORMOwsc2Yps/oGONFugfUEOt+J0WOctZ4NX8vzc4=;\n\tb=QLvpxtbKLJgEtVGCuuEaM7H7a+R2ALKc0YPnU651zj3MReaeuAWJcUQkfhgAei+mBc\n\tDRDcPDc1tSxN/+WssPGogKysAwa1vhU2aU+ZETRamCzgLkMzEmKM/unbT0ZvcLHc9oMM\n\tvTTSm79o4NQ+pdhBIIhA7B7NZCMEYflvc8tYde4CaTYXEDKUbFC4YruRxjvgy/rFKG+i\n\tIp/Gth+DygN8jkIaRJp6WGiHtLO5k0qF++irng7lSkEyjshi0uoGV5CdQqbkOJdWMBc+\n\t33NRTikPwm+Ekma18pdthY0WfMZwCXXPYvi0B63BSgko77pkzXfOLAeQ0+ldHJ6ZTwMb\n\txOqg==",
        "X-Gm-Message-State": "AOJu0YwyUnwk9WCJVWWr9S3x85Utak8+fEG0SHyZoMrl+vfk96+xxrKn\n\tY2xIs9DEpTMI14POEtxJ1AnclpiY/6/wELYMPQaRNbQvrktK4oZ+jc0EHmWTKFB5",
        "X-Gm-Gg": "ASbGncsR7xqNdNKiLV2nEk0UTCd6xCa4UN2lcXlpFBjnPdwSD1pKKa3yDSlV9WQUQAI\n\tp+IyZpVrYAY4uMwfia8TFLX4vvcHYbnOJHmZYfrDboQK8mA51gNSZTfN65gNaFWVKvXtq3JBMxX\n\tOx5v5WHR0JNMDE8KMj7RfzKirONXu5P2ZIU6Z8EvAdRcX9WAClqDRmRwOQz02zEDP25KFUhPx7y\n\tKE3n02FMIh6Fshng2JlXnEuvFWJ19jBdPiWMalCsbHvLeFERFt450dSmkAT3hQ2HzBSKQdOAeEG\n\ti/l3KSTlSXXx74nNaO2UUDzP7wNFcKWBPL4YDZOxsk/5x+tQIITN/qlBXTDwcZNOCWQad6CIluH\n\t7ToOUdmCQOn6xwKo/Idridz+00i5hQKAqS62IzvzIiAuImdTN9AAfyt37L8v2PF/IcvG9s0uYvx\n\tfIl2/5GdmB9DRtL7VBGkKnpw==",
        "X-Google-Smtp-Source": "AGHT+IHZ3jjp3lUlM0Syb6Vd6Sad2rCto2cWVCgUGrPLIjlx+FO1hY9/zYygwiBFiOSKobgejBsMFQ==",
        "X-Received": "by 2002:a05:600c:468d:b0:456:1752:2b44 with SMTP id\n\t5b1f17b1804b1-4587654e5fcmr21888205e9.23.1753463776153; \n\tFri, 25 Jul 2025 10:16:16 -0700 (PDT)",
        "From": "Giacomo Cappellini <giacomo.cappellini.87@gmail.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Cc": "Giacomo Cappellini <giacomo.cappellini.87@gmail.com>",
        "Subject": "[PATCH v1] v4l2: v4l2_compat: Set dlsym fallback for openat64/mmap64\n\ton musl",
        "Date": "Fri, 25 Jul 2025 19:14:39 +0200",
        "Message-ID": "<20250725171608.1610639-1-giacomo.cappellini.87@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": "Fix dlsym lookup for 'openat64' and 'mmap64' to fallback to 'openat' and\n'mmap' on musl, since musl does not provide the LFS64 variants and this\nensures compatibility.\n\nmusl does not support the LFS64 API, and relocs-processing is relevant\nonly to glibc ABI compatibility.\n\nSigned-off-by: Giacomo Cappellini <giacomo.cappellini.87@gmail.com>\n---\n src/v4l2/v4l2_compat_manager.cpp | 4 ++++\n 1 file changed, 4 insertions(+)",
    "diff": "diff --git a/src/v4l2/v4l2_compat_manager.cpp b/src/v4l2/v4l2_compat_manager.cpp\nindex f53fb300..b970d86c 100644\n--- a/src/v4l2/v4l2_compat_manager.cpp\n+++ b/src/v4l2/v4l2_compat_manager.cpp\n@@ -43,10 +43,14 @@ V4L2CompatManager::V4L2CompatManager()\n \t: cm_(nullptr)\n {\n \tget_symbol(fops_.openat, \"openat64\");\n+\tif (!fops_.openat)\n+\t\tget_symbol(fops_.openat, \"openat\");\n \tget_symbol(fops_.dup, \"dup\");\n \tget_symbol(fops_.close, \"close\");\n \tget_symbol(fops_.ioctl, \"ioctl\");\n \tget_symbol(fops_.mmap, \"mmap64\");\n+\tif (!fops_.mmap)\n+\t\tget_symbol(fops_.mmap, \"mmap\");\n \tget_symbol(fops_.munmap, \"munmap\");\n }\n \n",
    "prefixes": [
        "v1"
    ]
}