From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934269AbcKVSKC (ORCPT ); Tue, 22 Nov 2016 13:10:02 -0500 Received: from mail-db5eur01on0106.outbound.protection.outlook.com ([104.47.2.106]:27296 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932921AbcKVSJ6 (ORCPT ); Tue, 22 Nov 2016 13:09:58 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=aryabinin@virtuozzo.com; Subject: Re: [PATCH 07/10] mm: warn about vfree from atomic context To: Christoph Hellwig , References: <1479474236-4139-1-git-send-email-hch@lst.de> <1479474236-4139-8-git-send-email-hch@lst.de> CC: , , , , , , , From: Andrey Ryabinin Message-ID: <996e56cb-137f-cd3e-eb69-e9ef03ad75c4@virtuozzo.com> Date: Tue, 22 Nov 2016 19:35:34 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <1479474236-4139-8-git-send-email-hch@lst.de> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.10] X-ClientProxiedBy: HE1PR0401CA0071.eurprd04.prod.outlook.com (10.168.27.39) To VI1PR0801MB2062.eurprd08.prod.outlook.com (10.173.74.147) X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2062;2:SfNlVEqORC/pqptncy7kAVvCgzpYz4N4Trc1AVLs9+RgGkRK/GH6MyJpEmqjd0RSk7/aCicrcfdcZTpC8nZNb1YyjjKD2FYWXpLPt2c/4ez3Gh04Y+weIUCk/if1AZlGZ8q7QowuDqNoMj90GjPDN9KnJFd4U0GecimmXfdw2G8=;3:zsnzltuIcdZC03LhziyUSbDHDbiBHjJrmZH99zQSLAzaC9srO+WHHzDnw3zaPCIKHgkYShk1nBvN5lOeXheDhxZVzZlAhhIGKMa4swwHLxZvcnl809ThGuMIk8sg8u2w5vrVbTNtoE+AOj5Gz8HUYxexOXs4htGT43hH/j2BgIc=;25:Ljv40HEAppLiueCnH4PUSVb2gfgX26VL/5BJLMyuPoPXDQm1cymvvPP0K1bYgfYU85KQ3100j7PSQVpAEOW49NQTOX5nL8QONrwQ7s5JSJRMcmgdeRO2+OCwXyWJLEBVHW+bHJUNdnQjXjlF8trnVURkQwnIJa6ASwe2leCJdYehLnteRp5B991aBFIl/qcM5sLcJls0qIhw3sMvkbvXK75umwosml9JC8olCnoc5ynl0tEmv9z/3hAGzVU8dGCLMYtvWwv+r6CFApz9zMP0dLrD2n8uYhtaN9Ofv2TJ9T0vw7mddAzk0Sz3J4n5/c3OP3/ae89QObaIcRh6E+r92JunXU5iezVRcXZN5e/5rXIh5DE5jH2BWkaH66WfshA1EzG34EF4F0FHsZPcAsRxBKpsLVB2lyse6grYQ1vyakH2Ll/MVKYsNFaqFibQvmWvj47YgHs3cE8Ju2GMLEvNlA== X-MS-Office365-Filtering-Correlation-Id: 8fe09f39-ae57-4a1b-c045-08d412f587af X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:VI1PR0801MB2062; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2062;31:fSAx+VIwrVmpbSkrMHL8kh+mNHAFSR5069/m38A2FL7hzgMnGFdNtfD3zfeFB03RWioMITHk8WrG/jMCq/Wv7dNv6mrDspwKv3oAZ7tEwbyirabEvNdYR57zQWLUifjcQkwgVD7ik70FKvRbBRYM9aub1Z7RrNyrg++qxOy6pXh2yDTeoGBO3End+QfOLZw8T3c17GeM0YyCTcFUFyMRbyWcVRuYpOHT7/7KoEdB4fiVCNvx6Mg/9EcnmiC0HulYmFt+Ji2+2dFP0geLd1EbD6NieCUIe2q/nQ0Fqe7nKZE=;20:KBwMkk2vy0P1MWMPD3eUsWqWClOBP7AJ1vBUiZ5HV2wSm7vYNibf0hxxVDWcHT2bb8le48mDRue6JVc8A6+1e+w/dJYoEm7/KFlItZ+rp41cEXhIfMlOYfxPnhVcLjtyQ39cgCZFdN/g/3bdSSBaFthQ4kGl5GCm1n05n/AlDrg= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040307)(6060326)(6045199)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6041248)(6061324)(2016111802025)(6043046)(6072148);SRVR:VI1PR0801MB2062;BCL:0;PCL:0;RULEID:;SRVR:VI1PR0801MB2062; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2062;4:supqInFRMAx3bUPqn3lJJSDphXXZi8Fz5Mjo5Q/ftYxSi7EeJ2iZSwcKUbz9ui6o3utaDCroWgXjQXgq5wf5+t5IcH6VcqOtPHX7HrbtbBJ+h5/Z9eQML9C7/b2LXwsI7UV5M8TdraHk1n/t/5+1jMMYTatA60Wjdqor3khnniQ6A92agJsVw//kSQr3bbwv75QTyXSod0OGSi+rHyWZr3n/YIAA8NzdA4TDQzZuSCbESVod543FlIhQge+7hNB60swLJCtxCkDxr9snqD+DkQa5L/TcxZJ6uujTChF58d+9hpxcVn7afyyvCV/hJUwYVrc6vGekRHCGvYwDq44uk5GdLcLkYFtIJNtVnGONXn2tLee/En4LLFZSXVzNtlvkCt2TCi9ueL+S4TLFVidbNI+6HbI6F/cPsYSRYj1m7uj6RPrSwAOyvNamfvHSyUKV50RKFUuD92nNHDGBDUMG+iM7ZYcvRsJaqqXcscPj2riYMmtqz2xB1RekHc9pgfUobrSo1yaAGMNFkGG67Tp+kRdapWaroryXiAC0OPfCvtQ= X-Forefront-PRVS: 0134AD334F X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6049001)(7916002)(199003)(377454003)(24454002)(189002)(50466002)(92566002)(7846002)(33646002)(68736007)(7736002)(305945005)(64126003)(77096005)(97736004)(8676002)(4001350100001)(83506001)(5660300001)(2906002)(7416002)(4326007)(5001770100001)(65826007)(47776003)(81166006)(23746002)(81156014)(189998001)(3846002)(36756003)(65956001)(65806001)(31686004)(31696002)(6116002)(42186005)(2950100002)(66066001)(86362001)(106356001)(105586002)(50986999)(6666003)(38730400001)(230700001)(229853002)(54356999)(76176999)(101416001);DIR:OUT;SFP:1102;SCL:1;SRVR:VI1PR0801MB2062;H:[10.30.19.223];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;VI1PR0801MB2062;23:HVfHSPJE6jAAVQ7n4wrCZg+sSSvZ2gpZw+o?= =?Windows-1252?Q?kJZFQihxULQUywxolLRUPZ/qZb9GwJFjtdvZqhyeLiA7kFbAEcDy/Wu3?= =?Windows-1252?Q?hcjCwhp5H9zZ032c4dBVjj0iCBbvQD+YzAsQkQ3JLpq+w6fhZ4Z+oh4i?= =?Windows-1252?Q?CvGj+Z7onIaFcXkP1Vm4nE1V1YB1Up6SSxnyUUpVY0wosnt18IRJpGrS?= =?Windows-1252?Q?5pvBvSirBiWfM+aNPGv6tVI2a8Ky5E165vPC/uzKWx9FHbI641Gha1VW?= =?Windows-1252?Q?8oqMfpLVdQgmuA6xAS4z/KG9ObUTwsMSbt81nSlXJEa4J4XUzBIkc6Lz?= =?Windows-1252?Q?mqPvwMwJaF96Zsj/zIAfKc9uV5qQnWaSS7DwICaEXIBFuz6j0QBNsFwq?= =?Windows-1252?Q?4sbsrFINE1bqE5oto8sSX/2h9/fy+enCA5j6DzrFWPsuOpl1Ihrt9dz3?= =?Windows-1252?Q?qrwlTXlRBFoX422phFcg/kXAcqtlHlKEElSQu2HOvWUbhdTdffzM2PZb?= =?Windows-1252?Q?80lrnh+NL/sjwkWODtHnisrayt/oCOzhIk7//ILHiIM2uaZ1fpcIQCOL?= =?Windows-1252?Q?CD3dtlm/DUXZnPZlAQZLZKB+Hslk1GMfHRK7Ro5+DHIRNsY4t0gMLaxb?= =?Windows-1252?Q?O4WwJAwgUfES57BXomtVHXRr22BhDkUbpVhoJyOSxF83jazhYk1imSS/?= =?Windows-1252?Q?ODbj9lSJzaxNj6Dq7xyqYehzdbpfqX4cuvIG30gUO9KIA5SCOoO1XtbX?= =?Windows-1252?Q?pFFvADvt+8WMdYoVX+ClKAku94iqIZV+mETiW35KRGCKmxQKbSBSQKh5?= =?Windows-1252?Q?iYpngInKNajSFB/uryQqKtVfQMNRvCSIYRHEFQgfWbqYYRNJZ+P9DFoP?= =?Windows-1252?Q?MO3BvIF4+Tu9cyjOfj+z973k/P4jNVRlk76ujHiRGSMMCZnOGOEbz4LF?= =?Windows-1252?Q?rAl6qIGYtoAtBtAFiMnd7XcEAQUTIjSwnMurA+Ph5NtnplOA9iisNf8I?= =?Windows-1252?Q?P24eop8uSoo+Gy8OmRM44zu6opRp3W9WuGvwXFDHg/s0pCY+4ECF3Dg/?= =?Windows-1252?Q?X12Y6bNtttAQR/jLucVSajTwUsT6rdzyWmV61lwSmCcDNQDHFwCaB0nw?= =?Windows-1252?Q?EFv/xVt28tB+hcS3IBU/iJVKZJdfYihBPNWhE4D0Kb7FGjb8rEWFXG/a?= =?Windows-1252?Q?7x47EgmS6PGUGarlv4gDx4/xVK4IPKZl2ApEW3Kb5RfKKzZNGLIlrzt/?= =?Windows-1252?Q?6X6NE9gD12e9t9RzCmlwkAGnzVUKScBboAVkZF9lUFEBo9t4tvdOJ4hp?= =?Windows-1252?Q?fmyQcWPSvPCCIzyazihUHbK+KjMf1hCFJlFPKP4JXIDh2H7TtmInHbHE?= =?Windows-1252?Q?J6nEnlNPq14/wvA3j0juT7z7h0jPSHQ2u1BDC+2hIKedUcqIvxAKzpHA?= =?Windows-1252?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2062;6:5GPDLTfCpK25VuXhH6dE6iGONhKyyvFM+IiNs05D+yKNXat7KRqdddGjFTEd7+H4QbGKxMeM/TN0zBpywAsnqImHrttVL22AtzwAV3wmVpY+tBlGfBDyF5P2sVWJla1GCsVHDA1JIQHzsAvPhkogbVJiIP96tCElBFNApkwIcHqRvyXoP4g/USQI+j0kXZ+sDh46nIRASj0++F5LQB0Djnb1M/s71pfBaj0lwEtMudF+UumEwiXUDnOMctBrqZxlaijeqCmRBHslZDqeZttut4Xq6DVZJiWbk+s3qnEf4FmTAp9tJQjcFmDUlwWXN7EVfwHvmABs7QUcMnXSIcNrhp633MRoEWC9xUM9TAWREahtLrnKYkqFUlHNLAsAN5xA;5:Pud5L2vOsBdfjg2nUizkRNXbLgsEcNgora29TTzTWS42CQSrQeAwzry50AMV7QDfYiJeRs/kQVfRjfiC6OVu5L3s1HO6L0Li/91umfX/gTx+DLq7w1MUGRkuk2SdJu8xITT0lbMeueVvoiH6Ly3sQA==;24:iBWpgavX9Mv8gDlloHitx2tZXEQ7GxAAwXG0jkjk6cfYyC0EkSVMknELFQheRp//K2yAgmfXhO92ipqIpMg34yPuC7krcbNq9lYanuppArI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2062;7:tfiRgljeRNrGgf9VLWg9Ax59Pu+EEeWrcUfbrWtMgTFrl6sGCa+YuOCBM0+vO5qwgFkpLdXexeaKUpg+1gvzdYcg7ut4ftxqwMGjZkSBpqFhm/jUXhKI6l6fiDjr3Jk87iVe7+ZflcG54m6uCkWJIbfsjRUA33MhvuCOrfCMF8NWGoewZEkMF988WoD5CCSoCyE1kjr3efujpXqydPiILFdqx+iYD89Vm6vevDIfgsI0GUQ6mNL+NN0acQlHQGTpx5AINLUQOhRIfRUemYM66/sVzPpQrsHzY3QbHPpPOVL6dhONoQYafsWAXpziMPRGa7FSD2CBGTRkE89sMxQjxhMmLGjRHozsGJXs78K3yRY=;20:KSUeGVlGrP0lnWasi2lFf1jPjfYNSS0wO5/aV7DaJOqXAWxZGUASde91VtVD9QbxIETZ0nsu6xnva4G1O7UgOLFSyNYxBPo/Fe2eRZmtS/OVKaVDM3CCmlbhPNaQ1JZDtt/4PpC6Qievk82QAFCwIdBlSaDcDZ0QAUuprkwsVeM= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2016 16:35:10.4900 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB2062 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/18/2016 04:03 PM, Christoph Hellwig wrote: > We can't handle vfree itself from atomic context, but callers > can explicitly use vfree_atomic instead, which defers the actual > vfree to a workqueue. Unfortunately in_atomic does not work > on non-preemptible kernels, so we can't just do the right thing > by default. > > Signed-off-by: Christoph Hellwig > --- > mm/vmalloc.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index 80f3fae..e2030b4 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -1530,6 +1530,7 @@ void vfree_atomic(const void *addr) > void vfree(const void *addr) > { > BUG_ON(in_nmi()); > + WARN_ON_ONCE(in_atomic()); This one is wrong. We still can call vfree() from interrupt context. So WARN_ON_ONCE(in_atomic() && !in_interrupt()) would be correct, but also redundant. DEBUG_ATOMIC_SLEEP=y should catch illegal vfree() calls. Let's just drop this patch, ok? > kmemleak_free(addr); > >