get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 28028,
    "url": "http://patches.dpdk.org/api/patches/28028/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1503818594-52694-1-git-send-email-matan@mellanox.com/",
    "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": "<1503818594-52694-1-git-send-email-matan@mellanox.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1503818594-52694-1-git-send-email-matan@mellanox.com",
    "date": "2017-08-27T07:23:14",
    "name": "[dpdk-dev,v3] net/failsafe: fix parameters parsing",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "d9b89b4b88515dc18c855a75a62bfb42ee9bb50f",
    "submitter": {
        "id": 796,
        "url": "http://patches.dpdk.org/api/people/796/?format=api",
        "name": "Matan Azrad",
        "email": "matan@mellanox.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1503818594-52694-1-git-send-email-matan@mellanox.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/28028/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/28028/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id B53107CC4;\n\tSun, 27 Aug 2017 09:23:38 +0200 (CEST)",
            "from EUR03-VE1-obe.outbound.protection.outlook.com\n\t(mail-eopbgr50064.outbound.protection.outlook.com [40.107.5.64])\n\tby dpdk.org (Postfix) with ESMTP id D4B4F7CC2;\n\tSun, 27 Aug 2017 09:23:37 +0200 (CEST)",
            "from mellanox.com (37.142.13.130) by\n\tHE1PR0502MB3051.eurprd05.prod.outlook.com (2603:10a6:3:d9::16) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1385.9;\n\tSun, 27 Aug 2017 07:23:34 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com;\n\ts=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=Ed9DxsaJbzmg4roGETOxNP0YjnxoVzBUSxSR9PdqesE=;\n\tb=d43IABZw0p2YhRx+dcIjV1Ttv/6GmjlBWM3j3iTwaQpqLzr5L6TvrksJ8SttR+SLwrUVri70ZD1KmUQSaWWObnN37fTbYmGhj0d0bViy2U00EVASRfy97XGHUkHJLPb3TyPoJ1gJSrnnocNAZpcFI+XPr84A2s+bc2pVlEMlx9U=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=matan@mellanox.com; ",
        "From": "Matan Azrad <matan@mellanox.com>",
        "To": "Gaetan Rivet <gaetan.rivet@6wind.com>",
        "Cc": "dev@dpdk.org,\n\tstable@dpdk.org",
        "Date": "Sun, 27 Aug 2017 10:23:14 +0300",
        "Message-Id": "<1503818594-52694-1-git-send-email-matan@mellanox.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<20170821132533.GW8124@bidouze.vm.6wind.com>",
        "References": "<20170821132533.GW8124@bidouze.vm.6wind.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[37.142.13.130]",
        "X-ClientProxiedBy": "VI1PR0701CA0057.eurprd07.prod.outlook.com\n\t(2603:10a6:800:5f::19) To HE1PR0502MB3051.eurprd05.prod.outlook.com\n\t(2603:10a6:3:d9::16)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "3b136a1e-0192-4e7a-a850-08d4ed1c874e",
        "X-MS-Office365-Filtering-HT": "Tenant",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(300000502095)(300135100095)(22001)(2017030254152)(300000503095)(300135400095)(48565401081)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:HE1PR0502MB3051; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; HE1PR0502MB3051;\n\t3:LawgSN3sfOeQXg/sApP5q7a6sx4N1/BwigskDD3Ulny1WmGH26YLizyVhGEgcrxU4Mw3iREiywTzMVZtYvhqnJSY7TOxZTTkC+wjGakZbBzuLU+FeIyNXptRc1pSXmB//lIOU3japDY2jI+X9qCugXYjO9NvEAc7GVaodbjtitn3cZhWmJDAnoATabJghuWclCBo0rUYMbZZ4o7SrmCE6OxqMuZgcNjc7bbeH6F4GPQgtKSJ4sHi0GxXBaR7ZzWR;\n\t25:T4gLZZAMQNyRDE+cpGOeNx4DISNhcrvRTpvgIekHqdIJpaC4/NCt8y0rxeVe2py3cF++WZ74wr/KbpzNd/kcXzpn4GygpSBEAyS3xk6DLXMl7GqbK+10L7j503buEgzkcZT0Oy11U+LgjsczTzWX/jSuNeu+xMrqWapuFXK3Tka+3R4uYmMSMZ2MaEXifameYJFsn0UcWtYOjvkpWcnQpJgr81kpm82AzhZrFRtBjkLViG2XLzdw4NUCBBgYJGPNd9NdKxqo/I3MpvxTvQht8K7Y21l2iNZnyKaebFwlvU758n5XqfdyI3mgTLgrfN1yxBvEDRYoce4FlTxpxpxxqw==;\n\t31:oUkn8J440PGUNEPWCY/Rh+zL76fwY8anGb16EVs3mj+PdIQo5F8ZlNwZYr8U5oiL/yw8bQ6rDQqZmBmdgUQ9RK0qiS6XMQf+2E4OwiuPeoSOnqsSDK6qV7n54vJcQpjgnBG1iizWhSGG/bf1zrJGi22jmrTKROyuTy4XXsdVI06WYgOEybujxWMpj8ewXEaPyevkjz2c+dKmGp38lL67tB5r9MjHtU1sqEtgY+0Q7gU=",
            "1; HE1PR0502MB3051;\n\t20:sB5rRCyz4Ey5O34iDgGDz1JT9KZ/s6pIEOFI4RLJHymWgGn0N0iyN9tfjYUPc4DjM0PHGit/76Z9gQFdk7ZAZi2cXkylqF6JFvOGErTM6+vMRZaBE6YO0gR87MVJSDxrbKcMhR409rQYUORwme3o2Wxvt3enS8aoPNt39mI1q0t3GC7nqQbYMIE0/EcV9G/tUaxXZTLTYK7+1Z2YHx4NWBWAmAVWehsJ3nFx/OvtzodYr+6qpWagSN+CRUuBFa1nVoqOWnMOF3i0GtLPbM8UxdRn4SJ2TUhhCdkcn0n16ewwaBrEulT+aJ+Y4A6VXIALcLCCKwySydgDskGbfRFJyzBqnWqiB7RUlFUwHtZVHn9Rs1aI8V7/HxBj6rHb/UFtq7Zdnz8j58MsnnUXnMreMO9z3nBE9wOqqU2PzAXvyEVQ4FvH79nzNt/yDpZ3P8nLF60gx46wST0ubATuYPShpmEoG2EGcjCyQ4UHuyvIwwTZ+eiUykro90ejN7yGywWm;\n\t4:rMq6j3CyDytDZG6BZhDTtl8SPGNlA9JU7iKrBtXdm5xBBvz/oBDOPLGDbG4FX6HmSMg2Crl29YyGjnHqoaSYKoQAE14K0mUqzEI+ay8YB/KlWIVIBtVFXcr48RlNJT7gxOpE60lbKiDPGQgeGfyGfpK3DMb4TYrsw3aVvYqM/KxPVwX7p11LFo2N27EQ2pw/WDJyZU8b9c/IRu5NJRWvmXxdNwF3EOwmAuJe453TjIC4t3wyCs1MWOAnxSsDurwW",
            "=?us-ascii?Q?1; HE1PR0502MB3051;\n\t23:yji20NTXjZwN10yQ+Z87RkeJ3SnSvaCG8o3SBk7?=\n\tvj6Cp0cqRY+IwCQ4iDo6meWEYU5Gb0PdmM55ZndZGQt29kD8Uh0oQ3SepttWsIj4TS12WQKY1O49JYR0ZXIWzSp0hfJIV5dSvdyefhQeSsd3+o4DFiDFqHDLnKBJ7g5kzcYCYKcQWJ2vHuh430HIufe8dy61VgbEFS/VVxjnHnE7FnNufzANurHKbn/FQT05EUKWFw69Cnz85BaGkOJ4aFsNVAPi1QJscWblobfFddNw+XJfRFKDcTTIRkK3GU7SmBwf/YE59J1tx4g45FQkm4bjG8AT0JCDaJLDxFzRL0wOiYr9rEEMMGSCeRg4aYliiVL2DHSxIye3jEIjv1Jjbg10a1cvEchOCEqtZVUgX0SaQDZn/oFabSxgme8fYmid7TvBDxnGNmWVOmhIfdism/aBNI9KP8ZRs9pEdKK49sLeWXZcDJ+CfnEgyvtPNo4FuOU/SoYH9rHpxTihgft5ds0GLeqqjef28j59lheYOowHXIJqO+x4iJCJ1nGOj/M+7VSi6xc3A8i8cGaR5Tta4BV9L/xxLXJKXtfBMwCW1mUZdD3znaOXBhS0p6VuwOpr5Cw8aGzYaJq2w1p3rR6/0/KBODNPXpoJe/scV587nK/XS/BBzWJWPmupLq0/bpsEYG21Oaj8nuvyLwT7nCBoSSr+XScBJWCthi+oOpb/7hc8qL8zyPJpTzspDsCy6KBGpVmXEm5iJHI/5WFPB3aKnVvEgIZIqaKgaV5PkikOPNT9KseWMgvjXravCx+6mLxyB3x8SIicB59ByaJ5g/PLJFhCAbgCcVSFFKHmrBpN9bFWICUqyrnZZF65hc4JJPDa6ecCz/TNLYwISMaAsBkkw+JjJZY18KnohF1nHiDU/XAUMf8JfF+1fEqDj6YmuN8iqoPaShXBy4G5mCfUBoqI8F6tugH9OjC8f44/b6wAt1hZYduU0d9jxDfpucnv6DY0BWI5S+qoABJrJNVljAMOHbDnMjte4kgGZB4PEI+OYgQ8oGt1Yj5q+swKA24oPEpx4EpBE5DApMe7tBZ3O/6FwRmyCJOuHX/77vEvnxUA3iFmo+AwLc9/zGx9ChDDbKaZoDDSDzWHJB60hJirFMBYWODLN",
            "1; HE1PR0502MB3051;\n\t6:1T8RocDRStxg4uppJLUqx/kfuDRuePuPVjkAZpP1iPP1LwMRaC+ZTd+23hr9v+uH+aoMULbAuvUPWYufR4+7p5/IIyP2PpcfMQT19WjbY0qlfFV8jGy6emcFKzgS1t5XEXqrmyPdFBB8WTzldYSQEJ4XQZSK5wJa2adwfUf+tmxBjGIIbiIjuEKZH2gvjCQJo9oI0cW5JtcKCAHdpNAQZvRk/P1VWWhDJ8cq/0K78UUNBDHZ2YZ/kSSSLXqCMYmuhWg5TRg5Y4m0QK322ZZh7FXfFNtu5l7Gvrk2IUrEp+M3jBIrMaLLPsXW8rr26Q+gqkmMn2R7myCy5EukGeoHCg==;\n\t5:RAib/srQfvBaJAILz07pytNZi28eZPGbO633uh/xiYMyJK+NTdtWxAHGtiSN1IOJLz+vSX0a/P36sgxpkkCrm1sXJom76NSrOayZb+JSRBjw0623I222Ba8FsuBiHRkx7RmaArXRhOOqMpS+mW5IFQ==;\n\t24:Idp6Sj2gKa4tYPl/KqTnRIrL0I5XCDDxYjHurSul3656GHw0eQ1zi/0Vg68HPpk4PGkdfCSLhlvauvkuX6fg+1FTxO4kytsWwX86i6/KOWs=;\n\t7:HPqVsgITw5PxiK+9mQ8yl4Ll56b7GWIaLt2gXoDuD+K37ToHMcoGeMZ0s+T+SBHEA86OoOm3dBffoWpeXqps2TTRapNO8g/Y4VNdJ2qSay1s+5EQGuz38RVlSfGeSjC/gNbERLvxTfBYe4g4RN7jdk5tsjswyhqaUr5Mpp+i37AYBdoUvl4rJsJKlJBWRNG5cbq28MbjE++Zb2TN0ji2A6qL0HJiPt/A9bWElxYS2g0="
        ],
        "X-MS-TrafficTypeDiagnostic": "HE1PR0502MB3051:",
        "X-Exchange-Antispam-Report-Test": "UriScan:;",
        "X-Microsoft-Antispam-PRVS": "<HE1PR0502MB30517B9A5AFCCD7A02451138D2990@HE1PR0502MB3051.eurprd05.prod.outlook.com>",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(3002001)(6055026)(6041248)(20161123562025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123555025)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:HE1PR0502MB3051; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:HE1PR0502MB3051; ",
        "X-Forefront-PRVS": "0412A98A59",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(4630300001)(7370300001)(6009001)(39860400002)(189002)(199003)(55016002)(189998001)(101416001)(50986999)(53936002)(21086003)(36756003)(76176999)(478600001)(66066001)(50466002)(47776003)(33026002)(48376002)(105586002)(106356001)(42186005)(69596002)(68736007)(6916009)(2950100002)(5660300001)(2906002)(6666003)(33646002)(5003940100001)(3846002)(6116002)(97736004)(25786009)(86362001)(305945005)(4326008)(81156014)(8676002)(81166006)(7350300001)(50226002)(7736002)(110136004);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0502MB3051; H:mellanox.com; FPR:;\n\tSPF:None; \n\tPTR:InfoNoRecords; MX:1; A:1; LANG:en; ",
        "Received-SPF": "None (protection.outlook.com: mellanox.com does not designate\n\tpermitted sender hosts)",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "Mellanox.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "27 Aug 2017 07:23:34.3372\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "HE1PR0502MB3051",
        "Subject": "[dpdk-dev] [PATCH v3] net/failsafe: fix parameters parsing",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "The corrupted code used wrongly snprintf return value as the\nnumber of characters actually copied, in spite of the meanning\nis the number of characters which would be generated for the\ngiven input.\n\nIt caused to remain zerod bytes between the failsafe command line\nnon sub device parameters indicates end of string.\n\nHence, when rte_kvargs_parse tried to parse all parameters, it\ngot end of string after the first one and the others weren't parsed.\n\nSo, if the mac parameters was the first in command line it was\ntaken while hotplug_poll was left default, and vice versa.\n\nThe fix updates the buffer index by dedicated variable contains\nthe copy size, by the way validates the comma separation.\n\nFixes: a46f8d584eb8 (\"net/failsafe: add fail-safe PMD\")\nCc: stable@dpdk.org\n\nSigned-off-by: Matan Azrad <matan@mellanox.com>\n---\n drivers/net/failsafe/failsafe_args.c | 14 +++++++++++---\n 1 file changed, 11 insertions(+), 3 deletions(-)",
    "diff": "diff --git a/drivers/net/failsafe/failsafe_args.c b/drivers/net/failsafe/failsafe_args.c\nindex 1f22416..ae857b0 100644\n--- a/drivers/net/failsafe/failsafe_args.c\n+++ b/drivers/net/failsafe/failsafe_args.c\n@@ -286,10 +286,17 @@ fs_remove_sub_devices_definition(char params[DEVARGS_MAXLEN])\n \t\t\tERROR(\"Invalid parameter\");\n \t\t\treturn -EINVAL;\n \t\t}\n-\t\tif (params[b] == ',' || params[b] == '\\0')\n-\t\t\ti += snprintf(&buffer[i], b - a + 1, \"%s\", &params[a]);\n-\t\tif (params[b] == '(') {\n+\t\tif (params[b] == ',' || params[b] == '\\0') {\n+\t\t\tsize_t len = b - a;\n+\n+\t\t\tif (i > 0)\n+\t\t\t\tlen += 1;\n+\t\t\tsnprintf(&buffer[i], len + 1, \"%s%s\",\n+\t\t\t\t\ti ? \",\" : \"\", &params[a]);\n+\t\t\ti += len;\n+\t\t} else if (params[b] == '(') {\n \t\t\tsize_t start = b;\n+\n \t\t\tb += closing_paren(&params[b]);\n \t\t\tif (b == start)\n \t\t\t\treturn -EINVAL;\n@@ -393,6 +400,7 @@ failsafe_args_parse(struct rte_eth_dev *dev, const char *params)\n \t\t\t\t\t&dev->data->mac_addrs[0]);\n \t\t\tif (ret < 0)\n \t\t\t\tgoto free_kvlist;\n+\n \t\t\tmac_from_arg = 1;\n \t\t}\n \t}\n",
    "prefixes": [
        "dpdk-dev",
        "v3"
    ]
}