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 A735580726 for ; Sun, 11 Oct 2026 22:54:07 +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 69BMqpMw009354; Mon, 12 Oct 2026 01:52:52 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69BMqpMw009354 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="tOkNeYvz" Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69BMqnEI009338 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Mon, 12 Oct 2026 01:52:50 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69BMqnEI009338 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-4a0228f4a1bso7047435e9.1 for ; Sun, 11 Oct 2026 15:52:50 -0700 (PDT) X-Forwarded-Encrypted: i=2; AKwUvByDeCsSDjyZ/jgUcIAFbjX9t+GMBHyWLA/UXoZeLZDnSPjOImCGJLQuTh3KDVKN6Jetz87kYg==@openvz.org X-Gm-Message-State: AFq9FYJ2u7cRpJN5vkA8W9umsmluConbR5YhmaE+fz/kYALdZEtCHkQf HwMxy1aufTbJHDWoQC575BeTCmjctIGo8mS5MjDcCB1Yn22GTySYj8sKb2kcGF183+aK/DVEFe8 rnm+vjmQO3GEeGZ8fyQq2O+3Iie3AZ8Z3XpsHyXHolILq6u3/xjY1bw== X-Gm-Gg: AYBFou0CJNbijTuAb5i9ca2qjQ1Y+6Quj3M+HSHa26Af18TR5FfnmdaP1aaooGDXd9W EViKr/UZ9JRsG3O/bgsKykcZabtkpIsGWXeb0svu1Dvnw7s3Inw5mT0umtP91FDlsFwy+30D6qo lMth7Qb9EOwQmY/54Nt1CLh+L6lUx+wU147zMQdIbSNPq9nYLXOssjvxIMi90exUDGtW1qOa3TP TqBfBYnKfDRtwOUDMQdxrfvEIOO25m9/MT+1lU3ososnBs0nQiOw80Lj7G7BVbcXfrvleFRtvaD r+RD3GD6FgA8MHk7q092G3hBAVVYoS/xgha0RL9opVnRi0j8eKjltTk35Evz5QqcaqxJ/ppXLbZ fUyu2ILw+T8S8MMiCiDecTOCtWhV2 X-Received: by 2002:a05:600c:6097:b0:49f:bd3c:bc24 with SMTP id 5b1f17b1804b1-4a18e4b8885mr138531355e9.31.1791759169684; Sun, 11 Oct 2026 15:52:49 -0700 (PDT) X-Received: by 2002:a05:600c:6097:b0:49f:bd3c:bc24 with SMTP id 5b1f17b1804b1-4a18e4b8885mr138531095e9.31.1791759169015; Sun, 11 Oct 2026 15:52:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1791759169; cv=none; d=google.com; s=arc-20260327; b=dSBsgB3WeeNoLJtiEgFyE2OL+oEdzGZh/k443HU84MIPHU2SzLRG/s3bXrMqr9I+Qe O39Bj9TGXRa5Qh05wPJUyeh+P5C9svc6QYND6KtmPYCYiM/vuIzpHIWPvu9GVfvMEYAR w3D/kP1HYjbTzhLYBXUIECNdwUf3nE7J4B6/mGE0vKtVMTyC5W+6LY7EQZq09d9xoYfF dZYQCd+Sa+EGrgHxSaqZf6Fh/89drMvJFOPe6E+F08UtXJdjRXsko9DcPofdeRpVJAHJ MI+fdxVCGTkezXIzQoN98c52zz4aWe+rS1q72di7YpqMiCQYqSDznqguGt4PQjGekI2L QG4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:dkim-signature; bh=Yk4k9H/VfvE170VyMeCmMSspXVF34zjCnaZkbeKVMmE=; fh=eCOFrBZAqsL6jjT8ApulcBPCLrgIlXlNCEpSn7Ap5O8=; b=n1MTWy61u1rw0YotRjswRHbpcKELjiWHSGrmb6CD90/blYAlgwdfnVZpdzL/nCMUFV hqMmeXv03mwBlosMECvveoekY26yZyme66HRM+V119WVSs6QNbL9aXTvJJVzrfN/AXcX /BPeTCc0VlZEkrRwXqlrMoQkNErkT4hqKnk/zHMCTCY0aGmXb8SMl1nERKK44KDyrBTI cGu++TexD062a2jWGpStcmvZXTCdmJAatgH6W1c6tqRK1/8Yi8FeKC8gY4qjLJrVVM5b MlpsmhO0ZwxelqjLXvBAp7CDEfPqPuuXl7qty0RuhTxor4PfPPRReqBB9BRqqMWdzKsl q/cA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=tOkNeYvz; spf=pass (google.com: domain of vladimir.riabchun@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=vladimir.riabchun@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from relay.virtuozzo.com (relay.virtuozzo.com. [130.117.225.111]) by mx.google.com with ESMTPS id ffacd0b85a97d-48dbf77ad39si12091383f8f.288.2026.10.11.15.52.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 11 Oct 2026 15:52:48 -0700 (PDT) Received-SPF: pass (google.com: domain of vladimir.riabchun@virtuozzo.com designates 130.117.225.111 as permitted sender) client-ip=130.117.225.111; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=tOkNeYvz; spf=pass (google.com: domain of vladimir.riabchun@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=vladimir.riabchun@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=virtuozzo.com; s=relay; h=Content-Type:MIME-Version:Message-Id:Date:Subject :From; bh=Yk4k9H/VfvE170VyMeCmMSspXVF34zjCnaZkbeKVMmE=; b=tOkNeYvzXuyBVky0W6w J2Kcu1takVfWi8RcKj5fnGZnnNjNySaumUdh8slK10DdsivCH9y+k2aFXxhgepAw4jOzVb0Dfq7oH 34pO/q03wV8O87kQ4mO9itwHMf0Ua2q1/GeVDVQOXOs4Oup+pSCRGosr0iqmsyKWrtWAyMxragYru A1oy0RZKsV9PCpV1PZUuM78z6iElxB/p1LQPkqgEVb/ruhejsSDlt7yNTYkfn/TUVCGdqciwzB8eX E8Xm+oepRnGvFq7RgXYHKo7j2SvXlcnmNqjeFzMQxJu5I8f+FxgdStuUkXFaTXEQDCcayGCI11GhE YJ8nJ5xixEqKhSA==; Received: from ch-demo-asa.virtuozzo.com ([130.117.225.8] helo=192.168.1.87) by relay.virtuozzo.com with esmtps (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1xG2M3-002SCD-1G; Mon, 12 Oct 2026 00:52:41 +0200 From: Vladimir Riabchun Date: Mon, 12 Oct 2026 00:52:27 +0200 Message-Id: <20261012-ve-printk-irq-v3-0-efc95fd5c78a@virtuozzo.com> MIME-Version: 1.0 X-B4-Tracking: v=1; b=H4sIACsTzGoC/13N0Q6CIBgF4FdxXIf7AUHtqvdoXSRg/muJgbHS+ e4RV83Ls7PznZUE69EGcixW4m3EgG5MQRwKoofreLMUTcqEA1fQckGjpZPHcb5T9E8KvNZC1I1 S0JO0mbzt8Z29Mxk00qZk5JKKAcPs/Cf/RJbrH8kA+I6MjALVnZRNq0wlpT5F9PPLLYsrtXtkL fJ/Qe0FngTTMaOrXlkD9V7Ytu0LhJO+G/kAAAA= X-Change-ID: 20260923-ve-printk-irq-027c3378660f To: vasileios.almpanis@virtuozzo.com, ptikhomirov@virtuozzo.com, Konstantin Khorenko X-Mailer: b4 0.14.3 X-OZ-Fwd: true Cc: devel@openvz.org Subject: [Devel] [PATCH hci-8.1 v3 0/6] ve/printk: Fix logs leakage via ve_printk called from IRQ context 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 Printk function that printed logs to containers' dmesgs mostly used get_exec_env() for getting VE. This is fine for task contexts and might be wrong for IRQ contexts. This patchset fixes this in the following way: - Report non-task usages of ve_printk function which get VE from current task. Do it with WARN so users will be frightened and will report it to us so we can fix it. This will also make an issue visible to our internal tests. - Reject printing to containers when VE is unreliable. - Calculate correct time offsets when calling printk. It can be delayed and the context might change, we can see time travels if time was taken from a different container. With these fixes failcounts can be now used in any context, so the last failcount - neigh_tbl - is added. This was tested by our neoltp tests on host and inside containers. No tests crashed, so there an no obvious IRQ callers of ve_printk functions. https://virtuozzo.atlassian.net/browse/VSTOR-146839 Feature: ve printk Signed-off-by: Vladimir Riabchun --- Changes in v3: - Patch 3: updated comments and removed ve_struct declaration in printk.h. - Patch 4: removed stale GET)VE_LOG macro and wrapped owner_ve assignment in init_log_state with CONFIG_VE check. - Link to v2: http://lore.virtuozzo.com/20261006-ve-printk-irq-v2-0-db1dc4f6ed07@virtuozzo.com Changes in v2: - Patch 2: fixed uninitialized r value in ve_dev_printk_emit. - Patch 3: fixed incorrect __printf annotation for ve_printk_deferred. - Patch 3: now on IRQ case ve_printk_ratelimited falls back to ve0. - Patch 3: removed forgotten get_exec_env() usages from ve_printk functions. - Patch 4: completely reworked and simplified. - Patch 5: fix __ve_printk_ratelimited stub. - Patch 6: brought back table type logging to host. - Link to v1: http://lore.virtuozzo.com/20261002-ve-printk-irq-v1-0-cb55896d455c@virtuozzo.com --- Vladimir Riabchun (6): ve/printk: Add sanity checks in ve_printk functions ve/printk: Report potentially leaking usage of ve_printk functions ve/printk: Specify ve in printks ve/printk: Fix time virtualization ve/failcount: Use ve_printk with specified ve ve: add neigh_tbl failcounter drivers/base/core.c | 8 ++- include/linux/net.h | 16 +++--- include/linux/printk.h | 43 ++++++++++++--- include/linux/ratelimit_types.h | 6 ++- include/linux/ve.h | 17 +++--- kernel/printk/internal.h | 2 + kernel/printk/printk.c | 101 ++++++++++++++++++++++++++++-------- kernel/ve/ve.c | 3 ++ lib/ratelimit.c | 7 +-- net/core/neighbour.c | 5 +- net/core/utils.c | 4 +- net/netfilter/nf_conntrack_core.c | 2 +- net/netfilter/nf_conntrack_expect.c | 2 +- net/netfilter/xt_TCPMSS.c | 4 +- 14 files changed, 160 insertions(+), 60 deletions(-) --- base-commit: ca54f152160587a74ff17cb52feef16f7b9d4e2b change-id: 20260923-ve-printk-irq-027c3378660f Best regards, -- Vladimir Riabchun _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel