Message ID | 151430323889.1302.507518710774200964.stgit@localhost.localdomain |
---|---|
State | New |
Series | "Introduce custom per-task service fds placement" |
Headers | show
Delivered-To: criupatchwork@gmail.com Received: from gmail-imap.l.google.com [64.233.165.109] by patchwork.criu.org with IMAP (fetchmail-6.3.26) for <root@localhost> (single-drop); Tue, 26 Dec 2017 17:15:39 +0100 (CET) Received: by 10.236.179.132 with SMTP id e4csp6272559pjr; Tue, 26 Dec 2017 08:15:36 -0800 (PST) X-Google-Smtp-Source: ACJfBotTOIA8ixxmNC1EtLuTUK4lbgzPEmASHBmyTNxF1zVIY+sSZxPw8euJlZFdGPJo2oZjym2y X-Received: by 10.46.17.153 with SMTP id 25mr16127542ljr.36.1514304936310; Tue, 26 Dec 2017 08:15:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1514304936; cv=none; d=google.com; s=arc-20160816; b=fE2xNDni5aQH20hMsPcs8oFQ+GT/DV9QDJ6TW9Rm+VT5u6ULJb2E9TH0cVPTW/6VuT 42oV5P1VAamfGGlhWQRQKR9h0ZuQuQ1ZG4FzrkE7MvVp1eAnByvAhA75VCDVIlTW+dd+ FfVzhbnMl2/IyOADLKYHy7Qgu+rK75mzNDblYQgJQ/4T6IT4FNznnjtrSuVwngEJTEVb Veq0WWgfTZ66WbZEY38+YEF2BGwkGs70Ordj8ypt3YDj28dOfcb4EWdQlkqPcxssg+n1 wXw82Y8lB7UG/cTVpC9llmDGrgceDkAsavabYWIcEL8wXfP4bglbPPFLHLXX0NAbXTeb eftg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:sender:content-transfer-encoding:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence:subject :spamdiagnosticoutput:mime-version:user-agent:references:in-reply-to :message-id:date:to:from:arc-authentication-results; bh=+mcinnD1Wc2xm/lJnP+RBPUWKXlSOTb+RqYcaJo6MBc=; b=GLTEJeumFZYndXB+LoCeGug+7ZuLtFAhsRGfJyyZRuLLXQzjb66EdDc+BJ8SaSm3D/ +GrJWG7ueMS+zbT8jPap3YWUn6qVNBmObi78TEMpoURddJBpV3kb/oRHgzmMeYJZcbOX 2IYxcPIbevcnkw6pKAtfRx2YHEdS2Q4/HQ7cWJZ6vhwhxPsHROmgO5yEVN2UDlXqmjzk tTFwRRC0AdMcV+t+q5Pekopg+rxaYFh1E8zDT8WoI7zom8QrqMPToxWzr0Tg+vMO6klm zAw4oCEqRQS2GBJtXCIJroIP36bZfWp3kwAmf7EPqfAMYGtRZpo5fo5h3mOcJcg3Enm0 Wh7Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of criu-bounces@openvz.org designates 195.214.232.140 as permitted sender) smtp.mailfrom=criu-bounces@openvz.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=virtuozzo.com Return-Path: <criu-bounces@openvz.org> Received: from mail.openvz.org (mail.openvz.org. [195.214.232.140]) by mx.google.com with ESMTPS id h4si6072792lfh.24.2017.12.26.08.15.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 26 Dec 2017 08:15:36 -0800 (PST) Received-SPF: pass (google.com: domain of criu-bounces@openvz.org designates 195.214.232.140 as permitted sender) client-ip=195.214.232.140; Authentication-Results: mx.google.com; spf=pass (google.com: domain of criu-bounces@openvz.org designates 195.214.232.140 as permitted sender) smtp.mailfrom=criu-bounces@openvz.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=virtuozzo.com Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id vBQGCpml026080; Tue, 26 Dec 2017 19:15:12 +0300 Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01lp0212.outbound.protection.outlook.com [213.199.154.212]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id vBQFlV53025783 for <criu@openvz.org>; Tue, 26 Dec 2017 18:47:31 +0300 Authentication-Results: openvz.org; dkim=none (message not signed) header.d=none; openvz.org; dmarc=none action=none header.from=virtuozzo.com; Received: from localhost.localdomain (195.214.232.6) by VI1PR0801MB1342.eurprd08.prod.outlook.com (2603:10a6:800:3a::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.345.14; Tue, 26 Dec 2017 15:47:22 +0000 From: Kirill Tkhai <ktkhai@virtuozzo.com> To: criu@openvz.org, avagin@virtuozzo.com, xemul@virtuozzo.com, ktkhai@virtuozzo.com Date: Tue, 26 Dec 2017 18:47:18 +0300 Message-ID: <151430323889.1302.507518710774200964.stgit@localhost.localdomain> In-Reply-To: <151430310684.1302.5941724497274712290.stgit@localhost.localdomain> References: <151430310684.1302.5941724497274712290.stgit@localhost.localdomain> User-Agent: StGit/0.18 MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR0501CA0019.eurprd05.prod.outlook.com (2603:10a6:3:1a::29) To VI1PR0801MB1342.eurprd08.prod.outlook.com (2603:10a6:800:3a::28) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 28b0e537-b11b-407c-78cd-08d54c77f441 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(7168020)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060); SRVR:VI1PR0801MB1342; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB1342; 3:hwwohI3MUbY3lSGF9VDr3zmd20iLgqM6FuRJkqps+s5HCd/4xho+QbWbUMEf6ba9fUR32BX06gB2UbIfegO2PZvoJ7V/uK6jR+94BUKy0vtOPlhb4YId9vVKc6PWVU9/NLuJVOrZ6BDnNkrj78NY55fJZIZGXZlqx1R735lMUutegkb/lFP27CzsJ2sNRfgbNADuFB5oxwu2lfnVKVoSi8X5wO3SM4+T65mdPgMYsCWQ8YUvQSX8LkBRnKn/tNVq; 25:p9gINhdgjXTcYGY+nBuCQEGD6IcvgCP6YR8JXoO+dUP0OW77FRfrlrqqfKlu1KFE9l6Z3oyA5dTVnUairxT/0EphLeZrpCFLwtVQvG78LoooSfSC71Kwe/cdh6MceI9xl4MhFYxinbnSnLvNqxAGkHypXwkHsAi6PF9KhHs2Pw2O9DFGwXHncl9uCd7IxUtJpEi/WebhOUIsZOpAGifYaGlnC3XES6ZiCUdYFdnoXlVDXsZjp87qAwmyor+kQ1w62UemOOM0tu/vM9uqcQncmxpo1CwoqD27LxPKF5GFopkbMHbqGVAiyn7jdVCUriTOQwhGOyrpwuyVOlzztEm2rg==; 31:odSEuF0mSSpO5Ulw7w6qffn7FBG8gmWFlh0mitze2dvNuVKBJXB18florLenrQKL2bpNk0d/RYCWtmr7cWJZ5ICe+yGVDHY0hq+9hTr3uWcyQoNA1tusTNOKA046xI8ouYm/i3C6edhG/v9+Uy5mUbToeSJInH1anDQPFu9Gv/Rj97cbERtTBIPVJJQaZ6cVmPsy9J40/RKkPWWTskPDXlmRCWIlvU5yFJmqrIDNOXQ= X-MS-TrafficTypeDiagnostic: VI1PR0801MB1342: X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB1342; 20:D2a2djdQishQinxnRwA8e/qk93gmp7WDIHisNv5oaJ4qZKLdnOcQXjec0hABbgZys/3PYVI8PpTzl5aYC9WkIB17DLkodW7d+1bS/u7yH9jm7OdG5WmEZvu+Yz0x0p0hO3YkXfL9zEoYgxZJOC/zbMI18jC/w9XOqu3EI2bPRyC7GlXFjObp2xLaHpC8FgU8pctL5uUHECiGoBpHP7C2Ck1QDWKKtyGLC9w7T+nge5GeMPhxGuPum9ajNbv785/qs8ytexi8rXhVYQaaQ7RIjkbulhn0l2piBYRVe2LAIGjELdYgYejFt6qBowDzK8kxT6hb87gE5gTl7NYq6FEmH2Uyznqh68GDFY0Js/U/C/I6tT8x3vrfWYLxzu/+njZA7BG/pr8V+ZrFSRq1kMjqCWhbBiWwYDVuSvy4PLgqEQQ=; 4:pufFr1nQI+5kn1psN4djQllEg33dSWe6yP1cIC+apM/mOB3+WCLznKL82sGX8MyJEfkuFMEtiTnPSdtiJCFNTX0NM+7upxDqtXTuSHhum7hi47GemNVVKYDNQMZ1Qcv7sdtiIJgKkF/8Jn0Ii6A8MXEbUpuZGwHw5EXGjCqzeH6DPbTIeRvVqc+GusdA+hxg3A0dItLuYCQHUP/7XMdW6Icf1zioPD0cxRQhWgfZS3P2WjJsW2hdIiKbj4bzbW0yQXau+b/FEuI6vZ/Ac0kllQ==; 23:qkuVfwxgSRVmqxoMPvkRzzxNyO41Otip0x6DaYO91IhWp5u2MAipKP43aTVwZ1FUu+PLzD+pxXrvCSxRGt2WFUYIZJmNf2uxj9S7VZUBgKsIFXzBB3QwZC3iHnC8l2TvZggmMwEFob5TO9eHd3i/Kw== X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(9101524173)(2401047)(8121501046)(3231023)(944501075)(93006095)(93001095)(3002001)(10201501046)(201708071742011); SRVR:VI1PR0801MB1342; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:VI1PR0801MB1342; X-Forefront-Antispam-Report: SFV:SKI; SFS:; DIR:INB; SFP:; SCL:-1; SRVR:VI1PR0801MB1342; H:localhost.localdomain; FPR:; SPF:None; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB1342; 6:IpN7ZH7DAbmBjHGxLLdFH5TGozeg7OYYWhVsSejswpjgRMzeTJDgwoAQKiG74U6BGsOcUGIlq//f5Gph5uMfvu3NJGep0cFK7/U9ZQHrKDCwAG03kk+xoCimFxvhb1J3KyJ/pbN04yXiJzf9NOTnYlI7nNN1oAWf6i5kYmkOQzoAgMi6C0anxIU7kUSmu1nb1xgTBYjVvb5amq+wjk4spJwhw18I+DfnBSM0OS2ynydabxCU3izp3Ln2FBk2HcT1JGL3W/FZL8BZeoPdMhVUJHFsYqIbedAhkLCnCTljjr+xDXfg4fUQyrdAqPa9xTotScA/SX8y7tpgPZSCohwREsvH/hSo+Sjtpx6lI772sP8=; 5:qYIw6HidfSys0Wkkn5TAYVTH2KzJ7bqOypaP1lEHYP8JM7zSADfHpUDh8FIc8HBo3trvZPsrr4dI5QRC9r6wniM5Ib9GM7qxb12KtONUdp7ubTkEp8NX/77ZptAj2cdgHlGsarX4Zv/1ng4MPHLuHSKX5RPTb+cdnpqZVftnzGA=; 24:iGULqEkIJ/6UnGhQIjeVKSeFOVqTX+jiDtqnHfhgNUV1rEY58YwxKyjVWeZqfB7bxhqCNPBTzj6TUOMndGXr3dNYScns/9QdIi3DXNzY8UQ=; 7:3A12Tzu/yWARVFSlEqJRDTJU6U2F5yZ7CXYmO5akurkDnS1IHRhCi8lbAs0Ufjz+9fbUeqo8qnuP+mr1oPsnzhspEhWHxXSSUM0t6PZNIOSdC2jMSRmYKplEu70nSkOZF8XK4jQAUrRQtsS9ceyEk1dxgvTqUnZIeWhTf9w4+v8cjm6Rz3ldbs89ppi3Pz8ysbaN/gfy/G8AGibt/8I9Gkjlw+rnxWjOAc1sI5W8T+zF1HCIP4QGYDIUV+YmFXVN SpamDiagnosticOutput: 1:0 X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB1342; 20:2hcoBZsjUH4hySk+fZ5bTcixxH64G3OjndzdyguNN9dQL6d1X+/YmSn9LM8ZR2SdHRaWs5sB6jcqiqRlbmdRnmSUwbWl6a/7D2op9vujJ+lRebVzhfxaHlP6ZaAoD3rO8asx0rBEkB+53Yi5krP6WNzodVQd+vviyBYY+CkNMfI= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Dec 2017 15:47:22.1324 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 28b0e537-b11b-407c-78cd-08d54c77f441 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB1342 X-MS-Exchange-CrossPremises-OriginalClientIPAddress: 195.214.232.6 X-MS-Exchange-CrossPremises-AuthSource: VI1PR0801MB1342.eurprd08.prod.outlook.com X-MS-Exchange-CrossPremises-AuthAs: Internal X-MS-Exchange-CrossPremises-AuthMechanism: 06 X-MS-Exchange-CrossPremises-TransportTrafficType: Email X-MS-Exchange-CrossPremises-TransportTrafficSubType: X-MS-Exchange-CrossPremises-SCL: -1 X-MS-Exchange-CrossPremises-Antispam-ScanContext: DIR:Originating; SFV:SKI; SKIP:0; X-MS-Exchange-CrossPremises-Processed-By-Journaling: Journal Agent X-OrganizationHeadersPreserved: VI1PR0801MB1342.eurprd08.prod.outlook.com Subject: [CRIU] [PATCH 11/12] files: Prepare clone_service_fd() for overlaping ranges. X-BeenThere: criu@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: CRIU development <criu.openvz.org> List-Unsubscribe: <https://lists.openvz.org/mailman/options/criu>, <mailto:criu-request@openvz.org?subject=unsubscribe> List-Archive: <http://lists.openvz.org/pipermail/criu/> List-Post: <mailto:criu@openvz.org> List-Help: <mailto:criu-request@openvz.org?subject=help> List-Subscribe: <https://lists.openvz.org/mailman/listinfo/criu>, <mailto:criu-request@openvz.org?subject=subscribe> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: criu-bounces@openvz.org Errors-To: criu-bounces@openvz.org |
diff --git a/criu/util.c b/criu/util.c index 5b260cef4..2ae4d8e64 100644 --- a/criu/util.c +++ b/criu/util.c @@ -547,8 +547,13 @@ int clone_service_fd(struct pstree_item *me) if (service_fd_id == id) return 0; - for (i = SERVICE_FD_MIN + 1; i < SERVICE_FD_MAX; i++) - move_service_fd(me, i, id, new_base); + /* Dup sfds in memmove() style: they may overlap */ + if (get_service_fd(LOG_FD_OFF) > __get_service_fd(LOG_FD_OFF, id)) + for (i = SERVICE_FD_MIN + 1; i < SERVICE_FD_MAX; i++) + move_service_fd(me, i, id, new_base); + else + for (i = SERVICE_FD_MAX - 1; i > SERVICE_FD_MIN; i--) + move_service_fd(me, i, id, new_base); service_fd_id = id; ret = 0;
In normal life this is impossible. But in case of big fdt::nr number (many processes, sharing the same files), and custom service_fd_base, normal (!CLONE_FILES) child of such process may have overlaping service fds with parent's fdt. This patch introduces "memmove()" behavior (currently there is "memcpy()" behavior) and this will be used in next patch. Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com> --- criu/util.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)