From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (unknown [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id 0807D80024 for ; Wed, 26 Aug 2026 16:50:32 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 67QGnHdh011150; Wed, 26 Aug 2026 19:49:18 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 67QGnHdh011150 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="cIHooVVr" Received: from mail-yw1-f199.google.com (mail-yw1-f199.google.com [209.85.128.199]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 67QGnF0s011144 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Wed, 26 Aug 2026 19:49:15 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 67QGnF0s011144 Received: by mail-yw1-f199.google.com with SMTP id 00721157ae682-8422f73d5caso36643237b3.2 for ; Wed, 26 Aug 2026 09:49:15 -0700 (PDT) X-Gm-Message-State: AFuF++nk+cUUBA5OSZvhyogcl5aC68o55njgLLQOMXTYhoT6/hjPbhfD VtPcvidT7oc6vH3x9ObNRUnIt5cNJdhLys70mjYuc5jA3CW9b0NyuTW+mpQNAz7KlTFlWzETUH/ VUT2cWjCuv5n3SBys/z3Ue95mYXVWPKN6om5Bk8bHhDKwrIgi7YwoiA== X-Gm-Gg: AR+sD12YEKiWHvGD9S16gIptWpSaPWQUWTH0XI5kIGBiYcDSB3oLapGzXlxREf3XUYX 2YyMrrCoEPfiED118Op2jYU1amIZoCITDJmiH4mCLyKagsG92xS73+sFUQfwy74X5RE3S6qyr+o YS6SxOtaPVImtje3EdJxSgEyrdEOUwylAQF4TqFQSnb6uK2XjIaIvYcawdLYoU7QFo+wW9NuagO 19pVCUNcEzj7gDipLOkrV50WYKDFacYr8GQcJ2ShD9yOUyeB3svM9DU72l8Jx183CJ5Eh4tvJMs hMjdTN+rmJuVgcWjnhL+NAM4sOZdcYadeQdyMLfWNaFXZwEzQv9nFHuJOiVlHRCKNtLza29/S5e rz4CyUTET+pggJPvtxORn4T6j+Qtu0tXFxyTlygqQKTanHa1W6a3cKLkLGdVUGJ59L6jHC/RiDx LdP1Xm8n1KdyRvhbCIMY9I X-Received: by 2002:a05:690c:c00d:b0:81e:893c:2c23 with SMTP id 00721157ae682-8573cbd1926mr32181037b3.11.1787762954843; Wed, 26 Aug 2026 09:49:14 -0700 (PDT) X-Received: by 2002:a05:690c:c00d:b0:81e:893c:2c23 with SMTP id 00721157ae682-8573cbd1926mr32180717b3.11.1787762954281; Wed, 26 Aug 2026 09:49:14 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1787762954; cv=pass; d=google.com; s=arc-20260327; b=Rb1hxBgwj6p4cQuAV/KPqdaudoRIUET3Ktin7+mC2y6UstaXg0LfuwLdfvfdRLVtcL YvSrQhMHiTDU8BmxCtOFb69j6DNqV5Cywlpv/Z81tIIgAPR9r/r53NMNa7bqL0tUM2FV 1o1pLOqar0y1k5e0e+CH9kXQk4eSMqv76XRF2dOBA5O+Rl4w5a6VGVpFHCUY7STpG4XJ UdkXmLcKz72uOvWR/TRGwbDbU+9IWr9OGYJyMRJgeop9EYRkRIDgltQ5YC6Sv3sRqPsM y/PJrgLfKm9YjfCU6WCRz7m8CHflqc3N7pRfUGQ64LwayrKD/YEb49wZgxRQ3afZMbZ/ k8KA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=mime-version:content-transfer-encoding:in-reply-to:from :content-language:references:cc:to:subject:user-agent:date :message-id:dkim-signature; bh=RR18x+g449BD5aftqpsLjGf8edzet9RWMcFRVUT1fU0=; fh=Qy5+C7QmVh3BWD+YucQYiUShJ3s4viNDSaeEbxNa1no=; b=EkwYXKNIlHxbeDRv8W54XQEzl8DflZUfomEeWkmXudqDmCXyje3RYylw+cFezQ20/i qNqmg21hNSvNYlF2iwbJNCgRe6D83fHUz2ryjdfKcXfDRIVUkyQgat8dTcFLwWLXipAS c4+40UGP0Vu2tC0HaU3P4GJ/ToYPuhQ+2jo/kuS/GpggOIlBQEAV3Cog59FPavyl0NEQ +ErTPXIrp4RVqA2BmEZ220FQ4tkoWb4i+7+2Fk0fiskv3lRh6oaH1xTq0bQrFl0QbM77 Mu5gulD6FCWNln9EOutQPL92mnHk50kceUYTH5OGJ5wB2VuKLy1hkl3a7ulWpEZZUXef xolQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=cIHooVVr; arc=pass (i=1 spf=pass spfdomain=virtuozzo.com dkim=pass dkdomain=virtuozzo.com dmarc=pass fromdomain=virtuozzo.com); spf=pass (google.com: domain of khorenko@virtuozzo.com designates 2a01:111:f403:c201::3 as permitted sender) smtp.mailfrom=khorenko@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c201::3]) by mx.google.com with ESMTPS id 00721157ae682-8570e2bdc27si21438757b3.85.2026.08.26.09.49.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 09:49:14 -0700 (PDT) Received-SPF: pass (google.com: domain of khorenko@virtuozzo.com designates 2a01:111:f403:c201::3 as permitted sender) client-ip=2a01:111:f403:c201::3; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=cIHooVVr; arc=pass (i=1 spf=pass spfdomain=virtuozzo.com dkim=pass dkdomain=virtuozzo.com dmarc=pass fromdomain=virtuozzo.com); spf=pass (google.com: domain of khorenko@virtuozzo.com designates 2a01:111:f403:c201::3 as permitted sender) smtp.mailfrom=khorenko@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=k6RbhYjvUJsV2va1PHaoM1uBcf21G77wEWpksQQxWz0FkKmOrN6lAE2R2cnxDTbqI6xSTR4ZRlN0/GKK6azWVQoGLso9nFQUZ0LfHgBt5zJjiDkhVhvx6mD2s+cU8jdVNGqLyIT66dQQr1QG6nyiEs51yBG+YS3TKsOZUcUyorbHXV+hWcc4ejPIMcxhs8T1jwIaiYfNx08JiFu3457BWD/qZ6N69zoOdBlsCDnE4kJTVXOQDurzF1vDYueQnqb8uQCdaOqse72nfIChdcZ8DUPauI9vXCS562DmtDnOx8c5TOSR3mqZbN//qF0hECqRzoXar5ofBXD3bcg/MqPUQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=RR18x+g449BD5aftqpsLjGf8edzet9RWMcFRVUT1fU0=; b=arzAy5BYaQYfJDSxxljVzM1KnRnTwp/7wZwGXcn3ityvIN/CS1C97S2rDh0atnTQLKJAdi3GSckCzROUDQhCrFLQiawLYfoDRpNkCetqDScPevWt1nu16QI0uVNe1CQRU/E8lIokTrKD15dbnTNOjilET5HYfCXeXQCVKTIdCKuAAH4hXoO6hXZ2zlgL2zFisHM0uC7QzGIOs5x6sYZFFJPUg1T5PRTFAd9B9EFLvGjE4AQScSEfTf6/QGbxt0QT7AvIX/N5LV01oRZQA8cCrwqGCxWg3AGNe7H5UchEanzyATixftjBk67qAxz30CyVImkGXBCXqLg/L1x9rXU66w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RR18x+g449BD5aftqpsLjGf8edzet9RWMcFRVUT1fU0=; b=cIHooVVrPq0s6Bcr7W+J+p5XwevVUU+KZ3OFT2k1YMOWIq/e40SOQ3vGEm+nNSZj8obxeyevUpM1GeFsl7d50tD86PjpShyY4vFWF8ZgQvLO0a1wS15fcWsjWLm541sYRunT6w9CMPDX9HnqKNcVRVFtZzvpTYA4I7lVoScWYjK8TkbeQ4LwHY2keaZ8K7VGLNEeD2XERv9msT2JcIFvXYC8HpMA14Gs6l0G1hZH36jbyJ/MlyzoKryI2pewf/c6COhKbbKN6OpkVstPMkRioxv+qx8L4DdZQ4zW9kMNdlphYxm4UDyuOBHDwO+AbzK5aJntj4Sd3HoeJKb/eCJrEw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from PA6PR08MB10708.eurprd08.prod.outlook.com (2603:10a6:102:3c7::20) by DUYPR08MB12015.eurprd08.prod.outlook.com (2603:10a6:10:65d::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.8; Wed, 26 Aug 2026 16:49:12 +0000 Received: from PA6PR08MB10708.eurprd08.prod.outlook.com ([fe80::1999:c6db:dc55:494a]) by PA6PR08MB10708.eurprd08.prod.outlook.com ([fe80::1999:c6db:dc55:494a%4]) with mapi id 15.21.0382.004; Wed, 26 Aug 2026 16:49:12 +0000 Message-ID: Date: Wed, 26 Aug 2026 18:49:11 +0200 User-Agent: Mozilla Thunderbird To: Liu Kui , Alexey Kuznetsov , Pavel Tikhomirov References: <20260706110002.1024515-3-khorenko@virtuozzo.com> <20260819160529.490608-1-khorenko@virtuozzo.com> Content-Language: en-US, ru, sr From: Konstantin Khorenko In-Reply-To: <20260819160529.490608-1-khorenko@virtuozzo.com> X-ClientProxiedBy: AS4PR09CA0008.eurprd09.prod.outlook.com (2603:10a6:20b:5e0::18) To PA6PR08MB10708.eurprd08.prod.outlook.com (2603:10a6:102:3c7::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PA6PR08MB10708:EE_|DUYPR08MB12015:EE_ X-MS-Office365-Filtering-Correlation-Id: 11f75b17-d308-4549-bba7-08df0391f4c7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|23010399003|1800799024|366016|3023799007|56012099006|10067099003|5023799004|4143699003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: YG6xJ5Oj/Rzzwja9QCQkvn+wxLOHGwRoxcW1VB9Ej8fPpn/d/ddTuvZtlE6KSR8awLmbT3E+oEyYH2LrQnULiAeMEal4CGzPovjHOVvyXoxP/UTDJG1a2wwdzAmV4NDysj7YS/Q9Ep5UUIrTLSTFEipxbSPt6kwvUP6/W7H3SKGeHQ+fA2O9eclgwE9LjclMUgIrBWTXWfwxztvo0t5fl4N00jOlF/AXYNNTzVRdCIuVmWFKDRfkULHWNtpWkqcS11cKllaJFRJfPTqv8ItM07JTGeGduKXPvu9VFzwq9SP7pu9pPxgJEV2iM20wCbvrI2A/sGYlmfokE0MLUMIUvxLBnUcGN4ebTRBaG4xhzvQVcw/mQSQIK9tGC6Vf3v/9XXpU99ALmQ1CBEilBAN9rKV6MCXfCJ5+zYRy7DvzFZkJslJ9wGhP4/0ggGe2h1ZW8QKjPzoww8iHTC3vRnizcZpTJN7vO9WYLRFF0EyD2YTEnmU4e1Y+0luzAXBw5+PTtx8UggWXNi23fil8PPqCmtvL1MRSG15NE+Gng3T18RzZZo7xGrb9Xh/Q0hkYDpV/Z0xgfyMCxIefWFYpCs+rGP9QY6OAtMXnj7svZ3uQgaXTqxjUQkFo4sRVKaz3MBdO5CHCcqFQDQeNSJvXGDDHw9qAD8lhvhycjiYr0cCip+Y= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PA6PR08MB10708.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(23010399003)(1800799024)(366016)(3023799007)(56012099006)(10067099003)(5023799004)(4143699003)(22082099003)(18002099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Qm9aMkx6RW1HNmJKSDR1Z3pYL0YrRzUyUVBJSFEvNVhrcHA0b1M5QlJIcXg3?= =?utf-8?B?ejBKMzJ5M1dYMUNocWluRkplR0g4SHkzTGROdkZFK1c3YlU4YkVaZFlhcmRw?= =?utf-8?B?S2U3NmFBNExVajFGQ2VGK29kTkUybEpFY3AzL2xHTHFodWUxcVZGYW9jeUh2?= =?utf-8?B?QzU2bHZORjZndUNnWW9wZU1WQTA1RnkzcTFIc3lhZUUwYmhFcE96RUJLdTgy?= =?utf-8?B?R2JmODRBakd6dW5Lbkk3d0tENFJ4Mkc1VkUwY2IvRUJxVitOM3BmbzRNSkt4?= =?utf-8?B?M2hmZ3oyblJTcnJLYjQ3QmJ5RGR5QjdjQXhtWmVIM3VsSlVzZEdaamN1Q3k2?= =?utf-8?B?MTFUTStmOU0vcTY0ZnFrVllReTgyOGNTd2FOSUpoT0N4dmJLaFF2WlF6ZFM2?= =?utf-8?B?anFXSlhKMjdoamlwYVB2MGpkNHYyOHdydjZkWFZWMGNJYUF0Qkc2cjJlY1hU?= =?utf-8?B?K0ZvLzVXSUswd29EeXovZ0tSR2VzbFp0RXlvQ0tPT3Y3cTBwZWg3U0l0RkdC?= =?utf-8?B?YVNoSW5LMTIwRUxZVjE5WXlrUFB3bkxSNHo5VitYQ3RDMFhXeUtrdEQxcmxW?= =?utf-8?B?U1p3ZHVXU1dlZHJmR2Ftc3hLbUtQUzFVd2UzeE9JRExkTFNKTjc4dmR4cGlr?= =?utf-8?B?OFlQdENndE9pRjk4UFhyd2pMcng1RmtUVFZIV1dZbUhjSmpMVWhhdDlsdlJi?= =?utf-8?B?aGhQRUxKVzh6bXF6dGF5MEZ0TmxaRzB0MXV0TVVqY21nNFhhL1hFbkFMVWtN?= =?utf-8?B?Z2I2bkpsMXFZb2EvNGNHNG16a0xFNDBRSGNQWGozQks3VHJORE5oUU51cFZC?= =?utf-8?B?MWpxTTkzcUhabUpLZ1FvbVVMcDd5TVZZNnhsbjNXUjZocFlkU2xQN2F5UTJh?= =?utf-8?B?djJRMVAydkVWdlRRV3RxaHZBZHpub1RBSHZnVHAzNU5NQ0dFWXREZ2VDMUpn?= =?utf-8?B?MEZzaEtCdTBvcksybm1GcWZPZ29wZUdjc0UzSnYvNG9RWnI0OWxVRWFqWm01?= =?utf-8?B?U1JSeWJScHB3NjdNWS9qaFM2RWIxeVhFS1ZLWGZCWEpqM2NGcEJQbFMwZUFl?= =?utf-8?B?KzFIeXFoOXRPSDVqeW4rVk8yL0dDdVFtcjVMTUNJSkloNEpCcU1VYlhXU1dL?= =?utf-8?B?Vmo2K2JqU1l6RndkeUlGR1F3ODB2NjN1d1NYRXZ0TmZXdkRsYW5PdDhuVnk4?= =?utf-8?B?OFN4YWQzcjB4RURzY3FrVHMzUXR1cU0rTk80MXBnZyszZEE4aTdhUmk3Z0Qz?= =?utf-8?B?TnFpL2ZVUDhDaVl2VjVOZnBkS2t5cDBJRkIwV0xKclR1eEo1QldPcmU2aUNh?= =?utf-8?B?dUVPckxSNFgvU1hPNnRoOENvZ2xwaFhwZ1Bsb0FRZndRcXNvU2tYZGFjbktJ?= =?utf-8?B?dUJXb0pxU0xWRGxnZE9hb2ZFd3N4Njc2Q215blpEOGJGTXJScURReEdCaHF1?= =?utf-8?B?UGtLNTRXeDRuSERCSW5GbXlLaW8vQVY0cmpaZ2U2ZTI0aisvVXBYM0s0RmtC?= =?utf-8?B?MVdDRFRkZmovOFlXMUpWdXYydDJ6ZG1ybHk1dUcvWElGQ3E1eGVvaitPbGFW?= =?utf-8?B?Q1drdkprbk5YY3VIN1dXVWZ3Smo1aHJPNnNuSEtSZGx1Z2JSNHVWckkxTE1V?= =?utf-8?B?VGZScVNlWlB1RmhDaDFLdEtLR0RjUXRsNWNNL1h5WEl6Z1Y4aVVnbzFzc3Nh?= =?utf-8?B?dUlDSU5SaVV1WHlJNkhEcWg3R0taaDNiWHA4VGdIczZLenA3am5uZTk2bWY0?= =?utf-8?B?ekhmcThYRlRYSW1lcE1ObGxscVdvZ3lwWWFjQWZOVHpLZDBaSWRLbnBpUEZ5?= =?utf-8?B?WmovRHo1K2JRZzRjdzdTTmxaSEhzOCtvWFNLVHF4ZjgwakpZN2J2RGFKNTF0?= =?utf-8?B?VVFkb204WHYydzQyd3h2U3htQi80V0FaV1hvRkJBOFdTbzQ5NnFoUjRYY3FN?= =?utf-8?B?a2p2djhGVGl0VGhoTmJZbSsrdDY2c2xZK1o3TmpnR1d3QnRQcGovWlR1czBG?= =?utf-8?B?b0J5a3pWN0pFSkZTVzg3NW5TMlBhOUtwZWovYk0ybCtyWjdvNmEzNmNwbkp0?= =?utf-8?B?bGVqUzdvbnVOYlM2ZDE0SDZheWUxcStnYnJoeWxSUXNjMzZvdVdudkY5SlJ6?= =?utf-8?B?UEV4SWM1Y3VsT1J1Tkl1NHdNWTdqTUpyZEdvenc1ZHBTWFVWaEtYTDFlZ3JW?= =?utf-8?B?UFgyalZqTmp1aFNMZU5nUE44T1hlK2tyMFRNSnBVdEpWQ01PNENsK2E4dll6?= =?utf-8?B?c1pzVGVBM0NxMGdYbU1DaXR0eEp1c3ByYUxCYXJ2MlpHNkxja0ppdUNOK1ZE?= =?utf-8?B?RjNkcjVzM1laVHRvVHF5OWdyUGhGeDQyT0dBVHhLOGw0Q1U3NHpGUT09?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 11f75b17-d308-4549-bba7-08df0391f4c7 X-MS-Exchange-CrossTenant-AuthSource: PA6PR08MB10708.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2026 16:49:12.3185 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: djF2m1YDJoyj1SBOiB9cd9HpJ/QoInz0xAN6Hz6sHLhxo3b9yq4/1RfPbDCbXl5eBn6mykp13uQgu4rsjbRjHg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUYPR08MB12015 X-OZ-Fwd: true Cc: OpenVZ devel list Subject: Re: [Devel] [PATCH vz10 v2] fuse: reject FUSE_NOTIFY_INVAL_FILES for non-regular inodes X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org a kind ping -- Best regards, Konstantin Khorenko, Virtuozzo Linux Kernel Team On 8/19/26 18:05, Konstantin Khorenko wrote: > FUSE_NOTIFY_INVAL_FILES invalidates the read/write io state of an inode, > which only regular files have. The notification carries a nodeid, and > the actual work is deferred to a workqueue: > > fuse_dev_do_write() > fuse_notify() > fuse_notify_inval_files() > fuse_invalidate_files() inode = fuse_ilookup(fc, nodeid) > queue_delayed_work(fuse_inval_files_wq, &fc->inval_files_work) > ... > fuse_inval_files_work() worker context > wake_up(&fi->page_waitq) regular file state > > What the bytes behind fi->page_waitq are depends on the inode type, see > fuse_init_inode(): > > S_ISREG fuse_init_file_inode() init_waitqueue_head(&fi->page_waitq) > S_ISDIR fuse_init_dir() the same union holds fi->rdc, the > readdir cache (rdc.lock, rdc.version, > rdc.mtime, ...) > other - nothing, fuse_alloc_inode() leaves > the union as allocated > > So for a nodeid which is not a regular file - the mount root, say - the > worker calls wake_up() on storage that is not a waitqueue and walks > whatever lies there as a waitqueue list: a GPF in the worker, or a lockup > on a bogus lock, depending on what the overlapping fields happen to hold. > > vstorage never sends the notification for anything but a regular file, > but nothing in the protocol or in the kernel makes that a rule: the > message carries a bare nodeid, and every nodeid the server has handed > out is a candidate, FUSE_ROOT_ID included - the mount root is always a > directory and always in the inode cache. That is how it was found: a > selftest driving /dev/fuse by hand picked FUSE_ROOT_ID as the one nodeid > guaranteed to exist without a preceding LOOKUP, and the notification for > it crashed the kernel. A fuse server can be started by an unprivileged > user, so this is reachable without any privileges. > > Fixes: eab013c7511c ("fuse: skip waiting for fuse writeback") > Feature: vStorage > https://virtuozzo.atlassian.net/browse/VSTOR-137234 > Signed-off-by: Konstantin Khorenko > --- > v1 -> v2: > - reject the notification in fuse_invalidate_files() instead of merely > skipping the wake_up() in fuse_inval_files_work(): a non-regular inode > is not a valid target for FUSE_NOTIFY_INVAL_FILES at all, so fail it > with -EOPNOTSUPP (dropping the reference taken by fuse_ilookup()) > - shrink the code comment down to why fi->page_waitq must not be touched > for non-regular inodes, the struct fuse_inode layout details are > implementation specific and moved to the commit message > - reword the commit message: spell out the call path, which inode type > initialises what, and how a non-regular nodeid reaches the worker > > fs/fuse/inode.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c > index ea158367a1efd..3ca447cb3b6eb 100644 > --- a/fs/fuse/inode.c > +++ b/fs/fuse/inode.c > @@ -667,6 +667,16 @@ int fuse_invalidate_files(struct fuse_dev *fud, u64 nodeid) > if (!inode) > return -ENOENT; > > + /* > + * fuse_inval_files_work() wakes fi->page_waitq, which is initialised > + * for regular files only - for other inode types it is not a > + * waitqueue at all. > + */ > + if (!S_ISREG(inode->i_mode)) { > + iput(inode); > + return -EOPNOTSUPP; > + } > + > fi = get_fuse_inode(inode); > > /* _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel