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 DA46D8017D for ; Sun, 11 Oct 2026 21:19:56 +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 69BLIbVO008849; Mon, 12 Oct 2026 00:18:40 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69BLIbVO008849 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="xSUkKXwJ" Received: from mail-ej1-f69.google.com (mail-ej1-f69.google.com [209.85.218.69]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69BLIa4M008845 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Mon, 12 Oct 2026 00:18:36 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69BLIa4M008845 Received: by mail-ej1-f69.google.com with SMTP id a640c23a62f3a-c2e1db672ebso159290166b.0 for ; Sun, 11 Oct 2026 14:18:36 -0700 (PDT) X-Gm-Message-State: AFq9FYI0ldrrG8OyNhQQpYyDaQ8AoWtE6cdejGYji4HWFRDpA6y67rt8 txsVgh99VR3rOQLz2AO1Hnakw6YaFmjfmHCvfcXrekaE7i0Uu4+uaw+H5NBHa8/ZNoXd4r7+NuV PicAe3AJnn0+/QPYsFqx7D7XhbCUT/c0mePmJf3raU0QghjcD7uvEFQ== X-Gm-Gg: AYBFou2v1nRk0kfbAVwyO/AS0KNrzGVHe8kmyMuLk5QqSaEuiPjVG5zNpOvZ8m/1gX+ XjBwbiX20dEgYVE5YdgA2cXltJWSZ4sahfjcGz6WovtjwO4895zg/8sDI0H98IxkQdCBldK0AmR teAPTTB9x0lW8qUyPh0RhG2aMmmNnQmAPXsCzX4kQDkkJIy9lH7JlR1CQi2jqdzDmhbje039yxP R++TGzADX3vZQGlOX9svOvNHUb21ECGWjTwnU6YVm/WCHlx7eZYEdRGvl5aIzKa7BcRR6irwMKQ Q/wo2OJP0th/dKO2Zwp5SsFUEf+9rR4e7IOSbvPy2z/f5siciMoIeMh2z49Fg0invwBV/FLytc4 uqmc92mde2h4tuITRkXZQtfGSAf6zqRCDMvtA0aiE4GlunMEo1fr/8wVsunSsy/qbAO8G6Ykf10 feTJv1f3ZZNn+8K0eVLZHtfXdtIFpdg6yC X-Received: by 2002:a17:907:6e8c:b0:c2a:46a2:5b57 with SMTP id a640c23a62f3a-c31a9d097fdmr703689266b.10.1791753515812; Sun, 11 Oct 2026 14:18:35 -0700 (PDT) X-Received: by 2002:a17:907:6e8c:b0:c2a:46a2:5b57 with SMTP id a640c23a62f3a-c31a9d097fdmr703688766b.10.1791753515310; Sun, 11 Oct 2026 14:18:35 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1791753515; cv=pass; d=google.com; s=arc-20260327; b=MQqey8RRyMpUQa17XiH2RyE2tgDO6skwvZ2AjINDEFJM64CQstvSR9XC9SAC8D20nk uY4GpBWjKAs8Y75I6cjzeXKR8nd2MfRjsKZF1bj6yAHIhzLepVUPx59YSY40cF2qAT1u x6xnjmTdhsGm74PtgvadoWnlYyLPpgM6Nx/suAafoS8+mifQsnf33WBAUp/yPyVQ/Gyt R/iNfIOhng/6jKk+cqV6KOZgX0pa+4frZgkWU9TDbovfsmdZUujRrkxZkYP2Vv37g6b8 t7b8fMzMzoL7entq8j/+uEUPu/qix/OZOf0EUc0EN/mK4bGdpGJO6SiYydj03Ip51IE/ rKqg== 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=+gANuf0eG3WBw/fu03U5FgNxdiuPYw0vrYkK1grkutQ=; fh=+vbNSpj0GpGgYJpyor+FvZa/QKUyHdgniVZdl954fIY=; b=ZF4wwTsxNK0RzyFG2LWEIUFdr+VO6E2D0ZBYcey4wJS+jSBX2jLEFtYIDy4SwbYHko 3gE9ac45pGk3Tijns96qHSuECWEiTEzzBxyxS1PwjuHJH6wLgSkDoJtcfRoqy8wrQetX VxCMgdxedUJ/q+8PzMAYTtFJHQQaPO+7mVUQwQLnzcN2ZNEbpqjNhSKkyc6FHKIx8biA GTGAxGPhiUL3uTyg9pYFIkTyC3rELj0ObvnoEXv3k++xAXaoGcFuD7FcLuzOeyblG0zt aKw4aFrqAdbQc2XBiHCYuLQjBfLZc19fNJGzeTY00YMTN81MMIbt2HhNdZ1mgyBi1w4M GMpg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=xSUkKXwJ; 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 vladimir.riabchun@virtuozzo.com designates 2a01:111:f403:c201::3 as permitted sender) smtp.mailfrom=vladimir.riabchun@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 a640c23a62f3a-c31a9af5030si660472266b.290.2026.10.11.14.18.35 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 11 Oct 2026 14:18:35 -0700 (PDT) Received-SPF: pass (google.com: domain of vladimir.riabchun@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=xSUkKXwJ; 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 vladimir.riabchun@virtuozzo.com designates 2a01:111:f403:c201::3 as permitted sender) smtp.mailfrom=vladimir.riabchun@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=dd2/EZFkIy2XWxe3EtJwLxLPHIG2TkwVVmOutX6GYrBrbYECoYgI1CsGysuWQvYdfVouGaJi0YasJTiNsTeSq+2GwUWSPC9XJ6xTuPPz+Zp1OOT31z4JlCQtPtouLv+AVD3jEsv1JKScuk91cIPx59hzA2iwjIw6ZLw6oK6wKoe0RFdMRakYTxMfr7zIr+v9js9Udf6PK/93P4KETkpBoaZ+0x6pSHiSfEhGQe3SUIJMc7xVXUv2z59ubGR4YXABCiU7/qxRfgHbzKBYFyqs0rIJ/ObYqrbgiusVBxUS0BPMN9OQtSQfDlaGgWTyl+oYTOrvxoTscuHZqQXipreDlA== 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=+gANuf0eG3WBw/fu03U5FgNxdiuPYw0vrYkK1grkutQ=; b=ggHFidsAWW9myDL3YYL4RSvYiTyMhDVRhD8WIc0YTDBZRXFwn0QEHZ2myzR9DU3TpavyC/68PNeqsMhr5dqi51moHaLjTzawypTFOwSqPoVkEvAv1coGsyAX3tEI4f0XWtfkssN6qR3kuI8JBp1mM3YKVH5+5iNlhhrgXAEuDMyO5TKz9RJOcE2miQh6tJPi2pLBcZDEQO1ajDn8wGFoXCcA53G507PN3onSkTl3F+BAKMsyDL0svYYUmtUEdKHJhSeyYeeIc2ljRrZa+qcG2TZ5TkLj62/upoum0rk8URilUAo57tg7O8vZ80LMPclnKokZ4SROaojBvjMTVfHT6Q== 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=+gANuf0eG3WBw/fu03U5FgNxdiuPYw0vrYkK1grkutQ=; b=xSUkKXwJBqBdakBWFNxbwJLHpoau3xS3hzCMSlPZZJQzqoY6ut616ClVoBJ6jlDuWu8AK7ful5jiZXvRWnfwpWPe9iO1skLXFSHYwhTBV/r4gTXIM2TCJJPTx5whsoK7MHmxFVkLVUo6PVJEoM0BVyIB872nQ5RcXPkQeXkfsUTyv9XuTdTfudf27eZqf549lgHmFOIn9JumoO9RZtmh+ehbGTxMbTeQBjNrW+4NvoQ70+b0Y7FeN1aVN7RrQjC0Z6mqdC/HJVhbNqh/+iKB31xCT3HBcAYAnDD3mwj2cvN2mcHtZSlw5AaacgWLxWN4txtmshlNxCN+Iwa8AkGI6Q== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from DB3PR08MB8962.eurprd08.prod.outlook.com (2603:10a6:10:43f::15) by AS2PR08MB9833.eurprd08.prod.outlook.com (2603:10a6:20b:606::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.522.11; Sun, 11 Oct 2026 21:18:33 +0000 Received: from DB3PR08MB8962.eurprd08.prod.outlook.com ([fe80::da44:b0e3:f6ad:8f8c]) by DB3PR08MB8962.eurprd08.prod.outlook.com ([fe80::da44:b0e3:f6ad:8f8c%4]) with mapi id 15.21.0496.010; Sun, 11 Oct 2026 21:18:32 +0000 Message-ID: <960265f5-da39-4346-9297-709da41d6932@virtuozzo.com> Date: Sun, 11 Oct 2026 23:18:31 +0200 User-Agent: Mozilla Thunderbird To: Konstantin Khorenko , vasileios.almpanis@virtuozzo.com References: <20261006-ve-printk-irq-v2-0-db1dc4f6ed07@virtuozzo.com> <20261006-ve-printk-irq-v2-2-db1dc4f6ed07@virtuozzo.com> <010701a1133ad782-0ae7a743-2d85-4aae-afd7-10244138a02d-000000@eu-central-1.amazonses.com> Content-Language: en-US From: Vladimir Riabchun In-Reply-To: <010701a1133ad782-0ae7a743-2d85-4aae-afd7-10244138a02d-000000@eu-central-1.amazonses.com> X-ClientProxiedBy: FR4P281CA0219.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e4::9) To DB3PR08MB8962.eurprd08.prod.outlook.com (2603:10a6:10:43f::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB3PR08MB8962:EE_|AS2PR08MB9833:EE_ X-MS-Office365-Filtering-Correlation-Id: 34c70412-a7a1-4547-65d4-08df27dd343b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|1800799024|23010399003|366016|6133799003|10067099003|22082099003|18002099003|261009223027099003|4143699003|5023799004|56012099006; X-Microsoft-Antispam-Message-Info: Yy/Jvio7DCVZxGqa3a06BADSTgZgqk3h+Jf/8PHHaDsOs1JFMyWqSalD8VFDCXIwPejK8zRnOx6xWrpLTjhvRetV10zhZAkGQ4B2stwixVXp130E/+X6pZIzENZUUoUFE5XTQ+suymk38sGhr1RcSRBJkl6SpxmmKqAS98I2XZPFM6gm0abHHXRq6tJq8a2r571Fhqp1/utX8rY4yLt5SyukifVWCvZ0rGxxKyDVMxqRnrQfuFJGBggrBA/P+DSjXJlC0Y7VllUSRMclLWvwTtgNFcLZOqoA6gljRS5usuWUwg6udpVAj/Nwxj6scFcCkBX24limPajdOONEuFowUbhx6TczvkwgmIGdAXpGe64fLkl5H9j+cOBd11FQ0wswg8hYLS8ywT9ykNa/V+7krjUvbacmaZNsRF4U1CirNMlgLAuvSnyiBXZoDF3dE9JJSNEaqZJxoS/HJra/26TlakcvhzUIxMjbFIYzaF/OIdBn5cMhVc2xZ7hjXnVrH9+w4aUi1laEArI6M1SIM+3F8ixmngTpzk4is2pWo0xnAQkqnftMAuvrcI7n2R4jw/gbeVZs2QIkpmmR0dCf1p3fc8cBXalJY323W4AFWZ5R2yvrrG3Fk0bd6O/cu60/SuN2afeNjXueX7Tz6eMk/qrBi7JvjXPWXFUJeeVpe7pLB0A= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB3PR08MB8962.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(23010399003)(366016)(6133799003)(10067099003)(22082099003)(18002099003)(261009223027099003)(4143699003)(5023799004)(56012099006); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OWo0RVdGdTZtY2pvSHBFc0x4ZGZVMkhNTUk0MDgwcUYwQ2hzamJxUXpCRTNo?= =?utf-8?B?ZnlMRDl3Vit5T1p3Tkh6M2RLNlYrZWpPRUsxUWdpbEc4NEZyQjBpcWNmSWxv?= =?utf-8?B?czJFSXJ1TW1qRm9wSlZyenJWaXh0eEFJVGFSLzR2YW5pMFhOMlU0dFBqUGFV?= =?utf-8?B?dE54d3o4MGp5TnQyV24yVzJpNjlvMFlWaGMrTVJwV2s5WDZsKzVwQk43Y1p4?= =?utf-8?B?VkFJeDlGSk9PT2sxM0xvWVd2ZFhUY05wd1ZqWGIxSzhKckxNNy85bmJEV2Rz?= =?utf-8?B?dXgxRk1VZlc2MHFFYXliNm1yZ2FoVlVVVlRiek5QUXBnZEJGNEY4dk4wVkc5?= =?utf-8?B?TitLL2lVY3VBak5YUjNOZmZDSmpBL1RSMllXdVdxeW9NM2c4b0NIK3RPWnRU?= =?utf-8?B?blAxM3Z0cDZKejlMV1RXZ2QwaHhKWTB2bERYL2ZJbzl0bEFyMUdBYUlZeSti?= =?utf-8?B?aFhYRktmV3FEKzRYajQyK09McjArT0x0eVA3ZDdZM2JWZXhPTGNHWjZKRlg1?= =?utf-8?B?alI5S1dyMjJ0R0xXcG9Qd0hxdmpyU1RKMWwxcWx0L3VZUUlnbHlDUEVUQWli?= =?utf-8?B?UVBLWmlVbnBxZGJVb1k2anBPcGl6cnZLbjhlZ0JRTysxS3g2eW14WGRNSFB0?= =?utf-8?B?RmEvMld3M1hHQ0hUUjdwb2lrYWNVdDBmcFdQMHJVVGRMaTNzczByZVhGZEQr?= =?utf-8?B?WGtvR2JJS1dHVU1saEY2ZFRWTWFZNE1LWFkzOGF6U2VlZmRYZndhMDdwSHFo?= =?utf-8?B?eUNDUDlFL2VhdUdnYVBGM1YyUVEzZkpDYlVIUjJnWGZLTUdXdW1oZG1Ealph?= =?utf-8?B?MDJLZ0dVaGl5SVBXcDlLZ2hiYTB0aTZzQkY0Y0ZldVBaeHhTdjNvdXBaSW9T?= =?utf-8?B?V1E1cFNXL0pDcWg0VzhVWk5lckl5MUFDVW1vVy9CbTh1UVE1MkR3VDNwTm52?= =?utf-8?B?Y094KzFvTHFjQ1dUME5QaXJFQlRHM3RXZEZYUmNpSFRCb1RKaFNicTEyM0JC?= =?utf-8?B?NDZ4c0FtbDU5OGZtWTVXM3V2MGRRUGRobDk1N2dMQnpuNHVtKzVlZWpSdytE?= =?utf-8?B?dGJoeVBlZzlsR1ZBYVdtWGVJRUVNdGt1a01MWWlCMW91MkJRRWV6OXphUW4v?= =?utf-8?B?MlFiL0VyQlMwNm1xYWJSSWpNd0VXNFVPbFdQbE5jdlNUbDd0K0U1Z3hnaWdh?= =?utf-8?B?Ri8yOTExNk52eXBFQnd2WjJHRkJqRk5JQkhvbjhDQ1A1VDE5ekhaQjFvT05l?= =?utf-8?B?YnYybmtBakFkbVBtS1ZndW01SnhXaERsdWQ4SUR2NTJXSzhPUFd0K0gveGV4?= =?utf-8?B?b1pTbWt2b05vdFB6VzMwWVFyMTBjOFRVNnBRM0lBbWVVK1NDdVpVYUdCc0JL?= =?utf-8?B?eXhSUnRXSXFpWEZ0OGJNTnhSa016eTEva25WU3ZRWHY1WVdDaG5kbm5mdmRu?= =?utf-8?B?bGpKOUYyVGdZb0hLWjlGd2NieWVMNFVpQ3BCRUJrWC81dUtBV25ad0I3N21E?= =?utf-8?B?ZWMzY3N1ejJBZ2pRQUFDaUpmUHBuZHlJQVk0ZEJqMTYvZDhNcGFyTmdqMEMv?= =?utf-8?B?Z1plZUVXSGJiRlI3WnQxYkJLMDVJdjkrWlZlYndaM2NEc25HbktaZjA0eFBn?= =?utf-8?B?aU9BRDk5a0hXZGcyUG1QRVhWNHpWWWdURlJXamRoUnpIM3dITTdHQ2NVVER4?= =?utf-8?B?a0tBNkYzbVBPMEUrU00razZuOU12NlRLdDVpcVBRU3JYQTNkSGI5ZENxNmNk?= =?utf-8?B?Yk5tMGlPS3Bqd2VBYnpaOStHVkVzM1FPSE9FU2NJTkE4elM4a2xYQVBLcGY5?= =?utf-8?B?OUU4ZjNIYlEwbHBTN1U3ODJQNng2cDdmeTdRU2pLY3I3NUJES3FIUExKbjhJ?= =?utf-8?B?bFIzbUdtS1YvMXExQ0xaZW1xN0wyaitqNm9GYTNlQ0Y2anlrOWdXK1h0OUFE?= =?utf-8?B?KzdmUHEwZHBSTFV6bEppNk5NdVFvU1QwYkswTzA5MzRFSDIyL2hFeHp4RlF4?= =?utf-8?B?VmpCNWhBLzBlSlp1c0hzUUNyamlJVHo5RVdZOUt5TUwvenhLRC8ya0NKSDJq?= =?utf-8?B?akZ4eC9XRTQyejBhTWU1TkVMZ0FmZDNvS2ljdWc4S244TGhNV1lpUVdlL1N6?= =?utf-8?B?UVZnYTRVL05HaENYMWlEMVNQd1ZpbHd1RHBiYkc1SlYwR1FvbHdyck0vMW5L?= =?utf-8?B?UGFIQmZCU292Y0w3VEZyd0VaL0R5UkVWbWtaVldEL3hFMGxjT0JuNlBPQTA2?= =?utf-8?B?bFVVUVJHdGw2MHpJaDFmVDNwWGdsMy9EU2ZTVjRGcm9OMlhYYTE4Z05vc0Rt?= =?utf-8?B?UHl4Z0FBWnkzNytaSjg5TWVyemtPN1JzSytqL0lKYjRFTUdwbjJvZmFnVC94?= =?utf-8?Q?OMaBdUSIf9UchAjc=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 34c70412-a7a1-4547-65d4-08df27dd343b X-MS-Exchange-CrossTenant-AuthSource: DB3PR08MB8962.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Oct 2026 21:18:32.8375 (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: 2uu5M8/ZO7HumTKwm8v8IuUdvRxvAOZ+YBiBA+QzCqD2x94obI0pOvtM0pEgS/zfdDtouRlEZR+9351pS4+98VSIdGObJMSm16Mla6F14lo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9833 X-OZ-Fwd: true Cc: devel@openvz.org Subject: Re: [Devel] [PATCH hci-8.1 v2 2/6] ve/printk: Report potentially leaking usage of ve_printk functions 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-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org On 10/6/26 23:59, no-reply@sashiko.virtuozzo.com wrote: > Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider: > - [Medium] printk: WARN_ON_ONCE() inside ve_vprintk_deferred() defeats deferred printk > - [Low] printk: non-task VE_LOG messages are dropped while host routing uses get_exec_env() > - [Low] printk: WARN_ON_ONCE(!in_task()) runs before the ve_is_super() check > -- > > commit b0fc9f5937694addbb72bb3c2cea42ba105b7306 > Author: Vladimir Riabchun > > ve/printk: Report potentially leaking usage of ve_printk functions > > This commit adds WARN_ON_ONCE(!in_task()) checks to ve_log_state(), > ve_vprintk(), ve_vprintk_deferred() and ve_dev_printk_emit(). When a > VE_LOG message is requested from non-task context, the message is > rejected (or the host log state is returned) instead of relying on > get_exec_env(). > > Link: https://virtuozzo.atlassian.net/browse/VSTOR-146839 > >> diff --git a/drivers/base/core.c b/drivers/base/core.c >> --- a/drivers/base/core.c >> +++ b/drivers/base/core.c > > [ ... ] > >> @@ -4952,7 +4952,9 @@ int ve_dev_printk_emit(int dst, int level, const struct device *dev, const char >> if (ve_is_super(get_exec_env()) || (dst & VE0_LOG)) >> r = dev_vprintk_emit(level, dev, fmt, args); >> - if ((dst & VE_LOG) && !ve_is_super(get_exec_env())) >> + >> + /* Report IRQ usage here - printing to VE requires explicit ve reference */ >> + if ((dst & VE_LOG) && !WARN_ON_ONCE(!in_task()) && !ve_is_super(get_exec_env())) >> r = ve_dev_vprintk_emit(level, dev, fmt, args2); > > [Severity: Low] > Is it intended that the WARN_ON_ONCE(!in_task()) is evaluated before the > ve_is_super() check? > > In ve_dev_printk_emit(), any non-task caller that passes dst with VE_LOG > will hit the WARN even when the interrupted task is in ve0, where nothing > could leak to a container. Could the ve_is_super() test be placed first so > the WARN only fires when a container could actually be affected? This is correct - interrupted task is a random value, we report incorrect logic, not specific situation. > > The same ordering appears in ve_vprintk() and ve_vprintk_deferred(). > > Also, the host branch just above still uses get_exec_env(): > > if (ve_is_super(get_exec_env()) || (dst & VE0_LOG)) > r = dev_vprintk_emit(level, dev, fmt, args); > > In non-task context with dst == VE_LOG, if a host task was interrupted the > message goes to the host log. If a container task was interrupted, the VE > branch is rejected by the WARN guard, the message is dropped, and r stays > 0. Doesn't this make the outcome depend on which task was interrupted, > which is the get_exec_env() unreliability the commit message wants to > avoid? ve_log_state() by contrast falls back to the host log. The same > applies to ve_vprintk() and ve_vprintk_deferred(). It is fine if message goes to host. We will drop a warning so we'll be able to get printk location based on the call trace. > >> diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c >> --- a/kernel/printk/printk.c >> +++ b/kernel/printk/printk.c >> @@ -560,7 +560,8 @@ struct log_state *ve_log_state(void) >> { >> struct log_state *log = &init_log_state; >> #ifdef CONFIG_VE >> - if (get_exec_env()->log_state) >> + /* get_exec_env() is reliable only in task context */ >> + if (!WARN_ON_ONCE(!in_task()) && get_exec_env()->log_state) >> log = get_exec_env()->log_state; >> #endif >> return log; > > [Severity: Medium] > Can this WARN run while printk-side processing already holds locks? > > ve_log_state() is called from ve_vprintk_emit(), so a WARN here can fire in > the middle of a printk call. The WARN prints a banner and backtrace through > the normal printk path. > > ve_vprintk_emit() > ve_log_state() > WARN_ON_ONCE(!in_task()) > __warn() -> printk > > Could this recurse or deadlock if the caller is in scheduler, timer or > other non-task context holding such locks? The WARN fires only once, and I > did not find an in-tree caller that triggers this. In the final series > state, the unconditional WARN in ve_log_state() on this path is still > present. Replied in v1. > > [ ... ] > >> @@ -2540,7 +2541,9 @@ static asmlinkage int ve_vprintk(int dst, const char *fmt, va_list args) >> if (ve_is_super(get_exec_env()) || (dst & VE0_LOG)) >> r = vprintk(fmt, args); >> - if ((dst & VE_LOG) && !ve_is_super(get_exec_env())) >> + >> + /* Report IRQ usage here - printing to VE requires explicit ve reference */ >> + if ((dst & VE_LOG) && !WARN_ON_ONCE(!in_task()) && !ve_is_super(get_exec_env())) >> r = ve_vprintk_emit(0, LOGLEVEL_DEFAULT, NULL, fmt, args2); > > [Severity: Medium] > Does this make any IRQ or NMI caller of ve_printk() that passes VE_LOG > trigger a WARN? See the comments on ve_log_state() above and on > ve_vprintk_deferred() below regarding emitting a WARN from such contexts. > >> @@ -2574,7 +2577,9 @@ static asmlinkage int ve_vprintk_deferred(int dst, const char *fmt, va_list args) >> if (ve_is_super(get_exec_env()) || (dst & VE0_LOG)) >> r = vprintk_emit(0, LOGLEVEL_SCHED, NULL, fmt, args); >> - if ((dst & VE_LOG) && !ve_is_super(get_exec_env())) >> + >> + /* Report IRQ usage here - printing to VE requires explicit ve reference */ >> + if ((dst & VE_LOG) && !WARN_ON_ONCE(!in_task()) && !ve_is_super(get_exec_env())) >> r = ve_vprintk_emit(0, LOGLEVEL_SCHED, NULL, fmt, args2); > > [Severity: Medium] > Does the synchronous WARN_ON_ONCE() inside ve_vprintk_deferred() defeat the > purpose of the deferred variant? > > This helper is meant to be safe from scheduler and IRQ contexts. If a > caller outside task context (hardirq, softirq, NMI or scheduler code) calls > it with dst containing VE_LOG and no explicit ve, the WARN goes through > __warn() and the normal printk path. That path prints a banner and > backtrace and may flush consoles or wake klogd. > > Could this self-deadlock or recurse when the caller holds scheduler, timer > or logbuf locks? The WARN fires only once. The only in-tree caller I found, > __ve_ratelimit() in lib/ratelimit.c, runs under rs->lock and passes ve, so > I have no concrete deadlocking caller. In the final series state, > ve_vprintk_deferred() still has the check > "if (!ve_provided && WARN_ON_ONCE(!in_task()))", so the concern remains > when no ve is provided. All of the above is incorrect due to the nature of WARN. > -- Best regards, Riabchun Vladimir Linux Kernel Developer, Virtuozzo _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel