From patchwork Mon Mar 11 14:02:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: William Tu X-Patchwork-Id: 1910473 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ubuntu.com (client-ip=185.125.189.65; helo=lists.ubuntu.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=patchwork.ozlabs.org) Received: from lists.ubuntu.com (lists.ubuntu.com [185.125.189.65]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4TtdmL4YLYz1yWn for ; Tue, 12 Mar 2024 01:03:45 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=lists.ubuntu.com) by lists.ubuntu.com with esmtp (Exim 4.86_2) (envelope-from ) id 1rjgFa-0007Bx-48; Mon, 11 Mar 2024 14:03:34 +0000 Received: from mail-mw2nam10on2077.outbound.protection.outlook.com ([40.107.94.77] helo=NAM10-MW2-obe.outbound.protection.outlook.com) by lists.ubuntu.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1rjgFM-00079A-C1 for kernel-team@lists.ubuntu.com; Mon, 11 Mar 2024 14:03:20 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bAf/DssbgWhr7beFj8KkZKHMhxM7gXaJGhBqGtehcdxOLOfBnffHx5wUrBsS4EWE6HptiGwIBzqWOG8nMz5+EnAG9fJphQFTXSoweJsZkMECuOR26t8XkYlsorTVL3NGK5Ufa4QRV1PAUx2ECk7Ez8vTf0Ndf8K67CN49Mro5xchMM7J0YEDKneZjQKtgDxqxqLh588lz917nvpPGsi46oBMMBg9qOR8hMeurNeMdvRbAv17ildJnnRLUrKk1eBMErJwzdVr0PdSKhwcRnXLTqXtQ20w5LNsakoDX3Z3ii9IW27+IPUEX690mQY9d9HWQjFRRyi3yho9EipQBslHcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=abFlgPYxQw6e9hG5ox+jFQRMsd9NTqhUb+uQRhVpx3w=; b=CVYCLzshNwuBRlijFHbAknOC1Jor8aSQbG6BLqiY/BD6ddI8lDfNBkpeYDP9EVHOqjo8ujAK057XUkW067R1rGQWkHtxkqW2yDmIJZ4hfao5XHUCik94Gqi3kDDvQgQzanodx9NahSzD/vTjEg9jel2oDBXDTlzZovugsPioU9lBGAr+kPzc1pismr/ti3iQ2aAbhr4OD4x1vjTiTDRapr2q6bHUqQc/+mvzGAKMFuGzrpIVk9evKu4VPoVLt4HpxY9SoiopudwVIHmTOlo8VliRKHUIonvAIFGF2awaxN1Aj1vEi+wkRwUjrS+gmwsggGGKWeFOi6EepY6FY2A4cQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=lists.ubuntu.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) Received: from CYZPR14CA0036.namprd14.prod.outlook.com (2603:10b6:930:a0::10) by DS0PR12MB7876.namprd12.prod.outlook.com (2603:10b6:8:148::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.34; Mon, 11 Mar 2024 14:03:14 +0000 Received: from CY4PEPF0000EE36.namprd05.prod.outlook.com (2603:10b6:930:a0:cafe::5f) by CYZPR14CA0036.outlook.office365.com (2603:10b6:930:a0::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.36 via Frontend Transport; Mon, 11 Mar 2024 14:03:14 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by CY4PEPF0000EE36.mail.protection.outlook.com (10.167.242.42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.12 via Frontend Transport; Mon, 11 Mar 2024 14:03:14 +0000 Received: from rnnvmail205.nvidia.com (10.129.68.10) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 11 Mar 2024 07:02:58 -0700 Received: from rnnvmail202.nvidia.com (10.129.68.7) by rnnvmail205.nvidia.com (10.129.68.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.12; Mon, 11 Mar 2024 07:02:57 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.7) with Microsoft SMTP Server id 15.2.1258.12 via Frontend Transport; Mon, 11 Mar 2024 07:02:57 -0700 From: William Tu To: Subject: [SRU][J:linux-bluefield][PATCH 0/1] openvswitch gentling validation warning: missing .resv_start_op Edit Date: Mon, 11 Mar 2024 07:02:55 -0700 Message-ID: <20240311140256.2405-1-witu@nvidia.com> X-Mailer: git-send-email 2.37.1 (Apple Git-137.1) MIME-Version: 1.0 X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE36:EE_|DS0PR12MB7876:EE_ X-MS-Office365-Filtering-Correlation-Id: 6d4e5185-8af4-4592-e585-08dc41d3fe87 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CtE7DmVRn0PATyj3HQ6YjM/hLodmrQHjpd75CrVhfyCQIuqz1YpfToIFHBi8RyzlYvR8TSdcKY7wWDCKxMhc1fmse3GsLDOYQIOarM4q+H4ivLhPV0kumdS4tU4TEGXmqBFqS6KVtOJcjQ+7CneQfOhJ3THeGj8D9w3FwOydaYjnE1UhSPM38MNdf/O4fbsa1cYfkzhuiHP1pYxVPHcDiJi6M6yrbVLtC+9x9bxQEU2eauY1KwjIGk22Mzs8LVhwfu0TD94szzx8U6AbKaJozFVU7DoIzO7iBNgmcBOUM7aTau7iRCFznF5z8LSra+ttFx1uq6VQRp3fYL+DDDfIZWtG+hVyIAKso5Pfe5QoNBqoZ5qUdqu9Z+jFUoNR7hfBY1Pht56BgWJDEQX7heX3H2NO+4J0tZqD7ArKDcueNt7Re9tsWxqcn4raIHBSZ3zjjRKfxug2jbGKKKuLnvEQ+FyR89+1QvJ7pE6K255C3HriOapzKlBV9fYcvkFIJiNXrvxyQKAYxDgC9Q6bvLHW/s2NdX9A8FOT7ABGgfzmXSJvtVTsMbXHtOmA3chaqIL2vLBa9rmGc0vYVJSNB9P82Dui2Ax4v28cO0Zum6oqMEiYzs0SalmJuI9wFCnutUFXViPRmeKn1+FVvoQVY8Pv2vs21BYBc18TPR3u3nebq5Um9QRMD+RSoKy+4lXZiEpTNuypNdLTMwxkb0IymeTnP3mVJmNrPWwRHG0TQmSKSBlZ4r5/g8Y91p6temvGFaBu X-Forefront-Antispam-Report: CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE; SFS:(13230031)(1800799015)(36860700004)(82310400014)(376005); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2024 14:03:14.2947 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6d4e5185-8af4-4592-e585-08dc41d3fe87 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.161]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EE36.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7876 Received-SPF: softfail client-ip=40.107.94.77; envelope-from=witu@nvidia.com; helo=NAM10-MW2-obe.outbound.protection.outlook.com X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: bodong@nvidia.com, vlad@nvidia.com, yifeid@nvidia.com, dann.frazier@canonical.com Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" BugLink: https://bugs.launchpad.net/bugs/2056718 Intro: ====== When hit a kernel warning when loading openvswitch kernel module. Digging into the source code, we found it's due to the code snippet if (WARN_ON(i.cmd >= family->resv_start_op && (i.doit.validate || i.dumpit.validate))) return -EINVAL; in the gene_validate_ops() in net/netlink/genetlink.c, introduced in 108880a07bab genetlink: add iterator for walking family ops from buglink about DPLL/SynCE https://bugs.launchpad.net/bugs/2053155 How to fix: =========== We need to cherry-pick the missing patch Fixes: e4ba4554209f ("net: openvswitch: add missing .resv_start_op") Author: Jakub Kicinski Date: Thu Oct 27 20:25:01 2022 -0700 net: openvswitch: add missing .resv_start_op I missed one of the families in OvS when annotating .resv_start_op. This triggers the warning added in commit ce48ebdd5651 ("genetlink: limit the use of validation workarounds to old ops"). Reported-by: syzbot+40eb8c0447c0e47a7e9b@syzkaller.appspotmail.com Fixes: 9c5d03d36251 ("genetlink: start to validate reserved header bytes") Link: https://lore.kernel.org/r/20221028032501.2724270-1-kuba@kernel.org Signed-off-by: Jakub Kicinski Thanks! How to reproduce: ================= simply load the openvswitch.ko and dmesg [ 1083.518212] WARNING: CPU: 2 PID: 17269 at net/netlink/genetlink.c:554 genl_validate_ops+0x134/0x254 ... [ 1083.518306] CPU: 2 PID: 17269 Comm: modprobe Tainted: G W OE 5.15.0-1037.39.10.g319565b-bluefield #g319565b [ 1083.518309] Hardware name: https://www.mellanox.com BlueField SoC/BlueField SoC, BIOS 4.7.0.13056 Feb 28 2024 [ 1083.518311] pstate: 00400009 (nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 1083.518313] pc : genl_validate_ops+0x134/0x254 [ 1083.518315] lr : genl_validate_ops+0x68/0x254 [ 1083.518317] sp : ffff80000a773810 [ 1083.518318] x29: ffff80000a773810 x28: ffff80000a773ba0 x27: ffffb1ea36f87318 [ 1083.518321] x26: ffffb1ea36f8cd20 x25: 0000000000000001 x24: ffffb1ea36f8cda8 [ 1083.518323] x23: 0000000000000000 x22: 0000000000000001 x21: ffffb1ea36f87210 [ 1083.518325] x20: ffffb1ea36f8b410 x19: 0000000000000001 x18: 0000000000000000 [ 1083.518328] x17: 0000000d00020008 x16: ffffb1ea4b70c2d0 x15: 0000003c00010006 [ 1083.518330] x14: 0000000068746170 x13: 0000000000000000 x12: 0000000000000001 [ 1083.518332] x11: 0000000000000000 x10: 0000000000000000 x9 : ffffb1ea4b709a5c [ 1083.518335] x8 : 0000000000000000 x7 : 0000000000000000 x6 : ffffb1ea4d4218c0 [ 1083.518337] x5 : 0000000000000004 x4 : 0000000000000000 x3 : 0000000000000001 [ 1083.518339] x2 : 0000000000000000 x1 : 0000000000000000 x0 : 0000000000000003 [ 1083.518341] Call trace: [ 1083.518343] genl_validate_ops+0x134/0x254 [ 1083.518344] genl_register_family+0x30/0x1f4 [ 1083.518347] dp_init+0xd4/0x174 [openvswitch] [ 1083.518360] do_one_initcall+0x4c/0x250 [ 1083.518364] do_init_module+0x50/0x260 [ 1083.518368] load_module+0x9fc/0xbe0 [ 1083.518370] __do_sys_finit_module+0xa8/0x114 [ 1083.518372] __arm64_sys_finit_module+0x28/0x3c [ 1083.518375] invoke_syscall+0x78/0x100 [ 1083.518379] el0_svc_common.constprop.0+0x54/0x184 [ 1083.518381] do_el0_svc+0x30/0xac [ 1083.518383] el0_svc+0x48/0x160 [ 1083.518387] el0t_64_sync_handler+0xa4/0x12c [ 1083.518390] el0t_64_sync+0x1a4/0x1a8 [ 1083.518392] ---[ end trace ec4279298c2ae7be ]--- [ 1083.830668] openvswitch: Open vSwitch switching datapath Jakub Kicinski (1): net: openvswitch: add missing .resv_start_op net/openvswitch/datapath.c | 1 + 1 file changed, 1 insertion(+) Acked-by: Bartlomiej Zolnierkiewicz Acked-by: Tim Gardner