Message ID | 152105504019.24797.10144541024701950908.stgit@localhost.localdomain |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show
Return-Path: <netdev-owner@vger.kernel.org> X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=<UNKNOWN>) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=virtuozzo.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="aaPIVqhp"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 401hLc4nM1z9sVJ for <patchwork-incoming@ozlabs.org>; Thu, 15 Mar 2018 06:17:28 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751595AbeCNTR0 (ORCPT <rfc822;patchwork-incoming@ozlabs.org>); Wed, 14 Mar 2018 15:17:26 -0400 Received: from mail-eopbgr10099.outbound.protection.outlook.com ([40.107.1.99]:18560 "EHLO EUR02-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751426AbeCNTRZ (ORCPT <rfc822;netdev@vger.kernel.org>); Wed, 14 Mar 2018 15:17:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=AL8qnISjP6JAElLSsLuqK5GerwbiDk0s7XhZSe89mIk=; b=aaPIVqhpaHdX7GYBbXoCcnz2WTD3/aXS1yQ5h6XL61Irk5gajBrr0Xgr1ncCj9vNgXTVc/bK9k4MI4xahMDpBvKC0mcbunhP9KVPTqmLS5ZlgA84Kfb6KtouYC4kJjo/gW2h0X9JLU/QrmKwUW3lPz1iFjFJ9T/RAk/H5sa7y2A= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=ktkhai@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.567.14; Wed, 14 Mar 2018 19:17:22 +0000 Subject: [PATCH net-next 1/2] net: Add rtnl_lock_killable() From: Kirill Tkhai <ktkhai@virtuozzo.com> To: davem@davemloft.net, ktkhai@virtuozzo.com, vyasevic@redhat.com, edumazet@google.com, nicolas.dichtel@6wind.com, netdev@vger.kernel.org Date: Wed, 14 Mar 2018 22:17:20 +0300 Message-ID: <152105504019.24797.10144541024701950908.stgit@localhost.localdomain> In-Reply-To: <152105492788.24797.10467675660981296096.stgit@localhost.localdomain> References: <152105492788.24797.10467675660981296096.stgit@localhost.localdomain> User-Agent: StGit/0.18 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR0202CA0011.eurprd02.prod.outlook.com (2603:10a6:3:8c::21) To VI1PR0801MB1342.eurprd08.prod.outlook.com (2603:10a6:800:3a::28) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 62338e80-559a-4c5c-961f-08d589e036d3 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:VI1PR0801MB1342; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB1342; 3:CmcB/09IO4i1cEO7sQkhVR2isOWi17U7aDvNqRxpJoDuUhygAViWr7Oo2f96+/fRfsh3KccrwZPt59hwsug2GoDo4/s3dQ29XhK8gn51eHPqHdjN6NYnO9ElClGQ47/47KDUJfulhFdua68s+LIQStRHqXcT+8NvvckjamNwx20Au0F6vKlNMIAobT8aufMyGpfw0GfeX59keg1iYjrwLp2+EZQoPy3UWeTzdhqtBmcW15u19gNKuqrxYiVXduvh; 25:bP9tOz9BElXD0sCJ3ql7IIRqdUGVW5WuiOCK79to7DpdO1jcTxHO1JCkRs4Phg7CmhjKfp60MYz3F1MjZK4LLfCn7T9QxfsFNQMQTqXKYJmexiDDXsrATTCtRiO55Oyu27hvoq/4Q8aEpbjyBDjUgQ24A66p4OWvIj0BalAej5bTjV4vEHTEsgpXRQacJW0LE42taaoreTYmvBNeSbALSwDWl/zkaSFTtbcQJ/zgJJl4EgwEc77J0hpB9oR36CvPTwtXMc+gcwN9pQVbDbLRsffX5jl+UZSNV+jOlR29WgbnD5PxbmFJsNjkJuQNpDOIZCgT6bPzmeDRkj457e4a8Q==; 31:DpdgFFwCbmzgRVQDX1LSdnzDQi+aZURiPEndK99akHRYz25vs9nH+Wtlq1Rj5t3awdNaa5gP9ecm61C47vTEpj1WD6bkIQCL+Rdh9JqWkihiddxk8iVBOFoCL6/i4AscrHroMO60q6NK6wuu9XmPShyeLPol0QyGuGy2gzDCJkkx7rZs2ZPrEOWSYrl4aKsIN2jUNpUmiscrBU69rODdrmK7M9rytXadR+OOPRmNNAk= X-MS-TrafficTypeDiagnostic: VI1PR0801MB1342: X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB1342; 20:HOSE0Wn/flyVJbyK9CQhpqoBMAh468SLtr33iP4CQ0hhJ9QQQIzK0jUdYCbGjl0Lhab0Gz6DqV+mFXLMqiip5/GSaRQvpRlFm4qaNPkoq1e/Gb1V0Fw1ZgmKj5lgIFzR0Gam7RbrmcCB31xIpxrc7eGVX+7s9GLzhlF28Do6xZ3hzz1W/dUhXf0iawD4ADayd/7vSee9fzOA7v0RywAZU/BMq1aR4FzaOOACm8uXmAMZoBgqAB8BVmGXQum21ysn57Qr6GhgpEmjLywG38TAsLid8LT5PeBjbzHMSqteHiELhWkAvMAo7De0Yexd5jk7tjKP8Zqnum+cJ6eN5DA5hovum49bDWl4O8/ghJ0enxbx/WFOCSbed3bl9LaTHJ6K/K5y1XkM3oxbGLu4CW5/SutaNlk00/o1/+oWpyxj/yPsQSG3ijQSApAKpvi+0kSpmiWzbpX05vkNAdPtyT2REvUo2ul6uFnEkKsSuWznrpLJ90+4aDhoGI/AnUzkpnEQ; 4:KBaY/XRja5TVRjrHi3pinmgan4YNKEC89Rib38ekGzLNO8F7bAhQn5tL/guNXJ+bLFUXovz/ZapLlM+3GmayKQoh7Q+pPrKu1tDjAOmMdlkNpgAJl6m8f8evwle8zQgH2Ul8yr15GF1SWv0AaQMkJ5kQaqoWm4UXaneGJOkMZH38z42K7AIruad9zOFBA8N/BOKiannuZOT1xqv5jnMRgKL4H7Ckhrmjk0/sm3ALygVfZjlj2TlTWq9LxVdj7j3q+908+EvItDR7wDDBWgaYGQ== X-Microsoft-Antispam-PRVS: <VI1PR0801MB13422842F4E894C1B2C1A536CDD10@VI1PR0801MB1342.eurprd08.prod.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(3231221)(944501244)(52105095)(3002001)(93006095)(93001095)(10201501046)(6041310)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:VI1PR0801MB1342; BCL:0; PCL:0; RULEID:; SRVR:VI1PR0801MB1342; X-Forefront-PRVS: 0611A21987 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6069001)(39380400002)(346002)(366004)(39850400004)(376002)(396003)(189003)(199004)(50466002)(25786009)(61506002)(478600001)(86362001)(68736007)(8676002)(97736004)(386003)(47776003)(103116003)(66066001)(6506007)(59450400001)(186003)(316002)(105586002)(55236004)(26005)(58126008)(9686003)(230700001)(8936002)(2486003)(23676004)(5660300001)(52116002)(76176011)(81166006)(81156014)(7696005)(16526019)(7736002)(53936002)(305945005)(55016002)(2906002)(2950100002)(3846002)(6116002)(106356001)(33896004); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR0801MB1342; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BVI1PR0801MB1342=3B23=3AO8?= =?utf-8?q?7k5d6woLnZ28bW3gTDsGkWGfA5L9q01fsPi5P7cxVXlFwqG2dWpIHkYk?= =?utf-8?q?uksLBBl/kCHudpSxXyKdJjZEFCmgAf0tRrYTU4ciXSn0c94ajOwgt1cg?= =?utf-8?q?vwj5For9Gvdv0W6e5GWhV3gE5ZPrO874d42CSo4i09yDBxeBMVCMxSQ1?= =?utf-8?q?XRrp+IimFIzF9Kkl36+uUqz+WTOXtuvWlBFrSerQGGSI1qHk7inujyLO?= =?utf-8?q?FQMFJ1JOQ8Eg/oF01J0E2b0Bm2ySfEyqYPgtbz4CwmiOyhtIv2/JZaWn?= =?utf-8?q?4HRIVO3+f8YC5kR3bFtxBmx060wBJxYgLCB/wat8Kv3XjKSyg0jRjYWI?= =?utf-8?q?FLKoEdJg8l3V+uduMlBZEiz81xllos7/TD2nFJmyUrFhY30HgkAan+KW?= =?utf-8?q?NTZ79C3OO0tqgHjja5xhDI5dNhmDII331Js1ag+r9cu+azhleGHDTez2?= =?utf-8?q?+zwOk5cNkb5LF6uHmcoJFujPplYbZI/UVX1LUKgkd4XuzGu+ZN3z5CUU?= =?utf-8?q?KnZ98JEoESt/S/eG9Vg/jHeUTN6Ut38TfeOqOLMKzRPVz57RrLkB5Egc?= =?utf-8?q?8IciY+0IvpQnYmQ0yyOxs29ZqLvhY/T7f3PDXkPKXYfI2RdMOmDiqfws?= =?utf-8?q?GEekL1soh27tHSPkyafZS8Hnt+UKi0rAwZp9NrcHqdzbMvcS5Ko98Vyx?= =?utf-8?q?wRCJZgMRPEIxD1Kw4dLyn8gSobYtOPNIC3rAk2OWHfPnCPBuX+X/no3K?= =?utf-8?q?Ic5oYHzLs6Wz0BLqO0b+/MUvW+qmMLlh7KKkiPrfjJssz+t1Mc606S7C?= =?utf-8?q?+iEHcNcxH0SxTaHQF3SBBSQhNXHCmQNFNtoC3yN13ufFWAwBJhiKBx5i?= =?utf-8?q?ICkNop7H97uS5HrO5/jNUWVm/2OJhrAmeYJFyVKuL/X61wA0iv2ZNW4x?= =?utf-8?q?QHtcqdhoDV3Jk3PqeOXkpbxxiB5h+Ore3CXHY0XWPzowhIH3ENk0PfvS?= =?utf-8?q?WP/NDHfbcB2LIezP+e8tc87BpN+aURDQg90ujER/eUtF0xh6nWbCD5hb?= =?utf-8?q?3na2NtT/RKOQdzg4cDzdZlT4g5UbW1HOOGItrAUEa9iv5Wazp4Rj8zMc?= =?utf-8?q?UD24plrwlT6N4eww53uTG7MxNhpr/nVx4m8vYLd8DMmQzsOuTqIJbwlw?= =?utf-8?q?xW+hf/Rds/4y+gLU9ybsrvDJETocMxt42vkumrD3Wjv2R87RkoI3uAwQ?= =?utf-8?q?4SUyBH7E/wYoXZoDo=3D?= X-Microsoft-Antispam-Message-Info: So7tVgklM9DQ4DD75NtHLncpVFP8wSTZvVW4i2PLvCUaSlWM+hOXZOzkXxJDyjYHmLMZ2vte0GSce1q7Xo2OSFFPiQ8aFEU+p6v3d/gmZ1h3y+IVipc9oAzNbkLU4Wt4koLMFjQfU280Eu6n/FnssNlGXauduylDnVDxo3aDB0BjDDWMtyEDZxCgUR/If5dD X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB1342; 6:1wLhSgG1PPYbVpNhMV5IW04U10G9fubd46Vue/Ry4ignkNYVkNd4YmXPKhuZNmGkmPCzxHEoCoTK7KzAwv66MY1ywJvn13uel9RvUbSxChFCBsMAAHytED405z0VvqWAkW2wSbQEPecLTFKcug8ZGkguk8LtK28A7p6OMsz4Y9zOI0+B5rKdElO4tum5TBmKDIJxJ7BfgQQfM8w2EvDZq+Ba/Nf6VO479q1R5vocymr0wggKetLPHLnSCi5VfWcKo2q4kepSMi1r3WPSh6+IICjgFjXV/y6MEKsPyPpTS4FM4tYvDLQCaJzZAVmWpANSVlc+AQGYTFM3xmCNM/m9t74AsDiZWm0qGchujXOBtek=; 5:x+ZN8jFH+3fEVCkkOr+nyNZaN5Hpe9jGorw+2ctsIkCmKqWYeCuRZ30U9s69FYLuKEqYWMf1mZbJooWFmpYBj7CVM47VEmmMfLUtata0riTvHLSH9pmmXqhMqZBqQbNIYhNUM8t4qXwjrnZ8vcwf33IognaYF7nMkSsYNSTQiOI=; 24:4ARXVPaHRY2gOuPv989E+frvi5PCyEKl6vVpFQ9pM0bgJN00wyxFtqYocoCHOfIQGqoDwMIAekC8DWsQbUT06ICAmLSq8xorGlzuMRqaoa8=; 7:HvSIM9Z+iiE5dUnUrYxp/80Ulv+xDE2uiSwYBEJRIZPv7iu8kzixIcpbHTh1JSBA1gpfODfpG8gH669iOFP4TdaumZGAfkGWGrCvlOJl2NHXX3lzun3WMbbeIzN964pJ0MeKcCSYIyX058yKDhsH27M9zI924Hz+xiqs+OHsQIaP3XC0Q32rc+NAzRGJh1PAbahJCuJDF8jUyF5/fFmE5niOw3G+vJrgIESuTTPydeqYYsBEoJ85S3cYejgEm90b SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB1342; 20:WHeL2eYoAYZhDVM5pF7OhSLgCdYcdKvVjDZZroOykyn0SrDajmqfBvBWx6caxebWi/eDtvjeX4JM6VEfQVpovMF1ZSMESsDuK1TCGsHOrpx/Yao1wl9WKUOiE4vUmflqCDsXt/f7Kzv2QNaVbqA0Ngq5GgsXQ8j5onH+z3BQ2TM= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2018 19:17:22.2996 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 62338e80-559a-4c5c-961f-08d589e036d3 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB1342 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: <netdev.vger.kernel.org> X-Mailing-List: netdev@vger.kernel.org |
Series |
Introduce rtnl_lock_killable()
|
expand
|
diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h index 3573b4bf2fdf..562a175c35a9 100644 --- a/include/linux/rtnetlink.h +++ b/include/linux/rtnetlink.h @@ -33,6 +33,7 @@ extern void rtnl_lock(void); extern void rtnl_unlock(void); extern int rtnl_trylock(void); extern int rtnl_is_locked(void); +extern int rtnl_lock_killable(void); extern wait_queue_head_t netdev_unregistering_wq; extern struct rw_semaphore net_sem; diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index 67f375cfb982..87079eaa871b 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c @@ -75,6 +75,12 @@ void rtnl_lock(void) } EXPORT_SYMBOL(rtnl_lock); +int rtnl_lock_killable(void) +{ + return mutex_lock_killable(&rtnl_mutex); +} +EXPORT_SYMBOL(rtnl_lock_killable); + static struct sk_buff *defer_kfree_skb_list; void rtnl_kfree_skbs(struct sk_buff *head, struct sk_buff *tail) {
rtnl_lock() is widely used mutex in kernel. Some of kernel code does memory allocations under it. In case of memory deficit this may invoke OOM killer, but the problem is a killed task can't exit if it's waiting for the mutex. This may be a reason of deadlock and panic. This patch adds a new primitive, which responds on SIGKILL, and it allows to use it in the places, where we don't want to sleep forever. Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com> --- include/linux/rtnetlink.h | 1 + net/core/rtnetlink.c | 6 ++++++ 2 files changed, 7 insertions(+)