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 88DAB802A7 for ; Sat, 3 Oct 2026 12:27:33 +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 693CQIfS003587; Sat, 3 Oct 2026 15:26:19 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 693CQIfS003587 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="X5qWXWXd" Received: from mail-ed1-f72.google.com (mail-ed1-f72.google.com [209.85.208.72]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 693CQHxJ003581 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Sat, 3 Oct 2026 15:26:17 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 693CQHxJ003581 Received: by mail-ed1-f72.google.com with SMTP id 4fb4d7f45d1cf-6a5d7e3ac13so287092a12.3 for ; Sat, 03 Oct 2026 05:26:17 -0700 (PDT) X-Gm-Message-State: AFq9FYKFDkVXxdJBXR3BzrA5qErD0gTkNYiaL8BkVjPeWcemxAGulJVY 0Yb4g0GqPV6quF86Ho6Aa7LKpSWGb3jvJYtVAXpxB3I4cJVJf/jMs7Usn/I5HeCmRhyvVNGH9vj J6DErBRi2KRT3DonimHgjlV3OIejAEUvr3Bz20MXMshnmo1YK2NoADg== X-Gm-Gg: AYBFou278zISYMLoMs1K6x2fKB2TktDXl59MbXg6ULlWZVRiJjAPrZVvMNAFkWYgcmt LaXnY9rtNYVAHV5Yqm0bVpg++iBZxjdiRrReG11wDjLXNQKBHeqzBB24mKI+nxbukypN4vMw5/t tRduB8AyJUo847YSeuwQnd6SeTa1c3z/Sa1SRIV2q8EF1m7b6vVYvbAlHf16yp6tNca867fsW5E NG2aDVDp9JMmhjbRlEmm2sX6ntwu5nNxx2DyEQOsAEWPDYVEQ9HZyUBgg7Au1nU+nEL/ZtfQqG7 vi7AyuT9Rg2NMsO8i2Mh2rgLG9KCNGoYLtQ59VGmSvttZfMLsOmFJwYULzNLm2h6H8/yR+OhgWQ TRuVaPSf9WojZBIdpQbfymStLajJupq5JLHMUUz1QPtUE3cQIWioMmCkvngMH12xG2vR45EtHWi mVQcHdJ+FaxNzqTvCECnLKvg7K+Z9jpq56 X-Received: by 2002:a05:6402:3808:b0:6ac:8ef4:177d with SMTP id 4fb4d7f45d1cf-6af9e2d34f8mr4580170a12.20.1791030377326; Sat, 03 Oct 2026 05:26:17 -0700 (PDT) X-Received: by 2002:a05:6402:3808:b0:6ac:8ef4:177d with SMTP id 4fb4d7f45d1cf-6af9e2d34f8mr4580154a12.20.1791030376756; Sat, 03 Oct 2026 05:26:16 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1791030376; cv=pass; d=google.com; s=arc-20260327; b=g82oqFyxnao4iTdTf3F5quXeReVd6PvBHVDOrz/OH+R3fHNAeV1B8tYdsCBWHSuQmb 1NCiJJvWavao2q891inABmDJruuuw1piY26dRwB0wJ/eGg46OYCdAAz3Llt0n4pXRNRF EXswEc9UkYdLZSzXfIW88aQDOsXJdsX9kF7uHLdP+bxRzP4J9wkO5C4w8cI7lR+Bec1u qnmYX76IUvjJb3NG3eP+6PxgsysuzjA0evgGM9u2HcSbWay5HdHCrwiu0Eh8iN//UH8U vSMxbqM0y5ncS+Sn0rCYc1Dm3IuPKc+umeQ1ZWMMr4aOqcaQ9SLjQ22RUlvOkxUeRcZm Uczg== 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=IHFMA6GC7Ug2LC5b6yC2m/h8XzmeM2mTN31I2Edbfpk=; fh=A7R+PbrUHauVvppXKl0MrUrmlodzEiz0O3zRHlzVAvI=; b=YuAarxbugeG6FEVqmYVg0WLxO2q6OPA50SKrMaNw4ibFsCWFAfa8mK+1b9gdL76osW LGBfObzHy96D3jJdgbfLv1mtpyXpoeB56lroGt4WqzG6Asf8e5KnxvolFbXt3JV9nVP+ e/g/rukPqz2K1ztg4Sx4ceimhxSytYa+e3Lt5zvwRM6B406gb1txRiKOsAh7xTKnOJDL azSGgEKjuhj85g3vqCE6E4MLIQM5FGmDvg/JGxtM9ZRDeqRtd/7WcgQVb0LhIraMhLVA Md2Y3Zf643pHHMAMQnOjlvsKEEL8ZIdoB/+DTv15yiBGZ02wuMd4fh64fQ+N5wambN27 fUeQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=X5qWXWXd; 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::6 as permitted sender) smtp.mailfrom=vladimir.riabchun@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazlp170130006.outbound.protection.outlook.com. [2a01:111:f403:c201::6]) by mx.google.com with ESMTPS id 4fb4d7f45d1cf-6af9e022469si5348207a12.88.2026.10.03.05.26.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 03 Oct 2026 05:26:16 -0700 (PDT) Received-SPF: pass (google.com: domain of vladimir.riabchun@virtuozzo.com designates 2a01:111:f403:c201::6 as permitted sender) client-ip=2a01:111:f403:c201::6; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=X5qWXWXd; 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::6 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=cR1JukVqg6fjdHPqExRlHLRl2XFM/f3Jc1mlqByyw4sUt/pN+o7H8iCL4RLmLDdxgl/xuvbAjUH2nB4reF8d+SFfVNay8/ILGNglL2xsag8JCPu3pJNpQwdYLMKFvxgIXQay/Ey/QzkDlFPOK5vMJQTGIc9kpdmtzh46zp4cBEYl4ecKW4lVs6fVt0CSEumxhLIzGICac2ZyMHkpwB1uegCeREiZUAoNbWeeoOGbTN+djgRye5ur2qiFtITIqEb4mb1WbN7oyd9g35vzEv46ul4JDHK8UbjjXnoQ7cvXvITEYvWONulZRPKNsttHqINllWLraqjUCEuypdLS3OzAaQ== 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=IHFMA6GC7Ug2LC5b6yC2m/h8XzmeM2mTN31I2Edbfpk=; b=KETrQYTBajHoOywruH8ODSSyU5dTlhn2h09s1m1Q3VbL0Njt9U7iz5c2ItX8f8Cj6SEJvXF0T5P8S90+A1uFP1jO+g89yZPgEijdtvuGSPHyBaCfQeCgv9k9QrFDAQeKePyBdbyKoNy4ih4JdqO+Xst3uJ4yzZudpfjquzz8818VkBPofNC505VbplXoQ49dmUsu0pyyJxz1eXuG1DOgmKj/zJvz0AScgu8yYBfiQtTw/GKDDA9ABFp4txO6aoIWjDELZNMhP1ptV33w3y2XBDT9zi49jHHaGjtcxNXkdPHmVbDzJxqWxBziwDPkVhWMmgou1n8v/ZxMKovoCRuTTg== 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=IHFMA6GC7Ug2LC5b6yC2m/h8XzmeM2mTN31I2Edbfpk=; b=X5qWXWXdIGZOtyQR02mBp+2lmFRUKPfq0kRwcYOMK/pLbIO4+TC6zz2LsdOZdrdUGQ/fCe9zX2W/ZLMIPm9DplC/pH5jPopspC/Yks58HxKx8fbrRClSCZvHf3EEge/Qu9WYtaGzMaUQTubJqjvoXtDcsCjZmd5BDYJen+XYN8b1Kho3EEUJW35QX8IO+KZmwBgCgA2uXbTR5peJdf4CiOXu3h6eOF8yQFh+L54RwPSWjIk1lfw9Cm4S7HEmBDb+ameif3L+PQdro5cYUgYERAsHSk6Zr2xI16Sxf5SuQyd314DsIr/DP2uu7VzOEBZu6ZZNlcH7WM+mPCTQ+TDRkQ== 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 VE1PR08MB5647.eurprd08.prod.outlook.com (2603:10a6:800:1b2::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.496.13; Sat, 3 Oct 2026 12:26:15 +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.0472.012; Sat, 3 Oct 2026 12:26:15 +0000 Message-ID: <28ff040b-cf04-4829-86ee-bd19fda817b7@virtuozzo.com> Date: Sat, 3 Oct 2026 14:26:14 +0200 User-Agent: Mozilla Thunderbird To: vasileios.almpanis@virtuozzo.com, Konstantin Khorenko References: <20261002-ve-printk-irq-v1-0-cb55896d455c@virtuozzo.com> <20261002-ve-printk-irq-v1-2-cb55896d455c@virtuozzo.com> <010701a0fe889f79-a7df96c7-048c-4320-8430-c1fcaa8f0595-000000@eu-central-1.amazonses.com> Content-Language: en-US From: Vladimir Riabchun In-Reply-To: <010701a0fe889f79-a7df96c7-048c-4320-8430-c1fcaa8f0595-000000@eu-central-1.amazonses.com> X-ClientProxiedBy: FR0P281CA0060.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::17) To DB3PR08MB8962.eurprd08.prod.outlook.com (2603:10a6:10:43f::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB3PR08MB8962:EE_|VE1PR08MB5647:EE_ X-MS-Office365-Filtering-Correlation-Id: f4be9de1-65ad-4b0e-29bc-08df214984e2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|23010399003|1800799024|376014|366016|56012099006|4143699003|6133799003|10067099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: 5R3KBUcEOfL+r5grCi4u71UhlMR8c0JyPrZgpnwiQAuENVQ/DK7xYQ9IOHyXZLeMLFozfnwA+nCQ+7W6QjVCGvhJOpHg9ihCJmbqutZfKDrfRj9z2hIYBfNVsDbqwmppJLXlSoeXE5kUkPJo5PF3mNSzw6sFpRW5qOChq//sirlOrIi7WpIewvuVir9FxMY2LT7JQ4yiYmiJEIYaNQMuedzStSglHI8UENUPsznhlMy/PKKMl3j0q4HCvm5cdfF5sj+AOTPK6Gi1NULkoFWYzBERrAmUgw/6ua/VZp/L7nd8+/iq0Hv9fEBNoqafPZRP0R4oCnraWu1DHyPlQkX5MI7QlTzaI+VE2YEuPA7+C+O4ud78dy2P4bJz3ZYzDS2ckgB5hwv/XJ5pECqfyOz8FzdH65NpFGROlmIfxDtkUXzKCULVr/b/EmDCQhDrceMabLU0Ck8Wd42bWtPq/dmNE1f6luZBHhrtvhWWrR2YuMq/Z2Z+S2yF1NS5D7J8pK/dF0Rht3XqhFVteqseoCDq0y63O4DWC9eMszxyK1qePc3zze5VCLMyySVGHZV4T4R/4Gwb1j5fM78APQyPX4d5m10EDDpYWbU0fEttlSIYxw6ljy90BqxZGOHC6u6Yp3P4P1wLVrwCDN8GkOqjtk83UkKElrbBCCZyVcODztngX7Y= 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)(23010399003)(1800799024)(376014)(366016)(56012099006)(4143699003)(6133799003)(10067099003)(22082099003)(18002099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Q3FLU0l3MVFtbXhRaEplb3B3cDMvNVR3ak9ZMUdjb29jdmZKbzFvZ09GZE9j?= =?utf-8?B?aUdkU1FyUGMyVUpHOC9mVDR4Yjl0blF3ZnRaYjJic09Kb1VRUW5VeTNwUTha?= =?utf-8?B?NFJmS0FrV3BQdmdKbXpHbysrS3dyVVdFc3dWd254djRzVHVucmU0dkNyMWg3?= =?utf-8?B?SVNuMG92d3FmZmtUcXJUdDkzL3lzK3FtV01Zbk83dm5vb2MyR2FRQTg0dHd2?= =?utf-8?B?WDdmelVkVXd6YnlVVjJPZ2E4RWdWd09BbUc3SVJBcGZ1TDlRa3lLNFhZb3VY?= =?utf-8?B?dzQ2SjZvQnJFZ2tRZ1dIMXBpU2k0S3RXYndVVXZ0M21oeWw5UHYwZyt6d1Qw?= =?utf-8?B?cW1scEJocGRORkFXcGFjZVpuTDhkLzVPZjNBN3lWME1Bd0Y0OXVoWjNDWnc4?= =?utf-8?B?NnlpY3pDWXZiWEpqcTE3UUJBbHlmYVBMNEpnbkRCeEpqQXY0L2tUQ1dsQXVk?= =?utf-8?B?L25VTm9xdjQ0YTFYaEdKaUlOdS93b0RiMHN5ZnZMOXFPSzluSjVwdFdrdzl3?= =?utf-8?B?ejRRN1JlUlFFV1pLa0FYWnZUUzJWNkRTUGIwWVV5K2tPN2tzQzFqNXV4Ymwz?= =?utf-8?B?Szd3MW0rWVFEMkZSN1o1bW5UNU05R295N1N1UU1XNjZxaVdSeFFrdEprRkNC?= =?utf-8?B?bk9pMmRpdWh1dS95NjMzWDVaR2N0UkV2K2c0T0s1alVPMU5nU2RJTnh3Unkw?= =?utf-8?B?YkZTMWlkcGFLTVhuV2tBSVY1cUFzY3hFSGQ4RXMyTXh2dGtDQ0trWEtHbS95?= =?utf-8?B?N3pNSDJzanljb0N6cm10VzFjd0RUUldNWU9NTVNva3FSbVh2c2ZlL3FHRE0r?= =?utf-8?B?T2Z4L2RVNm9DbUZGU3ZLQTBMM1o2T2Q2ckVhTkVHdWQ2TkxWaXVUdUhyOG9R?= =?utf-8?B?cm5KTk5leEFqL2d6WnluSWY3UWYza255TXpRaUJpdDRDaS9PeXF3TllOb0Qv?= =?utf-8?B?TWxQTGQzbTc0TVhNNGFBeGs0RzRGZGZjVXBzNitCWDQwWFBXMWtEc0ZjdlpH?= =?utf-8?B?WGNTNFhpd0svL1JiYnY5aHlJYkJFYmJqelM4UmxJZzM2Z2laOVFPWUg3R2c2?= =?utf-8?B?Z1R3dURudHBwN0M2bTRZUjdyU28yZitoL2V2a0VWRWF4NDJRalZyYUR5SWc2?= =?utf-8?B?LzBONGU0MExMdThQSy9ERHRrZkpqYytIYWtPWnQvOXVVV2xuMDljYzRTN0dr?= =?utf-8?B?YmRxbVBsRWo0Ym1kRFViTmFKNmJLYmtnVmh3Uzd3NU9BRzBqUHdaYi85UDU4?= =?utf-8?B?TFhyVVpXVGhMR00rNE42MUNWMGJxWjlabkJNNDR2RFN2b1o0T3V2RlBVbzZw?= =?utf-8?B?dytERmdlVnMwZGwwMHV3eDI3QzA2Y1RvaGJnK25CbUZ0YVVwbVM0YUhRNVpx?= =?utf-8?B?dTlLMXQ1U2psd1hqaCtlRVE3U0VtV3ZIYXkwUWdObDJ4L3BITmlVMTFFNkFH?= =?utf-8?B?SzZCZ0lzSUlsQUg1K0JQSHhUSUtlbzVMd1VucGt6Qi9rVWx2VlY4c0llM3pN?= =?utf-8?B?TDZ3WVZLR3laRGFKL3hOUjNyd0dZZVVtYkFEUTJqNjRWN1lhVkVUMXUzNUky?= =?utf-8?B?S0QvbW5QRHUrd1lQOHVTVTEzeGNWQXBuRktvY3VNdmlTS3VoMVBjaXl3K1RH?= =?utf-8?B?djJ4NVZtVVQ5VnM5TUh6RnJ1THJRYzg2U2FTVjFwc2xwSEdGbU94dGpKd016?= =?utf-8?B?K2hHeHhTM1hFb0FqWHVZWDEzd1pJeW5hSFpSUGJ3dWZTdVY0MW5uYkVHekxJ?= =?utf-8?B?WktFWUwrOG9BRHNxL2pEaTJncThZaXJ1SXp6S1dlTzY0Qm91ak1LRDJaMFZW?= =?utf-8?B?ODJkbzdVSlBwUTB2MmViWTFubC9RVVdETUVkY0RwUEExZStjS01UUnVNMXVN?= =?utf-8?B?WlArQUkvcXZ1V0I1SFNRc3RJdm5GZUFIN1psWlRCUE16am40R0ZPNXJtMXBh?= =?utf-8?B?eG4ydkFmd0hhQmtGRC9zdURqRWkvN0JQOHhVVC9yNFprY0xsbjZSZTR4Q2M5?= =?utf-8?B?d3puSWJ2T1JrdjNXaGMwRTRQdlFyUXV4NCsyMHJ0S28zOU84MlpmM3VwUitr?= =?utf-8?B?cDM5Wmp4TWltb0pYd0s2NE1Td2U0VTE1dDRNTnVPcVh1WGFsamxCRnM5TUNG?= =?utf-8?B?R243dVB3bzhmUU56WFdnTUN6RXdOYXd2QlJuNjNUVlRjcFE4TG1GQXJqVlNQ?= =?utf-8?B?MjNPV1NaYjJxbVB3VWlSb1ZWSWc2YkRNeHloY0M4T2c5Z0cxaE55bXZwZHlu?= =?utf-8?B?ZWFlc2dMRFhtZSs3eTJXcGQxV2cxcnJpZ3FCUzd6WEJQUU5JZXlmTDdLVWNm?= =?utf-8?B?SU9Ybm9sK1ZZVFQvTUFvL3pDNm9RWCtSVWpJa3IvdkJ3Yklhd0lvUnpuOGkx?= =?utf-8?Q?yJBGgHTTzfG0/x4Q=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: f4be9de1-65ad-4b0e-29bc-08df214984e2 X-MS-Exchange-CrossTenant-AuthSource: DB3PR08MB8962.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2026 12:26:15.6610 (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: HSAw051N7Z+gU4ixT1Fb4KnCDeP4F7B4aSDUFUWYrIwz3gP1/9REjdIIhopT+fS0FCKyFpJOa455Etp2RBtAUu46zTdfDUlDo913lk6bYOQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5647 X-OZ-Fwd: true Cc: devel@openvz.org Subject: Re: [Devel] [PATCH hci-8.1 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/2/26 23:32, no-reply@sashiko.virtuozzo.com wrote: > Thank you for your contribution! Sashiko AI review found 4 potential issue(s) to consider: > - [Medium] printk: WARN_ON_ONCE() added to ve_vprintk_deferred() and ve_log_state() on printk-sensitive paths > - [Low] ve: ve_dev_printk_emit() returns uninitialized r when VE_LOG is rejected in non-task context > - [Low] printk: in_task() WARN is evaluated before ve_is_super(), so host-context calls warn spuriously > - [Low] printk: host-log decision still uses get_exec_env() in non-task context > -- > > commit b1f1fbc536b0ab55f70c0064fc9579c59cbe13a9 > Author: Vladimir Riabchun > > ve/printk: Report potentially leaking usage of ve_printk functions > > This patch adds WARN_ON_ONCE(!in_task()) checks to the ve printk helpers > and to ve_log_state(). The goal is to avoid relying on get_exec_env() in > non-task context, and either reject VE printing or fall back to the host > log state. > > 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] > Can ve_dev_printk_emit() return an uninitialized value here? > > The local variable is declared as "int r;" with no initializer. If > ve_dev_printk_emit(VE_LOG, ...) is called from IRQ, softirq or NMI > context while the interrupted task is in a non-super container, the > first branch is not taken because ve_is_super() is false and VE0_LOG > is not set. The second branch is now skipped because > WARN_ON_ONCE(!in_task()) is true. The function then does "return r" > with r never assigned. > > Before this patch every valid dst assigned r in at least one branch. > The sibling functions ve_vprintk() and ve_vprintk_deferred() use > "int r = 0". Should r be initialized the same way here? True, will fix in v2. > > [Severity: Low] > Is it intended that WARN_ON_ONCE(!in_task()) is evaluated before > ve_is_super() in this condition? > > With the current ordering, ve_dev_printk_emit(VE_LOG, ...) called from > IRQ context while the interrupted task is in the host (VE0) triggers > the warning, even though a host caller cannot leak into a container. > Because the warning is once per site, an early harmless hit could also > suppress a later hit that really would leak. The same ordering appears > in ve_vprintk() and ve_vprintk_deferred() below. Would testing > !ve_is_super(get_exec_env()) first limit the warning to the > potentially leaking case? It doesn't matter that this hit was harmless. We report problematic places, not problematic situations - interrupted task is a random value. > > [Severity: Low] > Is the host-log decision in the preceding branch still based on > get_exec_env() in non-task context? > > if (ve_is_super(get_exec_env()) || (dst & VE0_LOG)) > r = dev_vprintk_emit(level, dev, fmt, args); > > If ve_dev_printk_emit(VE_LOG, ...) is called from IRQ and the > interrupted task is in the host, the message goes to the host log. If > the interrupted task is in a container, the VE branch is rejected by > the WARN and the message is dropped. The commit message says printing > is either rejected or the host log state is returned, but this branch > still depends on whichever task was interrupted. The same pattern > exists in ve_vprintk() and ve_vprintk_deferred(). Is that routing > intended? We might miss some logs in the described case, and these logs might go to the host log instead of container's one. Both cases are fine IMO and commit allows both. This is a sort of best-effort printing. > >> 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_ON_ONCE() recurse into printk? It is fine. > > ve_log_state() is reached from ve_vprintk_emit() and then > vprintk_emit_log(), so the WARN fires in the middle of the printk emit > path. A WARN prints a message and backtrace through the regular > non-deferred printk, and it can panic under panic_on_warn. > > [ ... ] > >> @@ -2540,7 +2541,9 @@ static asmlinkage int ve_vprintk(int dst, const char *fmt, va_list args) >> va_copy(args2, 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); >> va_end(args2); > > [ ... ] > >> @@ -2574,7 +2577,9 @@ static asmlinkage int ve_vprintk_deferred(int dst, const char *fmt, va_list args >> va_copy(args2, 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); >> va_end(args2); > > [Severity: Medium] > Is a synchronous WARN_ON_ONCE() safe inside ve_vprintk_deferred()? > > This helper exists for contexts where regular printk is unsafe, such as > scheduler code or code holding rq or timekeeping locks. If a caller > uses ve_printk_deferred(VE_LOG, ...) from hardirq, softirq or > scheduler-related context, the WARN fires inside > ve_vprintk_deferred() and prints through the non-deferred printk with > a backtrace. Can this deadlock or recurse into printk, or panic under > panic_on_warn? > > The WARN added in ve_log_state() has the same concern on the > ve_vprintk_emit() path used here. It should be fine, WARNs are used in sched code. See reply to the previous patch. > -- Best regards, Riabchun Vladimir Linux Kernel Developer, Virtuozzo _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel