Show a cover letter.

GET /api/covers/65774/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 65774,
    "url": "http://patches.dpdk.org/api/covers/65774/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/20200212230810.2837-1-stephen@networkplumber.org/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20200212230810.2837-1-stephen@networkplumber.org>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200212230810.2837-1-stephen@networkplumber.org",
    "date": "2020-02-12T23:08:06",
    "name": "[RFC,0/4] Enforce flag checking in API's",
    "submitter": {
        "id": 27,
        "url": "http://patches.dpdk.org/api/people/27/?format=api",
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/20200212230810.2837-1-stephen@networkplumber.org/mbox/",
    "series": [
        {
            "id": 8519,
            "url": "http://patches.dpdk.org/api/series/8519/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=8519",
            "date": "2020-02-12T23:08:06",
            "name": "Enforce flag checking in API's",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/8519/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/65774/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id BF93CA0542;\n\tThu, 13 Feb 2020 00:08:23 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 1B85E1DB9;\n\tThu, 13 Feb 2020 00:08:23 +0100 (CET)",
            "from mail-pg1-f195.google.com (mail-pg1-f195.google.com\n [209.85.215.195]) by dpdk.org (Postfix) with ESMTP id 472C1DE3\n for <dev@dpdk.org>; Thu, 13 Feb 2020 00:08:21 +0100 (CET)",
            "by mail-pg1-f195.google.com with SMTP id 70so1988957pgf.8\n for <dev@dpdk.org>; Wed, 12 Feb 2020 15:08:21 -0800 (PST)",
            "from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127])\n by smtp.gmail.com with ESMTPSA id f18sm198301pgn.2.2020.02.12.15.08.18\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 12 Feb 2020 15:08:18 -0800 (PST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=networkplumber-org.20150623.gappssmtp.com; s=20150623;\n h=from:to:cc:subject:date:message-id:mime-version\n :content-transfer-encoding;\n bh=zMgYz9fOZGYPeiTO5Nhv6lZjERl3hFMDlQGJHubYPaw=;\n b=KpQXp286jGnsYURQpbnKmkj4pwRxuHvo13zPuLlCd1JG7JcFCBSBcJIdOcqUCA0COw\n Ws4Yb5jKD35Ocw3+Q/9r6+pLeJ7DonU2fnip9GIa04MOD1n4nDBaI4j41dj5NgsqaVFV\n efJorrjLZxXMd2rFOrWL58V+VdTseQiCxHaaReO2PQThC6Ypm5cmzEr9cV89kHQrKkDO\n gWocu4F8bfY/viRkli7B2v5a1rzSkJiGP0ueAS22azuh2NejXHYjzEB50KH0aOMf3aFl\n 7I7BevVtc4MJQ4Iqt9q95V2JMB9GaisQwkP2pfdjQkOa4pLAHXXEWoQSc32/hgpz3HPU\n 9qlQ==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version\n :content-transfer-encoding;\n bh=zMgYz9fOZGYPeiTO5Nhv6lZjERl3hFMDlQGJHubYPaw=;\n b=WHVHtRVPh5jueUCu69Lmtrcbkg373vwxhv1xDdRIbdijBTPB9qT82B4t4CfOEHuRyU\n ByiTQexX59l4XCVB4WiP5Wz6L5Y4bfGMvZoE5z9MiG6c88nwCEfSHmGefltjYPwEJkfp\n tWpdrjpB4op/kfxbO6KeM9MmcIBg19K+hUxEfnmD9QjXlI45xSTd7F+jqyVdrRqabPaz\n HDxc8hIEzcFIIyTQiDxMiNrzsgj4kp0ZmGTq/QMQHn6nnulOuMEJ3QXI3BpCOwiBnPwO\n 0bvjTkby0VTcDSDCRVSX9iKGw6Q0/9gsy7GRtA2+J694U9LQt9aYTe+P6O+WRnW/0kT5\n 4G5w==",
        "X-Gm-Message-State": "APjAAAUB2SzPHzgOqFphRcgNv17xjnypoRMAB6CTHvbvXZ6piSL0oCjK\n /MXdXZHEEMT24atDsEJKfnfmzWIIEMQ=",
        "X-Google-Smtp-Source": "\n APXvYqybe97kWmALiIJJ8UXGnzepk7BPKSdGyW6+48uNFgNPOk+BD2HbqtZaeKdNv7C9kJdAV0Kn6w==",
        "X-Received": "by 2002:a63:fe43:: with SMTP id x3mr11551257pgj.119.1581548899641;\n Wed, 12 Feb 2020 15:08:19 -0800 (PST)",
        "From": "Stephen Hemminger <stephen@networkplumber.org>",
        "To": "dev@dpdk.org",
        "Cc": "Stephen Hemminger <stephen@networkplumber.org>",
        "Date": "Wed, 12 Feb 2020 15:08:06 -0800",
        "Message-Id": "<20200212230810.2837-1-stephen@networkplumber.org>",
        "X-Mailer": "git-send-email 2.20.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [RFC 0/4] Enforce flag checking in API's",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Since the DPDK api's are lazy about checking for flag values\nit means the flags can never be extended in future releases\nwithout causing ABI breakage. This means we end up doing unnecessary\nsymbol versioning just to work around applications that might\npass in naughty bits.\n\nThis is the DPDK analog of the Linux kernel openat() problem.\nOpenat api was added but since kernel did not check flags it\nended up that another syscall openat2() was necessary before\nthe flags could be used.\n\nStephen Hemminger (4):\n  ring: future proof flag settings\n  hash: check flags on creation\n  stack: check flags on creation\n  cfgfile: check flags value\n\n lib/librte_cfgfile/rte_cfgfile.c  | 4 ++++\n lib/librte_hash/rte_cuckoo_hash.c | 9 +++++++++\n lib/librte_ring/rte_ring.c        | 7 +++++++\n lib/librte_stack/rte_stack.c      | 5 +++++\n 4 files changed, 25 insertions(+)"
}