From patchwork Thu Oct 13 17:52:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2282 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp424935wrs; Thu, 13 Oct 2022 11:42:41 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6G9OlUTPsoqxVZ41185vYCFq2Mj93J8hA9KUvHUuMUrbHtebZgL3JqSeCt+TNKC68JUbXe X-Received: by 2002:a17:90b:4a90:b0:20d:5c5e:1622 with SMTP id lp16-20020a17090b4a9000b0020d5c5e1622mr12936704pjb.50.1665686560709; Thu, 13 Oct 2022 11:42:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665686560; cv=none; d=google.com; s=arc-20160816; b=NGMGvOQOqoQ2vO7XoEXqG5fsyNXcHhOZh8h3vNUzHe0cHASRbBOwgu5u91UBXS4g1l vQ6Nc0JpE/JIM+vvbpKVG/HwJU/Z0/jrmFurGlgXtTyHvIvIM/m3pYyHkcHmq4cpLJVN 3Wi49zNFcqa/esICVwc1LOFLBFCusTZJY0cJD1rKfwq5Yh5RRn8y+SDsHQdThkAMFIu/ Uea2GO/GcXCmBZDCmNY9xGxGCjyzS2y8576Zf0Kiwv8KD04CxMXiv1Nr3J9PmNiYq0L1 6Wj9GT5m2hbzrjpddrifDjBC4dSZ9Oy6PKYxc2Ts0HTRsrauANQOJLEjNT8X6lBzL8dC YqhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=R5Ts1gYK+bv7sl4la9+VHGihDX7toXEO/CyqXOirrDE=; b=lh8bFpnsfRoVAC77+aa5MIk2OzaaqSKas6yPcac+Qwv4jtteSpUVxOgkatVJahAzjt 2hQeQs3Cp/E13ygKuW1ms5qw4pv/q6Ub5l3Cy85tkgqP+RHgHdBx3A8dnWUIC8v+sfOe fPgcP50Xbx4Vp5kc1CVcsFd6oH6pLhoi3OsX5UcmKreSVXXy/aSDJjjAq78GjdgsSqHc yt2/Cp39oQXFwLtcAYvX5Ql4ySQMyt33ThLCGnUE3IL3UVhLsy7Dn8n7hv1wbKT56iIi SzazHIc7kUlQ3h7huSeQrOrJkjs/cyrSqz6vfVG+7Wx+iglAE2GUfonGd3kIX/42gLSA Yxfw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="B9f4HS7/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t2-20020a17090a510200b00200a22064afsi5932350pjh.41.2022.10.13.11.42.28; Thu, 13 Oct 2022 11:42:40 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="B9f4HS7/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231831AbiJMS2O (ORCPT + 99 others); Thu, 13 Oct 2022 14:28:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37312 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231924AbiJMS13 (ORCPT ); Thu, 13 Oct 2022 14:27:29 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A680918A3E2; Thu, 13 Oct 2022 11:22:56 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 85ED7B8204B; Thu, 13 Oct 2022 17:59:14 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E0074C433C1; Thu, 13 Oct 2022 17:59:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665683953; bh=7lrOG+XELFk1IIcIKmG8btdaYc1FlQlU2Ev0FtNv+Y0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=B9f4HS7/pHnV5P14uWo9RiBYMqIPArxCEOAEHFrJyEBGfTsta4J9aPvUnBhOQoaiG B4WjSDHl1UPyNByCgUEOL8pSEEMi5yvf9r4+YEAgQDcOPuEp9xVfD12TBjIJ3DZcx8 mCpxu290OzK4/eLGkys/lRnXOO72tgb53QAnVptU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ryusuke Konishi , syzbot+b8c672b0e22615c80fe0@syzkaller.appspotmail.com, Khalid Masum , Andrew Morton Subject: [PATCH 5.19 02/33] nilfs2: fix use-after-free bug of struct nilfs_root Date: Thu, 13 Oct 2022 19:52:34 +0200 Message-Id: <20221013175145.312497204@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746598950869977150?= X-GMAIL-MSGID: =?utf-8?q?1746598950869977150?= From: Ryusuke Konishi commit d325dc6eb763c10f591c239550b8c7e5466a5d09 upstream. If the beginning of the inode bitmap area is corrupted on disk, an inode with the same inode number as the root inode can be allocated and fail soon after. In this case, the subsequent call to nilfs_clear_inode() on that bogus root inode will wrongly decrement the reference counter of struct nilfs_root, and this will erroneously free struct nilfs_root, causing kernel oopses. This fixes the problem by changing nilfs_new_inode() to skip reserved inode numbers while repairing the inode bitmap. Link: https://lkml.kernel.org/r/20221003150519.39789-1-konishi.ryusuke@gmail.com Signed-off-by: Ryusuke Konishi Reported-by: syzbot+b8c672b0e22615c80fe0@syzkaller.appspotmail.com Reported-by: Khalid Masum Tested-by: Ryusuke Konishi Cc: Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman --- fs/nilfs2/inode.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) --- a/fs/nilfs2/inode.c +++ b/fs/nilfs2/inode.c @@ -328,6 +328,7 @@ struct inode *nilfs_new_inode(struct ino struct inode *inode; struct nilfs_inode_info *ii; struct nilfs_root *root; + struct buffer_head *bh; int err = -ENOMEM; ino_t ino; @@ -343,11 +344,25 @@ struct inode *nilfs_new_inode(struct ino ii->i_state = BIT(NILFS_I_NEW); ii->i_root = root; - err = nilfs_ifile_create_inode(root->ifile, &ino, &ii->i_bh); + err = nilfs_ifile_create_inode(root->ifile, &ino, &bh); if (unlikely(err)) goto failed_ifile_create_inode; /* reference count of i_bh inherits from nilfs_mdt_read_block() */ + if (unlikely(ino < NILFS_USER_INO)) { + nilfs_warn(sb, + "inode bitmap is inconsistent for reserved inodes"); + do { + brelse(bh); + err = nilfs_ifile_create_inode(root->ifile, &ino, &bh); + if (unlikely(err)) + goto failed_ifile_create_inode; + } while (ino < NILFS_USER_INO); + + nilfs_info(sb, "repaired inode bitmap for reserved inodes"); + } + ii->i_bh = bh; + atomic64_inc(&root->inodes_count); inode_init_owner(&init_user_ns, inode, dir, mode); inode->i_ino = ino; From patchwork Thu Oct 13 17:52:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2193 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp409641wrs; Thu, 13 Oct 2022 11:05:06 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5CB3CqttIE8D4RE2qdXHyfL6M3jndTyvewOlbhN0ysTB9vbfwl/0EZE+xuUMloqpWM7fAT X-Received: by 2002:a17:902:b089:b0:178:54cf:d692 with SMTP id p9-20020a170902b08900b0017854cfd692mr938602plr.1.1665684306082; Thu, 13 Oct 2022 11:05:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665684306; cv=none; d=google.com; s=arc-20160816; b=dRTTtx8gHK17/Umlvn33LziCsCNgOifu3GfeGyTxHkH776G6vnm8QcCoFueFeVvrjs yFUf8UwRo2VNyj6XB10bT0yPJHWQDplPLZnO3epKsiyZlm0mktcYN3WkplK29zmCkntU ftn2IrKAfkg9gs4BVF1OnbGWLnWgyz6tDDQc/M+OE4pDCsqdd65O9MI4AG7aUNbmD3wv z25lSgVtH4gZz7giLqoweUvpuH7ZBV0hI/aALMCRNuA+kmtmMWy4kkFfbypfh0IuHaBB zKclLgzC747okP+7f/eMogW2Jx/rf8PM+ML5TWh7kD0cqBdWf1xPv1DXU4t7nRU1GO1o ePoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=2b2/wfbgbXHKU9tF9t50KaWRwLvzMNyAJEdOZl2R4UA=; b=ai0ckVjSY/fra64izOkDwKLBoBRTKN5idQDsfvdnn8R1AHHL1Io7ktJ55jOYQBwt8I YfFXKy9GplUO19xYGkqeXtXRFniP5wQDSJxZ2RaxOj+Ss4DLIL7Ig7ZrDF92jP3FK0tA us+/r+Q8OllK692HZFbsXOzpxty4Xk21yNraDv7C/Nh0swLHFo5u4z6tSQ8L1RM5WKmt 9W28r5gIF+LKk9L2m4FvQTZG3nVIfbchXHhimf/Ip7dE3sOWs2SttTqZGOoDV73VFHlz Ad5DVz7MmXrGa+J1xgw7g9rswncDiRoyth392nhQiYzAKYHfRvnODl4xJer+X1eZgLwZ HqNQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=MKDsUS2Z; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j69-20020a638048000000b0044db644b9bcsi82428pgd.143.2022.10.13.11.04.53; Thu, 13 Oct 2022 11:05:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=MKDsUS2Z; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230308AbiJMSEn (ORCPT + 99 others); Thu, 13 Oct 2022 14:04:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34224 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230386AbiJMSDJ (ORCPT ); Thu, 13 Oct 2022 14:03:09 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9E973152C43; Thu, 13 Oct 2022 11:02:55 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 9F5BB61944; Thu, 13 Oct 2022 17:59:16 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id AEE73C433D6; Thu, 13 Oct 2022 17:59:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665683956; bh=4/0gbWRoGgXhcpCItadg29FCqoOIDIWdJPHkOeinRzA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MKDsUS2ZW3MV2CqY8QXt7BnAgc80+wT+eAjSoeEYLlFRzBz0r+6389psQe/DCEoxk z8OVK77hu9nnTx9ZdB94AksDbcZB0KlMcK4PFuIRCM4k9cEb2PkP/lpdMw9vLFyXIU hAhwXiE30dXofio9WxmvmzeV1dIvIoYKkm81Anf8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ryusuke Konishi , syzbot+7381dc4ad60658ca4c05@syzkaller.appspotmail.com, Andrew Morton Subject: [PATCH 5.19 03/33] nilfs2: fix leak of nilfs_root in case of writer thread creation failure Date: Thu, 13 Oct 2022 19:52:35 +0200 Message-Id: <20221013175145.342219247@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746596587090866802?= X-GMAIL-MSGID: =?utf-8?q?1746596587090866802?= From: Ryusuke Konishi commit d0d51a97063db4704a5ef6bc978dddab1636a306 upstream. If nilfs_attach_log_writer() failed to create a log writer thread, it frees a data structure of the log writer without any cleanup. After commit e912a5b66837 ("nilfs2: use root object to get ifile"), this causes a leak of struct nilfs_root, which started to leak an ifile metadata inode and a kobject on that struct. In addition, if the kernel is booted with panic_on_warn, the above ifile metadata inode leak will cause the following panic when the nilfs2 kernel module is removed: kmem_cache_destroy nilfs2_inode_cache: Slab cache still has objects when called from nilfs_destroy_cachep+0x16/0x3a [nilfs2] WARNING: CPU: 8 PID: 1464 at mm/slab_common.c:494 kmem_cache_destroy+0x138/0x140 ... RIP: 0010:kmem_cache_destroy+0x138/0x140 Code: 00 20 00 00 e8 a9 55 d8 ff e9 76 ff ff ff 48 8b 53 60 48 c7 c6 20 70 65 86 48 c7 c7 d8 69 9c 86 48 8b 4c 24 28 e8 ef 71 c7 00 <0f> 0b e9 53 ff ff ff c3 48 81 ff ff 0f 00 00 77 03 31 c0 c3 53 48 ... Call Trace: ? nilfs_palloc_freev.cold.24+0x58/0x58 [nilfs2] nilfs_destroy_cachep+0x16/0x3a [nilfs2] exit_nilfs_fs+0xa/0x1b [nilfs2] __x64_sys_delete_module+0x1d9/0x3a0 ? __sanitizer_cov_trace_pc+0x1a/0x50 ? syscall_trace_enter.isra.19+0x119/0x190 do_syscall_64+0x34/0x80 entry_SYSCALL_64_after_hwframe+0x63/0xcd ... Kernel panic - not syncing: panic_on_warn set ... This patch fixes these issues by calling nilfs_detach_log_writer() cleanup function if spawning the log writer thread fails. Link: https://lkml.kernel.org/r/20221007085226.57667-1-konishi.ryusuke@gmail.com Fixes: e912a5b66837 ("nilfs2: use root object to get ifile") Signed-off-by: Ryusuke Konishi Reported-by: syzbot+7381dc4ad60658ca4c05@syzkaller.appspotmail.com Tested-by: Ryusuke Konishi Cc: Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman --- fs/nilfs2/segment.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) --- a/fs/nilfs2/segment.c +++ b/fs/nilfs2/segment.c @@ -2786,10 +2786,9 @@ int nilfs_attach_log_writer(struct super inode_attach_wb(nilfs->ns_bdev->bd_inode, NULL); err = nilfs_segctor_start_thread(nilfs->ns_writer); - if (err) { - kfree(nilfs->ns_writer); - nilfs->ns_writer = NULL; - } + if (unlikely(err)) + nilfs_detach_log_writer(sb); + return err; } From patchwork Thu Oct 13 17:52:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2289 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp425756wrs; Thu, 13 Oct 2022 11:44:58 -0700 (PDT) X-Google-Smtp-Source: AMsMyM77vkRvNGnQCSOhiZIhyxhndFq52CJUWfWSBKc56ifu2yiYF7y375KsowS+1sLgGSDXDgFK X-Received: by 2002:a63:8b44:0:b0:45f:952f:c426 with SMTP id j65-20020a638b44000000b0045f952fc426mr1038840pge.623.1665686698400; Thu, 13 Oct 2022 11:44:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665686698; cv=none; d=google.com; s=arc-20160816; b=Ml10/5d9+u6WzkJbzTb7clBwtkNvA4KvD11WpyCEQS0v4PKXTDnMdypctgYt1CENeP 8/JU+tVORWm6IzNnwIM2bmyClkTpCUpr4knn85lUlCjwqAHHJh/7i2MmSB+BN4CzXvAX 7NWsb2wV/+w0BEBiNI6W4+wParmb2Dn4henqST3Hn2+WuvC5dGGZm4NSGlm5bt5asStL 6gnkzcuwzFGlqhpOSBDoPDLnehdk/2OnfJeyshJSjjiSXOxK95FzYdiKiVK48P8QtKpV t1TxOYQ8U2ZVRsrvUyR6qDvOYzyOtnx4A5Rd5OoCv4vKbt31XXZMDMKQO5JJ/IskToSX iTZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=aNgRi6K6QlKRGK4Ipwa6FfNJWusnQAp2ZBui43ru6fM=; b=PmQcuGy+XNMWt92OGzWONqWq5HjqaI7BfQ/V1uvUoaKQflv9cyOuXtVMp2Gnptq4OF tZ8Ehsu1xTCx3VRDNJ+z1aHTs6ZxMa2RTa+fFagBILpDBJc1GGQwVsqD+8Zuikgcpn1t gzemKnqDxBBxIPFuSVTqA1CahF+uY8ZnSdecA1D0NBflABadzBJm7ucfON8BLcQjzasq B0nKwX8FhJCGnGSE4Nq+wn+52sqO34dx2hQU/5m/U/DjOSNrH+Y21N7U2+IF7ykQQfXG ZcYPoYz0Tt/mOkFXktn9Pg2fgwSBtr8U6+wuOB1Up2bfpXi+7+PaLV5vRCQjdCtt5wiE nLAw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=nD3dFIh6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j5-20020a63b605000000b00450b99448b0si153373pgf.341.2022.10.13.11.44.43; Thu, 13 Oct 2022 11:44:58 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=nD3dFIh6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230494AbiJMSEq (ORCPT + 99 others); Thu, 13 Oct 2022 14:04:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58142 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229905AbiJMSDS (ORCPT ); Thu, 13 Oct 2022 14:03:18 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4AD57160EF2; Thu, 13 Oct 2022 11:03:03 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 804D761932; Thu, 13 Oct 2022 17:59:29 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 91A75C433C1; Thu, 13 Oct 2022 17:59:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665683968; bh=T5hUlJubGs9iN1Cr22GehC2ffTzgTKc0wkupXsH0j3A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nD3dFIh6WubljEvy960Q3y1ZDFULDS+LDshobU8yA/nY7nU2fyzw0dtXk8ZOeqVDL K1xG9D5YId19t6uSyqpoHSrcvSfC1Z4X63RYH/cMpWoB3EyS5C4qYRuSj4P4pBN1hL Qjq3dMZSRJB3k180U+P0jmxU2wsE8aOOuwtZu6dY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ryusuke Konishi , syzbot+fbb3e0b24e8dae5a16ee@syzkaller.appspotmail.com, Andrew Morton Subject: [PATCH 5.19 04/33] nilfs2: replace WARN_ONs by nilfs_error for checkpoint acquisition failure Date: Thu, 13 Oct 2022 19:52:36 +0200 Message-Id: <20221013175145.371745826@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746599095540488441?= X-GMAIL-MSGID: =?utf-8?q?1746599095540488441?= From: Ryusuke Konishi commit 723ac751208f6d6540191689cfbf6c77135a7a1b upstream. If creation or finalization of a checkpoint fails due to anomalies in the checkpoint metadata on disk, a kernel warning is generated. This patch replaces the WARN_ONs by nilfs_error, so that a kernel, booted with panic_on_warn, does not panic. A nilfs_error is appropriate here to handle the abnormal filesystem condition. This also replaces the detected error codes with an I/O error so that neither of the internal error codes is returned to callers. Link: https://lkml.kernel.org/r/20220929123330.19658-1-konishi.ryusuke@gmail.com Signed-off-by: Ryusuke Konishi Reported-by: syzbot+fbb3e0b24e8dae5a16ee@syzkaller.appspotmail.com Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman --- fs/nilfs2/segment.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) --- a/fs/nilfs2/segment.c +++ b/fs/nilfs2/segment.c @@ -875,9 +875,11 @@ static int nilfs_segctor_create_checkpoi nilfs_mdt_mark_dirty(nilfs->ns_cpfile); nilfs_cpfile_put_checkpoint( nilfs->ns_cpfile, nilfs->ns_cno, bh_cp); - } else - WARN_ON(err == -EINVAL || err == -ENOENT); - + } else if (err == -EINVAL || err == -ENOENT) { + nilfs_error(sci->sc_super, + "checkpoint creation failed due to metadata corruption."); + err = -EIO; + } return err; } @@ -891,7 +893,11 @@ static int nilfs_segctor_fill_in_checkpo err = nilfs_cpfile_get_checkpoint(nilfs->ns_cpfile, nilfs->ns_cno, 0, &raw_cp, &bh_cp); if (unlikely(err)) { - WARN_ON(err == -EINVAL || err == -ENOENT); + if (err == -EINVAL || err == -ENOENT) { + nilfs_error(sci->sc_super, + "checkpoint finalization failed due to metadata corruption."); + err = -EIO; + } goto failed_ibh; } raw_cp->cp_snapshot_list.ssl_next = 0; From patchwork Thu Oct 13 17:52:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2225 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp411915wrs; Thu, 13 Oct 2022 11:09:32 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6bTgicDCya18QH/ccVd0e6ZYBSCL227Mojg+rpK9+cGpZGSqFXuX9m7xGZ+jqe7Kj+VGH1 X-Received: by 2002:a62:2985:0:b0:544:77d4:f43b with SMTP id p127-20020a622985000000b0054477d4f43bmr768128pfp.9.1665684571817; Thu, 13 Oct 2022 11:09:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665684571; cv=none; d=google.com; s=arc-20160816; b=AcsDjzCdljE5BoLWNmPNgDKKw1xuZDn0RruXFv00hPYcRWRi+ki0jHnMTtJWKk1Dd3 lNn/ut6Y5ybnEim3EEf0MXwkAGap7MHPVaAeHbPGD8faeXXbJ+YsJ0CJhRNy9zVHa2al XW02oKcnQooet/+Avgu9pmJ0U0cJdSRGRQNI9FFwlmCU0ZGKSff3Vr8xgCLGQ+jXsO8s 5+96EcDpuzccLhQsuTbmZLBULfuBOHuBM+UpRrPiRnWzBH/WT2nAFKWhw5XiAsB0FMpv VGODHd2w1FzbVRp0k5l01MxR89a4MGNR+w+dV/5dNZTNDQJ+6BpHMnhKBy5nmzNl5ibA LHJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=p81XiWD4xDZoZtZuA3weBXgvzM2QdNXufcxU+lW5xhg=; b=kwD+QNM41Apozb2QwsdIyhzDJXx5+SmLGJhjvjJlWHZzuPBpueKwIsCKUBqRWJK50z PdX0U46ZGebmYZhcdlP5RYVope+LrjulAp3MQzSKHnEniFANRtPBnHg6yIvQPKXNjJ3k iG570a/m16YxP+bGg6nYRUxjNR7RaIwBVaqm09p48B0wi75g4yG5FKDRe9O9q5zMXpur CLZ2VNKms7+e7VW1q6PfC05b24c16VXJMQ3I/GNlpZX7tnKDaYyH4PGDsOhR+uFqcucp NZVoQb1BSVmC+ZoCmXj8uWixG2X266i4V7uw+MIr3wRNFlFvVHXOPQDImSg6vXs+51ch O8fg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=UEKGKLjr; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id o2-20020a655bc2000000b004468fac0319si100305pgr.212.2022.10.13.11.09.18; Thu, 13 Oct 2022 11:09:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=UEKGKLjr; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230270AbiJMSJH (ORCPT + 99 others); Thu, 13 Oct 2022 14:09:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46892 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231680AbiJMSIc (ORCPT ); Thu, 13 Oct 2022 14:08:32 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 689DF169129; Thu, 13 Oct 2022 11:06:06 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 5FAF561939; Thu, 13 Oct 2022 17:59:32 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 61ED7C433D6; Thu, 13 Oct 2022 17:59:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665683971; bh=Z8sVtd3LR/Wlz+vDZJp0UhS6gX76XtrAS7OWntiXtaM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UEKGKLjrFSbH+2RpIQqW7gyxYfk+s/is5cxtaAWhAQuvK8lC65rW/hXH87OwEZ8Rt 40sRTCkypWuyElgr1+3IHQUTlTCS+BL7ncrlPs7mD6Vv16TmaycCOWKf+uJrGwHYi9 NMWPTj7oZT7ZkAG2LpuHsBlnn+vOcybLYr3JiaUc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Hu Weiwen , Xiubo Li , Ilya Dryomov Subject: [PATCH 5.19 05/33] ceph: dont truncate file in atomic_open Date: Thu, 13 Oct 2022 19:52:37 +0200 Message-Id: <20221013175145.405997424@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746596865906412941?= X-GMAIL-MSGID: =?utf-8?q?1746596865906412941?= From: Hu Weiwen commit 7cb9994754f8a36ae9e5ec4597c5c4c2d6c03832 upstream. Clear O_TRUNC from the flags sent in the MDS create request. `atomic_open' is called before permission check. We should not do any modification to the file here. The caller will do the truncation afterward. Fixes: 124e68e74099 ("ceph: file operations") Signed-off-by: Hu Weiwen Reviewed-by: Xiubo Li Signed-off-by: Ilya Dryomov [Xiubo: fixed a trivial conflict for 5.19 backport] Signed-off-by: Xiubo Li Signed-off-by: Greg Kroah-Hartman --- fs/ceph/file.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) --- a/fs/ceph/file.c +++ b/fs/ceph/file.c @@ -740,6 +740,12 @@ int ceph_atomic_open(struct inode *dir, if (dentry->d_name.len > NAME_MAX) return -ENAMETOOLONG; + /* + * Do not truncate the file, since atomic_open is called before the + * permission check. The caller will do the truncation afterward. + */ + flags &= ~O_TRUNC; + if (flags & O_CREAT) { if (ceph_quota_is_max_files_exceeded(dir)) return -EDQUOT; @@ -807,9 +813,7 @@ retry: } set_bit(CEPH_MDS_R_PARENT_LOCKED, &req->r_req_flags); - err = ceph_mdsc_do_request(mdsc, - (flags & (O_CREAT|O_TRUNC)) ? dir : NULL, - req); + err = ceph_mdsc_do_request(mdsc, (flags & O_CREAT) ? dir : NULL, req); if (err == -ENOENT) { dentry = ceph_handle_snapdir(req, dentry); if (IS_ERR(dentry)) { From patchwork Thu Oct 13 17:52:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2198 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp410025wrs; Thu, 13 Oct 2022 11:05:47 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5v+aCdL7ctxbNkPzQb/pUQkrhV6tVIrTmZMvpEcKYSUMHtL0xh/PaDbG7+f7H94ejg7gPj X-Received: by 2002:a17:90a:4ec6:b0:20a:96cd:2a46 with SMTP id v6-20020a17090a4ec600b0020a96cd2a46mr1100595pjl.171.1665684347176; Thu, 13 Oct 2022 11:05:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665684347; cv=none; d=google.com; s=arc-20160816; b=AArxNvgs8jM4ZQXvhuP28aZ8DKk8QBWIYC7cRYsL5BBauBKAh50uUcy8Y2lrVgJgDg wULEAk9ikKKbaDv8OS1O67bY98Tncw62EuLph/eYSMKVCl1xYSXJLW/zqi9eRncjT5hO JD/TdAASH1jcwgftOh49gOCRa5k1mhVK65ooHAzam4j+FQztss6g1b7Hih0fW4Wu4GOP Mp1c41mKF1KfbmaVK+wxuNDs6ElVS+ePw3xNRGlifmyh2SGcJ+T4/BJudZ9zBmP6PAYl 0BODzcSrdtzm9zMDtzq1o9+45s+nDkdWfGqK6n+dDakAdze3mGaiF0DOHw8pyaszwmGS LUhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=qP9I28kY7pFeC7FaX/cjJeU9w8lvBNegVsYwPFyKiMU=; b=YjP9MY/9ZPqja6Bg86cPhak9xUhYcsTYGlR3x83tblYJgaJJcQUYrav2ixFKMRyS/M Cx+wCpWw4HtxRASCDdgPVcuV/fY4yuAAOTA1PreycCP/VbnTgE+DsqYXh9N5aj1q9lXZ giVGG7HX8VDyB6hmA0SPymK2JQLWRKp05aPng7p4wD9ypLOhaEstEOB1tH0y+34OuzGH agJqYtWsv+dCsPoOt5sUcJhztiqJ15GTL5VjFjcgf0QOl17WlCVc7p3xb1clMUvYHXQx ajWaQ3DKcBcGcMffOZjHzTiTTdRfgWYmUpv7sQzN4Tw67LrpsRP0nD3r53Htx2/fdSTS sh4A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=q4tvDJZH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id bj20-20020a17090b089400b0020d4b43d8b5si5647983pjb.103.2022.10.13.11.05.34; Thu, 13 Oct 2022 11:05:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=q4tvDJZH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230475AbiJMSFN (ORCPT + 99 others); Thu, 13 Oct 2022 14:05:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34782 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230521AbiJMSDX (ORCPT ); Thu, 13 Oct 2022 14:03:23 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C2DD9152C6D; Thu, 13 Oct 2022 11:03:09 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id E174F61940; Thu, 13 Oct 2022 17:59:35 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E6558C433C1; Thu, 13 Oct 2022 17:59:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665683975; bh=TtqNUNWlPTyKk3R9AHqRdsMadV8TWTbVuO0bnrdbaEg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=q4tvDJZHpVjjg0NSCnpXUHN34wK9qSCAbHyBL21yO3eoe94H0iNd8i+J5Hg/JD4Aa f4hCOrhDQy9y5qWbRBA0pkOM8Wh6TvtqriKgKn2KnP7uwkEawPx2y7I0npzXRaBo0n iAeZXU+XoATwdPZKKD6odGwjKLU5oqsGDn9SJWDM= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Rishabh Bhatnagar , Christoph Hellwig Subject: [PATCH 5.19 06/33] nvme-pci: set min_align_mask before calculating max_hw_sectors Date: Thu, 13 Oct 2022 19:52:38 +0200 Message-Id: <20221013175145.442325068@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746596630110307311?= X-GMAIL-MSGID: =?utf-8?q?1746596630110307311?= From: Rishabh Bhatnagar commit 61ce339f19fabbc3e51237148a7ef6f2270e44fa upstream. If swiotlb is force enabled dma_max_mapping_size ends up calling swiotlb_max_mapping_size which takes into account the min align mask for the device. Set the min align mask for nvme driver before calling dma_max_mapping_size while calculating max hw sectors. Signed-off-by: Rishabh Bhatnagar Signed-off-by: Christoph Hellwig Signed-off-by: Greg Kroah-Hartman --- drivers/nvme/host/pci.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c @@ -2825,6 +2825,8 @@ static void nvme_reset_work(struct work_ goto out; } + dma_set_min_align_mask(dev->dev, NVME_CTRL_PAGE_SIZE - 1); + /* * If we're called to reset a live controller first shut it down before * moving on. @@ -2858,7 +2860,6 @@ static void nvme_reset_work(struct work_ * Don't limit the IOMMU merged segment size. */ dma_set_max_seg_size(dev->dev, 0xffffffff); - dma_set_min_align_mask(dev->dev, NVME_CTRL_PAGE_SIZE - 1); mutex_unlock(&dev->shutdown_lock); From patchwork Thu Oct 13 17:52:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2287 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp425573wrs; Thu, 13 Oct 2022 11:44:30 -0700 (PDT) X-Google-Smtp-Source: AMsMyM57n5nCthq/BUk+wCzxiGyXsaB/Mk7SKL3otdQVqp/R0yPjFnVRHTI7RARoZzTylDBfTl+3 X-Received: by 2002:a17:907:3f1c:b0:78d:cedc:7a9e with SMTP id hq28-20020a1709073f1c00b0078dcedc7a9emr819590ejc.600.1665686669949; Thu, 13 Oct 2022 11:44:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665686669; cv=none; d=google.com; s=arc-20160816; b=TAIb1/gcxBYm2oeuSnwSelhtTbtKO2E8YAAfYXpY+o9gIfMmppbujzw3XV1zi/KQ6Q REQgDRJjh3y2qivuUwjPamQZ75MfAresVagub/ECaC5S7aZYQj1g2WnbxLOemM4+aTik R7PNxWPh6w40SsBGumGVK3AGhNRGGnMB6dplHX8TlNgw/x/TsEE/dToYjjM0nZjh3Lwk mmxc1pq4MrjYlzJwsAzavyX8ZEpVMTqOCFlsgtug78sy0eO+BcxDgv/qx9aexjNorSMn Xw9C2EmQ2Cw2IOp/eurPTR70HV5AvSz6s+g+i0g4OG1oFe7jbYIjVyfDFbKxJU/zA2Lp 5bLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=38Oz0Q6zYSHYZT0Wi41XOfOEmD+E2Sf3Tz82skz/j5U=; b=v38yiP51qFigdVlr9oKloF7l0ERXpIHuJDP75A6ZUeiM5Iu17kRdQ/mubrpKo9Uj9Y mVNAqY/ecEEOW2+789CxHC6Pc5ONymL0WI5eOEH5fTRgD0Fxuve8UuYyybWQhzFSfokf O8GnySB1QgGJqQrgu1/An8W4zcbdFG+bT41alPM/8+JCIviuI3wcDJmvXUTt77Tjhhmk IKQTmSnDC+A/iEWfkUcSY2k9Wa+nFbApLoHKv7aKRirnTbiRp6sj4NL7ouBl9DVMPiDs FgxUU6p7HeM3CZP/dx7VHdUryJ+BUjx608oneuIy3UEkjB5Z3ACzCKSH5ReuwYRIDqHf lB4g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=h7VbJwb9; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id hg5-20020a1709072cc500b00780636a4a58si328518ejc.626.2022.10.13.11.44.04; Thu, 13 Oct 2022 11:44:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=h7VbJwb9; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232027AbiJMS3W (ORCPT + 99 others); Thu, 13 Oct 2022 14:29:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37676 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231712AbiJMS27 (ORCPT ); Thu, 13 Oct 2022 14:28:59 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 49599189828; Thu, 13 Oct 2022 11:24:17 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 60C9AB82054; Thu, 13 Oct 2022 17:59:39 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id BAB0DC433D6; Thu, 13 Oct 2022 17:59:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665683978; bh=dJedo5s/cX6DAlf+BtxI9nuAynqWpllp7eHF1Gc1I+g=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=h7VbJwb9kn+RXONNJU0+jIjS+Cell5Xh7qOoBVgU8SP8z3uaOfkiRsV+vIZbidvkz KLtvVV++iGEFjpB38f72eUI8BirCR/+qlCcOJ4lEZblOw4RKADINHBAOdxTF+ho2xI /7XntzHy628wH9/bi4Rd559S4Rwh7EzwWXo/PW8E= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Guozihua , Zhongguohua , Al Viro , Theodore Tso , Andrew Lutomirski , "Jason A. Donenfeld" Subject: [PATCH 5.19 07/33] random: restore O_NONBLOCK support Date: Thu, 13 Oct 2022 19:52:39 +0200 Message-Id: <20221013175145.478477562@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746599065866637035?= X-GMAIL-MSGID: =?utf-8?q?1746599065866637035?= From: Jason A. Donenfeld commit cd4f24ae9404fd31fc461066e57889be3b68641b upstream. Prior to 5.6, when /dev/random was opened with O_NONBLOCK, it would return -EAGAIN if there was no entropy. When the pools were unified in 5.6, this was lost. The post 5.6 behavior of blocking until the pool is initialized, and ignoring O_NONBLOCK in the process, went unnoticed, with no reports about the regression received for two and a half years. However, eventually this indeed did break somebody's userspace. So we restore the old behavior, by returning -EAGAIN if the pool is not initialized. Unlike the old /dev/random, this can only occur during early boot, after which it never blocks again. In order to make this O_NONBLOCK behavior consistent with other expectations, also respect users reading with preadv2(RWF_NOWAIT) and similar. Fixes: 30c08efec888 ("random: make /dev/random be almost like /dev/urandom") Reported-by: Guozihua Reported-by: Zhongguohua Cc: Al Viro Cc: Theodore Ts'o Cc: Andrew Lutomirski Cc: stable@vger.kernel.org Signed-off-by: Jason A. Donenfeld Signed-off-by: Greg Kroah-Hartman --- drivers/char/mem.c | 4 ++-- drivers/char/random.c | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) --- a/drivers/char/mem.c +++ b/drivers/char/mem.c @@ -706,8 +706,8 @@ static const struct memdev { #endif [5] = { "zero", 0666, &zero_fops, FMODE_NOWAIT }, [7] = { "full", 0666, &full_fops, 0 }, - [8] = { "random", 0666, &random_fops, 0 }, - [9] = { "urandom", 0666, &urandom_fops, 0 }, + [8] = { "random", 0666, &random_fops, FMODE_NOWAIT }, + [9] = { "urandom", 0666, &urandom_fops, FMODE_NOWAIT }, #ifdef CONFIG_PRINTK [11] = { "kmsg", 0644, &kmsg_fops, 0 }, #endif --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -1330,6 +1330,11 @@ static ssize_t random_read_iter(struct k { int ret; + if (!crng_ready() && + ((kiocb->ki_flags & (IOCB_NOWAIT | IOCB_NOIO)) || + (kiocb->ki_filp->f_flags & O_NONBLOCK))) + return -EAGAIN; + ret = wait_for_random_bytes(); if (ret != 0) return ret; From patchwork Thu Oct 13 17:52:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2205 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp410515wrs; Thu, 13 Oct 2022 11:06:44 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7QzXlZ296wv/17P94g9GHTLZRIzQFwIHCOCmncHk+i+ZczH6yEK3LGplEQk0TDeRmEi0Ow X-Received: by 2002:a63:5d18:0:b0:462:f77b:cd29 with SMTP id r24-20020a635d18000000b00462f77bcd29mr970667pgb.9.1665684404308; Thu, 13 Oct 2022 11:06:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665684404; cv=none; d=google.com; s=arc-20160816; b=tZ0fFZSFkFiVQARhRoE9+TuEDHJdzu3Vm9N/UgnAx4VOLwKqDszvSQ6+x94SZ3R1V3 c66Rg/C4m+ox1irfI42pAs8mS2Fn0cyMWJ4BoOuvlxPZBW0oRPbS+DAdoVi/ffcndKwh f9X4Eui9LdnHwfZDR2MJiWFJAOWqwKiZ87MZxLKsi1BN9QpF/lTefO3ezheQoLsFjqWu PZZnW5qh6YCcaJR8YL24r0xdeFhvp/CBeoDEsNzI7iVEY6EuYm/GcT4bVx/UZYwIjCNJ /7PcnA5xROt5Ohgiu/tC9UemY8UnG4Od+dmvm4EtPwkf6j42eZScdkgh6kHhUVGYhL68 ttkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=NaSejAEvZrQDRsHLs46JGp6R5NtVteXjjJHju3zcavM=; b=ThJvm/fAKxGUH1SPl45HlxlmLOAK73eIpqHdxIY/gcXwp+AE4RQqNGLUlbMFrd5JlZ 5S6ZQA6aXEasDBDf/czJbf21D63FCA0xC7ZAYbMU0KZq7qCd5VMe/81oP/Q84YolKx6Y 9mfx3DgYkRHxqlEO3XQ9ekHET90AsLBgPa+GNo0gThrcs1deNUHWo3RFhj0czzIGU8J/ v/a2tR1QJt98iXjabSy0qbWGILWIVVTeWxBibZpG8sFIffWLO8jyRlOkzhMogsduifLq NF3wkgxgH2Jq849Trzn/qZP0gUZknQtMsfFEmw7ZLaOZbIw+vPP4dQ2n+IMomWnTfr3u 8vYw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=ysZU41TO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id o19-20020a17090ac09300b0020d4d8cf1a6si320058pjs.75.2022.10.13.11.06.31; Thu, 13 Oct 2022 11:06:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=ysZU41TO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230466AbiJMSGR (ORCPT + 99 others); Thu, 13 Oct 2022 14:06:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36100 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231281AbiJMSD7 (ORCPT ); Thu, 13 Oct 2022 14:03:59 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8EB71157F68; Thu, 13 Oct 2022 11:03:44 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 07413B8204A; Thu, 13 Oct 2022 17:59:43 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8EE40C433C1; Thu, 13 Oct 2022 17:59:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665683981; bh=AHNUl8UA0Xu7B/6vMkbigBdeVNdDURdugPOvYBgn3Dw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ysZU41TOVqXAAC+vIeYahfOuaDlW9uBZt6IPDSAOz0JECZTNo8xr5GnbihNz+YQhM jEf2HgjPK0JY5iqf3REVF/L9Myc5fzkbp5kg62H4Z/n9nk3FEiDDSiMmOZ3bimxsEU DZu+WtbIuLZrMlY1FICMozUpUTO1m+36DF//15cg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, "Jason A. Donenfeld" Subject: [PATCH 5.19 08/33] random: clamp credited irq bits to maximum mixed Date: Thu, 13 Oct 2022 19:52:40 +0200 Message-Id: <20221013175145.515746744@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746596690213160246?= X-GMAIL-MSGID: =?utf-8?q?1746596690213160246?= From: Jason A. Donenfeld commit e78a802a7b4febf53f2a92842f494b01062d85a8 upstream. Since the most that's mixed into the pool is sizeof(long)*2, don't credit more than that many bytes of entropy. Fixes: e3e33fc2ea7f ("random: do not use input pool from hard IRQs") Cc: stable@vger.kernel.org Signed-off-by: Jason A. Donenfeld Signed-off-by: Greg Kroah-Hartman --- drivers/char/random.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -989,7 +989,7 @@ static void mix_interrupt_randomness(str local_irq_enable(); mix_pool_bytes(pool, sizeof(pool)); - credit_init_bits(max(1u, (count & U16_MAX) / 64)); + credit_init_bits(clamp_t(unsigned int, (count & U16_MAX) / 64, 1, sizeof(pool) * 8)); memzero_explicit(pool, sizeof(pool)); } From patchwork Thu Oct 13 17:52:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2303 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp428645wrs; Thu, 13 Oct 2022 11:52:32 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5iQVn8D6ROhGMMIy//Cnk5SlFZhzTox3Aq4aeud+4xvxoPsDP+yXpg5TRyQqy+K2RCJ76B X-Received: by 2002:a17:902:b942:b0:178:be25:203f with SMTP id h2-20020a170902b94200b00178be25203fmr1379720pls.101.1665687152631; Thu, 13 Oct 2022 11:52:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665687152; cv=none; d=google.com; s=arc-20160816; b=b4Vd/qPuOZm17TvJRH9WVViBqnNclXc0ZMUWEWZvZiBm9ZrSucO2guRy5+eFRQloLk nBG1Y+EQFIKxYX00pSUIwMEtNddb824/OiDLlu+GSP9ATr1qgE4twOH8Prb7plW3nneG 2zyBTVn1IDNoBDeGeH3aRGB4b65BpnPt+AkorcAZEgya0BORDgXYe2namzg7f9Jzia4s CD9Pm+vY+wTlAocqtnpR9FSfliO+7FEC3I4jADGLmALHuD1oiBIxopbBIP8/Xd9mhsSg oudxv8WRWCViqB39U5vBIb9oF/xEXWA2SItSdEPcQNgDoyA8sIyjvEiUI7hHrUz7814A 6F/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=KiZccsTHkuUele1UNuG6Ntr4PJ8NIyKDPrGMtz7je7o=; b=bZwA/cGxORlDAFRLm3Bp1bXdy/Z5WAYBjMZTZ15CY6OkSijnVTiseLT81NJMqWabaF D0On3RQJxDVa0ZsCu6kqiAWYpl9bLyhIMJRVVrHsBC9EOy5+QIhn4f5GZUCjwtzvQnw0 gGb1stGzT0PaUvlQL5pKOZ4gI3nYzqp5T8mLQIrVmSo8DbjaFyVIxCWbvMjRKyvK4BG6 d0s/tRvq0gyKMH9IctOOTynPkTX1LArt9pwaUNCa9JIr1N63W2MPCDIthjQkD7kJCAEr E/CPv1OGPm9LDje4tHF7QINzujwZJomF9x9tsenuKaaFTRg+2uZsjcBjc+2x8pxkVCWh Mj1g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=mF2VeCdM; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i18-20020a170902c95200b0017b977d1b7bsi617260pla.32.2022.10.13.11.52.20; Thu, 13 Oct 2022 11:52:32 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=mF2VeCdM; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230465AbiJMSke (ORCPT + 99 others); Thu, 13 Oct 2022 14:40:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40826 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230417AbiJMSkB (ORCPT ); Thu, 13 Oct 2022 14:40:01 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6C9E41AF2C; Thu, 13 Oct 2022 11:37:53 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id C97F6B82053; Thu, 13 Oct 2022 17:59:45 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2ED85C433D6; Thu, 13 Oct 2022 17:59:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665683984; bh=YzomB7J4BsTWMhyhV0465aLsGEaRBA/Q+cVNwoCa4xM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mF2VeCdM/PEHI1RkiYJxS0RgrKMuLTz3h4d64QptTuZOL11crC0Jjd6nfESXdEPhR eidS2o9y6D9ikhnlNaaZQyYs1eRpkFf0LTptiBwskl8SIdJ/eyCfKV4P1tc00AY4Ms MnOcmQr7cRcSgqjX/YmS0oS4d0IgxTCs3Ekhp2nQ= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Takashi Iwai , Hans de Goede Subject: [PATCH 5.19 09/33] ALSA: hda: Fix position reporting on Poulsbo Date: Thu, 13 Oct 2022 19:52:41 +0200 Message-Id: <20221013175145.560683354@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746599571434320596?= X-GMAIL-MSGID: =?utf-8?q?1746599571434320596?= From: Takashi Iwai commit 56e696c0f0c71b77fff921fc94b58a02f0445b2c upstream. Hans reported that his Sony VAIO VPX11S1E showed the broken sound behavior at the start of the stream for a couple of seconds, and it turned out that the position_fix=1 option fixes the issue. It implies that the position reporting is inaccurate, and very likely hitting on all Poulsbo devices. The patch applies the workaround for Poulsbo generically to switch to LPIB mode instead of the default position buffer. Reported-and-tested-by: Hans de Goede Cc: Link: https://lore.kernel.org/r/3e8697e1-87c6-7a7b-d2e8-b21f1d2f181b@redhat.com Link: https://lore.kernel.org/r/20221001142124.7241-1-tiwai@suse.de Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman --- sound/pci/hda/hda_intel.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -2554,7 +2554,8 @@ static const struct pci_device_id azx_id .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH_NOPM }, /* Poulsbo */ { PCI_DEVICE(0x8086, 0x811b), - .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH_BASE }, + .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH_BASE | + AZX_DCAPS_POSFIX_LPIB }, /* Oaktrail */ { PCI_DEVICE(0x8086, 0x080a), .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH_BASE }, From patchwork Thu Oct 13 17:52:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2220 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp411189wrs; Thu, 13 Oct 2022 11:08:10 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7itmeDGlhjsnscWAdjGjLvaLqvMo1DKoSD9vkFQsEV0UqlBrokc4HwWFsGwQSwUnujm7DD X-Received: by 2002:a17:90b:f02:b0:20a:9965:eeee with SMTP id br2-20020a17090b0f0200b0020a9965eeeemr1105059pjb.182.1665684490693; Thu, 13 Oct 2022 11:08:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665684490; cv=none; d=google.com; s=arc-20160816; b=NnKJb4JSQrfaDFCSJTxoPZ0l4xT69dYikhVny02geT0Lx2bcyoG2gu1Unbt6y4PeBk ebKWZcyBdtcAD3qKgjGXdNR9Urzp/RfAGesch9GJ7gjx/Lh7gkNxTa9JEUU5X2oCrQlt LEo2f56YrEYEAon4BJsiuaQVO1cHas81zTXpwENE4UdUumHwWhRL6hV/tUY1qyqQprIw msxewv4EYiI73sLhLcBqi9/pvNT8ko8lF/8zjvNThvR+n9v1CkzSEDOGUh1S3Wz1obbi TsIEUcdnDYhExoomeGBbC1+uCVIXkstkl0830p7O81/cBgVdHJMkfC+UfZ2NNM9h4pRq sG4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=V4w7lkqHCv71t87dvp7BSNgDVGtaZoubFa0U5IrZZks=; b=CgREKPFOEiq7WqdoSTmzpYaA8Z8B1xyxZ0hO7qIY/EE/8fteBZzTElVMUHbQ3/Fhwx 85ypwbKNUBvjJ10B52qMAzXVey8Vc54W4IDf2GNrlHwfhJq7/LEwLLot2oL08ciFwFPg pTZ37Wa+mY4oE5WrSdCKZEYZcaUElXEBBXwSL+sMoHYwwCsKBa/HXQB+eYppa6OM1E3w vyya29CJpaLc4YSgT3ZvgKnbPDJ74JjkEVIsoX8aS2Ou3QZV27O7mExBTtzdxn7LVFe7 DKa2lwBsISrIwrrzSh1CbKEFZLdD7IS2VXw8XsdSGexuGmhhhz27s1X4+ZI3etV7IdKK IGCg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=BphwbBxE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k12-20020a6568cc000000b0041b577f3356si13022pgt.720.2022.10.13.11.07.57; Thu, 13 Oct 2022 11:08:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=BphwbBxE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231449AbiJMSHl (ORCPT + 99 others); Thu, 13 Oct 2022 14:07:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46914 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231396AbiJMSF5 (ORCPT ); Thu, 13 Oct 2022 14:05:57 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A1CDC402E6; Thu, 13 Oct 2022 11:05:02 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 55C4D6193E; Thu, 13 Oct 2022 17:58:58 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4284DC433C1; Thu, 13 Oct 2022 17:58:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665683937; bh=R9j/96IoVeZngWhfbldLsT3XRXlyrXbZ8yhjwXM1yYI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BphwbBxECrQIZqlsFztmOTVnW/NposE5LAO6pzqWkbX0PZ7D1SeHr52Cs94iJFydw B5ubfSfwX2op2JMEHI4zk+d4cgl45tsgN3gkESseWP8O9/hFQnlkpWsU4s0SMV7lgx 5P+I22smy1bIHAJwCELw2s2RQVHN27XJMPvpuFNk= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Takashi Iwai Subject: [PATCH 5.19 10/33] ALSA: hda/realtek: Add quirk for HP Zbook Firefly 14 G9 model Date: Thu, 13 Oct 2022 19:52:42 +0200 Message-Id: <20221013175145.590055976@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746596780153315298?= X-GMAIL-MSGID: =?utf-8?q?1746596780153315298?= From: Takashi Iwai commit 225f6e1bc151978041595c7d2acaded3aac41f54 upstream. HP Zbook Firefly 14 G9 model (103c:8abb) requires yet another binding with CS35L41 codec, but with a slightly different configuration. It's over spi1 instead of spi0. Create a new fixup entry for that. Cc: Link: https://lore.kernel.org/r/20220929061455.13355-1-tiwai@suse.de Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman --- sound/pci/hda/patch_realtek.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -6717,6 +6717,11 @@ static void cs35l41_fixup_spi_two(struct cs35l41_generic_fixup(codec, action, "spi0", "CSC3551", 2); } +static void cs35l41_fixup_spi1_two(struct hda_codec *codec, const struct hda_fixup *fix, int action) +{ + cs35l41_generic_fixup(codec, action, "spi1", "CSC3551", 2); +} + static void cs35l41_fixup_spi_four(struct hda_codec *codec, const struct hda_fixup *fix, int action) { cs35l41_generic_fixup(codec, action, "spi0", "CSC3551", 4); @@ -7102,6 +7107,8 @@ enum { ALC287_FIXUP_CS35L41_I2C_2_HP_GPIO_LED, ALC245_FIXUP_CS35L41_SPI_2, ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED, + ALC245_FIXUP_CS35L41_SPI1_2, + ALC245_FIXUP_CS35L41_SPI1_2_HP_GPIO_LED, ALC245_FIXUP_CS35L41_SPI_4, ALC245_FIXUP_CS35L41_SPI_4_HP_GPIO_LED, ALC285_FIXUP_HP_SPEAKERS_MICMUTE_LED, @@ -8948,6 +8955,16 @@ static const struct hda_fixup alc269_fix .chained = true, .chain_id = ALC285_FIXUP_HP_GPIO_LED, }, + [ALC245_FIXUP_CS35L41_SPI1_2] = { + .type = HDA_FIXUP_FUNC, + .v.func = cs35l41_fixup_spi1_two, + }, + [ALC245_FIXUP_CS35L41_SPI1_2_HP_GPIO_LED] = { + .type = HDA_FIXUP_FUNC, + .v.func = cs35l41_fixup_spi1_two, + .chained = true, + .chain_id = ALC285_FIXUP_HP_GPIO_LED, + }, [ALC245_FIXUP_CS35L41_SPI_4] = { .type = HDA_FIXUP_FUNC, .v.func = cs35l41_fixup_spi_four, @@ -9306,6 +9323,7 @@ static const struct snd_pci_quirk alc269 SND_PCI_QUIRK(0x103c, 0x8aa3, "HP ProBook 450 G9 (MB 8AA1)", ALC236_FIXUP_HP_GPIO_LED), SND_PCI_QUIRK(0x103c, 0x8aa8, "HP EliteBook 640 G9 (MB 8AA6)", ALC236_FIXUP_HP_GPIO_LED), SND_PCI_QUIRK(0x103c, 0x8aab, "HP EliteBook 650 G9 (MB 8AA9)", ALC236_FIXUP_HP_GPIO_LED), + SND_PCI_QUIRK(0x103c, 0x8abb, "HP ZBook Firefly 14 G9", ALC245_FIXUP_CS35L41_SPI1_2_HP_GPIO_LED), SND_PCI_QUIRK(0x103c, 0x8ad1, "HP EliteBook 840 14 inch G9 Notebook PC", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED), SND_PCI_QUIRK(0x103c, 0x8ad2, "HP EliteBook 860 16 inch G9 Notebook PC", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED), SND_PCI_QUIRK(0x1043, 0x103e, "ASUS X540SA", ALC256_FIXUP_ASUS_MIC), From patchwork Thu Oct 13 17:52:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2215 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp410995wrs; Thu, 13 Oct 2022 11:07:47 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4nOMhxckX66uc67BSOzAm+eYkM/W+SuExBnS0fRLnCkvg1sMASraNF4vmELQFL9XBnqtla X-Received: by 2002:a65:45c1:0:b0:461:5855:8d86 with SMTP id m1-20020a6545c1000000b0046158558d86mr976161pgr.436.1665684466807; Thu, 13 Oct 2022 11:07:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665684466; cv=none; d=google.com; s=arc-20160816; b=OPbSwnwXVfLDEU2ZSgMPNlhti1HrurHn1Trs9wtIWlLqP2vA00kZF2TXALHiRkTfga HbJmwg+i5Vy+EzTAQG9b452DFK4u/IEns98hCu/2nfnzZVn1YWY89nG1uL/hlOYgjPlp uH7JcpOKrfdntHAEQhQIA2LwLVvCke5Fb+rVQ/tRVbjUYtPFGbLk+yBNbke0dv+VDEoS lq0+GvidVn+8ErYdXpfVnXFKUE/GAxtii4AIz9jBT1aBTQknPm6PURe50V2/PrUoVr1e 27uUs4ZqBlgLIede9tNMK2JpiuM7v5m3lB89QzUUpIrtxwvjHvG0yJA/ZFfHLifHwrlV Ed7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=z/hiobo4Tfv9x8gfSNE0FJT2rhT1ElDpRkjn0AubFJw=; b=nfa71zABIfdb4oydC+0Ub570np6YeAt28GrcNMnTQGTl0viruA8F/uzzpsANyRujT7 oW5KudSEwWkEnfXUkJUM0/59LRIp9PGNhrdNqmuDazalZZrvp4JuJva7SlUKY4Gu8mxw 3smOPPwlbIWWs/2iz4nxfcN5iSjK+RB5ia4ntpLtxK30trUU9TyxyXWuCu0GAUKxJxAP OEgGFb46p15/WIkeBocAaPqOovKflplNblhIqtXKoEeZx+y6glSfP0a5x8hL6WAr854w 0//dCEdunYlzC9hR1sKYUtD+XcBz6286bY8/NIca90WeO4Mb93mWXMBFOdEp/TxEAeiz ADcQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=Pqqjf8If; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d5-20020a170902b70500b0017f7e1387easi437486pls.217.2022.10.13.11.07.33; Thu, 13 Oct 2022 11:07:46 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=Pqqjf8If; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231564AbiJMSHT (ORCPT + 99 others); Thu, 13 Oct 2022 14:07:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38462 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231207AbiJMSFJ (ORCPT ); Thu, 13 Oct 2022 14:05:09 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C64B4157F45; Thu, 13 Oct 2022 11:04:33 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id BA9AA61941; Thu, 13 Oct 2022 17:59:01 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B1787C433C1; Thu, 13 Oct 2022 17:59:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665683941; bh=R56tc7ab5Ae7BCl75vsYTgnxuRRQc6ZCGNdTc3leahg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Pqqjf8IfVdSiADsbvp0iwQ4PPMN6AXHEj/xv5dQalbAfsiB5fODVocU6PDuzmfrE3 TsMpLNvETAu4ghBHBXWbgesOj0XbSaYSCOUvI/nlp8HEz9qUh+n9gORewijKrO6zsL 5zAxyyqCQQ4FYQ7svXIHraWs7ien7IhzLpK6SkpM= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Aditya Garg , Samuel Jiang , Orlando Chamberlain , Mimi Zohar Subject: [PATCH 5.19 11/33] efi: Correct Macmini DMI match in uefi cert quirk Date: Thu, 13 Oct 2022 19:52:43 +0200 Message-Id: <20221013175145.629145950@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746596755780045143?= X-GMAIL-MSGID: =?utf-8?q?1746596755780045143?= From: Orlando Chamberlain commit bab715bdaa9ebf28d99a6d1efb2704a30125e96d upstream. It turns out Apple doesn't capitalise the "mini" in "Macmini" in DMI, which is inconsistent with other model line names. Correct the capitalisation of Macmini in the quirk for skipping loading platform certs on T2 Macs. Currently users get: ------------[ cut here ]------------ [Firmware Bug]: Page fault caused by firmware at PA: 0xffffa30640054000 WARNING: CPU: 1 PID: 8 at arch/x86/platform/efi/quirks.c:735 efi_crash_gracefully_on_page_fault+0x55/0xe0 Modules linked in: CPU: 1 PID: 8 Comm: kworker/u12:0 Not tainted 5.18.14-arch1-2-t2 #1 4535eb3fc40fd08edab32a509fbf4c9bc52d111e Hardware name: Apple Inc. Macmini8,1/Mac-7BA5B2DFE22DDD8C, BIOS 1731.120.10.0.0 (iBridge: 19.16.15071.0.0,0) 04/24/2022 Workqueue: efi_rts_wq efi_call_rts ... ---[ end trace 0000000000000000 ]--- efi: Froze efi_rts_wq and disabled EFI Runtime Services integrity: Couldn't get size: 0x8000000000000015 integrity: MODSIGN: Couldn't get UEFI db list efi: EFI Runtime Services are disabled! integrity: Couldn't get size: 0x8000000000000015 integrity: Couldn't get UEFI dbx list Fixes: 155ca952c7ca ("efi: Do not import certificates from UEFI Secure Boot for T2 Macs") Cc: stable@vger.kernel.org Cc: Aditya Garg Tested-by: Samuel Jiang Signed-off-by: Orlando Chamberlain Signed-off-by: Mimi Zohar Signed-off-by: Greg Kroah-Hartman --- security/integrity/platform_certs/load_uefi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/security/integrity/platform_certs/load_uefi.c +++ b/security/integrity/platform_certs/load_uefi.c @@ -31,7 +31,7 @@ static const struct dmi_system_id uefi_s { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "MacBookAir8,1") }, { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "MacBookAir8,2") }, { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "MacBookAir9,1") }, - { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "MacMini8,1") }, + { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "Macmini8,1") }, { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "MacPro7,1") }, { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "iMac20,1") }, { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "iMac20,2") }, From patchwork Thu Oct 13 17:52:44 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2250 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp413625wrs; Thu, 13 Oct 2022 11:13:36 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7WKd+oUYYo8sVGhs96kECLIxjEw0NVbJF1U9I5K5yJ91yytcT9DIUbeg40ZzeY+yyjRQg9 X-Received: by 2002:a17:902:d717:b0:17f:6155:e578 with SMTP id w23-20020a170902d71700b0017f6155e578mr894688ply.31.1665684815844; Thu, 13 Oct 2022 11:13:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665684815; cv=none; d=google.com; s=arc-20160816; b=B5Dsm3urVwTBLyEW9Ey8XXFZVk1sQSeEq4wzqmF2/gVfRm+dmzd8a4ENCxfAxxUGHZ bRIb1DHR/XlqOtB4UY5IQhOyRqXe3ImDL8ctcFxOV2vkh8j1JeTFsQCG4wvweSp/AP9K Oc8lTNgdZdsz7s/u9H9RVk8XudIS5eiD4DoTbADNl5/EiDxnalN6Z1wzmNfV6+VnDfPW 4bfX/FwVmPiNyA7c9CTMxZD59H2IqWWTqjzBiCUDGGNxXtWusQ3kZYX2/IC2vZrtWk3a WJCn2zdFUEDkJR4h0fHPNmhbb/xIFN5Z2qM5aqbhScMk3F9ecLYdEEYnm5M+ilvLGkAA lFpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=2ap7yEYFJsrTDHxyBv9P9V1MpiYyLB8JdXjSedlR6vs=; b=EhL0zh5G9tjqN1c2GbTD6IEx2uyXAZNJS6ef/iNSWA4Ompqqfz6JtmMoPE3kGEdTJl 0AmTmVH2Oe46gqkmoPeqM72QuWN59JfiVFa66dH9XOJY7xTBrUeX1oukjisGWvH8sMWQ HdPcMXrFRshHm3MjfWcGl0TOSS+9UCRx1UbrmzJUOhFMV/jNVJX7kkdUIQxnisZG9pGS YUKtxjIXL4sm6ghPugS6NPfwWUW2C8sOqxSBr7Uv7a3NeeYdfNmZ1e01svV2Iqr6N5GF Y5LOSlYg2rZVmqWhjej60Ts3qS+/65tbN85InMKFnXz8Wgu6UJUzZdcqlYKMzimlkbB5 tAtw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=PdZz7uRw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i3-20020a170902cf0300b001769fce8c2fsi377441plg.485.2022.10.13.11.13.23; Thu, 13 Oct 2022 11:13:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=PdZz7uRw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231534AbiJMSNH (ORCPT + 99 others); Thu, 13 Oct 2022 14:13:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38204 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231751AbiJMSM1 (ORCPT ); Thu, 13 Oct 2022 14:12:27 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 384FE1757A1; Thu, 13 Oct 2022 11:09:04 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 4D2F96192A; Thu, 13 Oct 2022 17:59:05 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 317D7C433D7; Thu, 13 Oct 2022 17:59:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665683944; bh=u3wOX1M1rrknB6ZGLhBuFpeKJ4/JbNruxTQnEpNP1yA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=PdZz7uRw5uik7ZlLHGARjXQU7Zwrzx8NxUnH4rGCu8qaiqPNZn8Z6Ga9aCqVHhNP4 BLSznxnfCXPIyRW00N+aDeGV9aPaunp8xuB5HbFS+jy4u8RMBkzCr7wAPS0d9IIIU3 B84BgjEssHXys9J5qM+CQdPeMMGDqkGpp0XvrgJs= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, stable@kernel.org, "James E.J. Bottomley" , "Martin K. Petersen" , Dan Carpenter , hdthky , Linus Torvalds Subject: [PATCH 5.19 12/33] scsi: stex: Properly zero out the passthrough command structure Date: Thu, 13 Oct 2022 19:52:44 +0200 Message-Id: <20221013175145.670977674@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746597120971415107?= X-GMAIL-MSGID: =?utf-8?q?1746597120971415107?= From: Linus Torvalds commit 6022f210461fef67e6e676fd8544ca02d1bcfa7a upstream. The passthrough structure is declared off of the stack, so it needs to be set to zero before copied back to userspace to prevent any unintentional data leakage. Switch things to be statically allocated which will fill the unused fields with 0 automatically. Link: https://lore.kernel.org/r/YxrjN3OOw2HHl9tx@kroah.com Cc: stable@kernel.org Cc: "James E.J. Bottomley" Cc: "Martin K. Petersen" Cc: Dan Carpenter Reported-by: hdthky Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman Signed-off-by: Martin K. Petersen Signed-off-by: Greg Kroah-Hartman --- drivers/scsi/stex.c | 17 +++++++++-------- include/scsi/scsi_cmnd.h | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) --- a/drivers/scsi/stex.c +++ b/drivers/scsi/stex.c @@ -665,16 +665,17 @@ static int stex_queuecommand_lck(struct return 0; case PASSTHRU_CMD: if (cmd->cmnd[1] == PASSTHRU_GET_DRVVER) { - struct st_drvver ver; + const struct st_drvver ver = { + .major = ST_VER_MAJOR, + .minor = ST_VER_MINOR, + .oem = ST_OEM, + .build = ST_BUILD_VER, + .signature[0] = PASSTHRU_SIGNATURE, + .console_id = host->max_id - 1, + .host_no = hba->host->host_no, + }; size_t cp_len = sizeof(ver); - ver.major = ST_VER_MAJOR; - ver.minor = ST_VER_MINOR; - ver.oem = ST_OEM; - ver.build = ST_BUILD_VER; - ver.signature[0] = PASSTHRU_SIGNATURE; - ver.console_id = host->max_id - 1; - ver.host_no = hba->host->host_no; cp_len = scsi_sg_copy_from_buffer(cmd, &ver, cp_len); if (sizeof(ver) == cp_len) cmd->result = DID_OK << 16; --- a/include/scsi/scsi_cmnd.h +++ b/include/scsi/scsi_cmnd.h @@ -201,7 +201,7 @@ static inline unsigned int scsi_get_resi for_each_sg(scsi_sglist(cmd), sg, nseg, __i) static inline int scsi_sg_copy_from_buffer(struct scsi_cmnd *cmd, - void *buf, int buflen) + const void *buf, int buflen) { return sg_copy_from_buffer(scsi_sglist(cmd), scsi_sg_count(cmd), buf, buflen); From patchwork Thu Oct 13 17:52:45 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2195 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp409787wrs; Thu, 13 Oct 2022 11:05:20 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7SpMP9MxIQOMZ12pmMlLrUuobKVbWybkvz2CnPON4ORjDmD557AXO0lWGdugvmegYrAD96 X-Received: by 2002:a17:903:11cd:b0:170:cde8:18b7 with SMTP id q13-20020a17090311cd00b00170cde818b7mr908389plh.165.1665684320422; Thu, 13 Oct 2022 11:05:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665684320; cv=none; d=google.com; s=arc-20160816; b=z31kTkv3s58lPTfolcM8NDbVzxar32Ny4lzRNOO3vug2MHxNe2LMLft01IWfKhE47+ Q7X79LIfuUMWQbEXHGhfdyizl27b86LCo60St4FdVcgGv0DFAjujv1uxS9mJ8m+NFyEB ILtzJNyMlxZdRUjcJM8GlmNJC2ebQLD4pl61UiuhBFFNCp7KNIYvog6S8ZbDAjn07Iwt 2xyMM9eYYJH6WtMePJlKPeL7A/j+9lKAQxGH9Wsf/CBtQylvoHwQ5UApjYOJ5j9/rAbU JAAY7eeziJ64Pgnorw399UoQ8uN7nE4ChNWTml39Tbr1DJE2+QckFwLWHUWvx9EQDrNh q+AA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=n94YcU9eJvk4YYatYbbgQVbMk25EJupsfQK6OtcSIF8=; b=N+ZaEEoD8Ht5lz+S03+CotCwuPw8cQyH91hMIsv6jca/SvZMkkB+N3MZ9DNO35tO+o GvogCjnjLAnyNdWW8llgAU9ZGZUh80wnnLIZ6Cs78eYQiDSxlVAB2BkOV+kMWE4WKhAn 0kse5Vxd4kEgzilu2rV02ZSZQyF8b0R1LDMRe28U5I8G5/9rPETZic2z++BIb6UpY0qU OPk/GHJmTnrp3Jx64aA4lUJZjPmu08nKt/2ZbDs+xlJI9GCm/hxWgbqoU/z2EKFemCG1 j3A4TOkj+DsuzWAhYvElFwffXhyOSZ9e2ryN5deUL2qJE7cI81jAzCcJHYDgfKEZU8t2 aK7Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=kHQZZ3ud; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id p23-20020a056a000a1700b005619e32209fsi111544pfh.8.2022.10.13.11.05.07; Thu, 13 Oct 2022 11:05:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=kHQZZ3ud; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230526AbiJMSEv (ORCPT + 99 others); Thu, 13 Oct 2022 14:04:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33672 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230456AbiJMSDW (ORCPT ); Thu, 13 Oct 2022 14:03:22 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 233DD152C5A; Thu, 13 Oct 2022 11:02:44 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 13A71B8204D; Thu, 13 Oct 2022 17:59:09 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 364FBC43140; Thu, 13 Oct 2022 17:59:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665683947; bh=xm4dJk+a4xXbTCFuEdRLmVRDxS983Q+yBTlQeFFvqXU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kHQZZ3ud0OVJa/DzL9/AlRrdzff+jwVcDc2PlVU5AewSCtIM5UeBebAssT/K1bOtx c/tNFcUzRuM+68n25/+KIDY1saBkZPCYL1IrCt8bU9eWq1Of6tMFHUEQSt/B3w6TnT JXLTn+aZ5CHoYY3u1EDbnHf4K55FSpRKDPMsQUYI= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Frank Wunderlich , Johan Hovold Subject: [PATCH 5.19 13/33] USB: serial: qcserial: add new usb-id for Dell branded EM7455 Date: Thu, 13 Oct 2022 19:52:45 +0200 Message-Id: <20221013175145.707906746@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746596601987225974?= X-GMAIL-MSGID: =?utf-8?q?1746596601987225974?= From: Frank Wunderlich commit eee48781ea199e32c1d0c4732641c494833788ca upstream. Add support for Dell 5811e (EM7455) with USB-id 0x413c:0x81c2. Signed-off-by: Frank Wunderlich Cc: stable@vger.kernel.org Signed-off-by: Johan Hovold Signed-off-by: Greg Kroah-Hartman --- drivers/usb/serial/qcserial.c | 1 + 1 file changed, 1 insertion(+) --- a/drivers/usb/serial/qcserial.c +++ b/drivers/usb/serial/qcserial.c @@ -177,6 +177,7 @@ static const struct usb_device_id id_tab {DEVICE_SWI(0x413c, 0x81b3)}, /* Dell Wireless 5809e Gobi(TM) 4G LTE Mobile Broadband Card (rev3) */ {DEVICE_SWI(0x413c, 0x81b5)}, /* Dell Wireless 5811e QDL */ {DEVICE_SWI(0x413c, 0x81b6)}, /* Dell Wireless 5811e QDL */ + {DEVICE_SWI(0x413c, 0x81c2)}, /* Dell Wireless 5811e */ {DEVICE_SWI(0x413c, 0x81cb)}, /* Dell Wireless 5816e QDL */ {DEVICE_SWI(0x413c, 0x81cc)}, /* Dell Wireless 5816e */ {DEVICE_SWI(0x413c, 0x81cf)}, /* Dell Wireless 5819 */ From patchwork Thu Oct 13 17:52:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2192 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp409564wrs; Thu, 13 Oct 2022 11:05:00 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6G0PztwCCuxS9OjMvbp3cWcXowp5MDLYQsVS41y+HRvER/MozPi+F69n17ePk9oM2o8+qp X-Received: by 2002:a17:902:f693:b0:17f:6974:cf7f with SMTP id l19-20020a170902f69300b0017f6974cf7fmr876682plg.60.1665684300013; Thu, 13 Oct 2022 11:05:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665684300; cv=none; d=google.com; s=arc-20160816; b=uVf5ugMjRN1tEjjnicJhLgrq9xoj/eivQl5DtEtw3SUAz7zZgwiHa0hJtXqbF9+87I hVls0VSjhDnvow/QtiPOrIeQyw8FRE3RPizJlyUP6d+VfvQpiYDdq8nl046GCvqBRilw hWEB7qT9QVSyDLpd7DWl31UVHfd/GUBUc6BYilo8nYrHuSkhDxEMl9y6uozMsCKTeeGD 7rRevP9IvUEd2MZhBvGUszonJy5dKRKlX5AGPsYLp3KOlpoe3Tzv4Ak/LjVZcDC/lgnX yfr6pgP241bDe5iKHw2iOLXKNCj/SvFZE9S55a6jwr5/zRuTYABuLg9UaDcWjiPQxe42 +Euw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=WiZvM7uySNJ90w4oQaqkcT/hEqiJlqMJeCyoH+WJ4bE=; b=Nb5PfdvPgLThK1EcLKFXWnEiO2XQB9dFzo0JoPRKuo6Ah/CIXghwVb8tnsP30YwJ2g LQsEuQLzEVI+/LCRgAQSFbA2Pi92s8aRsU4vze2gKhzIbcYfDSHZz84PFPhUO/LVnLon r0UHcgLhtpYia6nT/KlNnfL7Ga5F80QhZXamRfg1QrFq9IldFWybWNCvJ4FSnQLc6A9K BfTxpdj2xEF0pT6z24DpzMOkTKznyXZQlERwtUJLZWugstNgVz5eAkioDBqtvwJCsLra Y7fqTkzDo0ImD3marZhzbeaxSYm02OzmpuCO0Ri6nyjYCWQkK9dN3YDvKAC5oziAF+9w zflw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=yfMu0Gp7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id cj26-20020a056a00299a00b00562aaf29d36si20831366pfb.298.2022.10.13.11.04.47; Thu, 13 Oct 2022 11:04:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=yfMu0Gp7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230527AbiJMSDa (ORCPT + 99 others); Thu, 13 Oct 2022 14:03:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33966 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230484AbiJMSDC (ORCPT ); Thu, 13 Oct 2022 14:03:02 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AF6BD152C6F; Thu, 13 Oct 2022 11:02:47 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 1650E6194E; Thu, 13 Oct 2022 17:59:11 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1EEA3C433C1; Thu, 13 Oct 2022 17:59:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665683950; bh=DdUGzI2prsvOQgSs5XCjWOCD4D1KUOHY03lBWxbnGn0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=yfMu0Gp7yesb1UTRu+0H9HaJlvpZQ/8CP4aKbLRkDoLZgFj1yc7ngpzAu5K1aC6mm Cm/6MXprnjbBH1paO7+70IzQXmIhgmM632gD+vCq3l2FCboebl0JOm7no3E2fdw56n H//f/+Xc9QbjgmkisswDWwNAzucV/df3vqC1fAo8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ferry Toth , Andy Shevchenko Subject: [PATCH 5.19 14/33] Revert "USB: fixup for merge issue with "usb: dwc3: Dont switch OTG -> peripheral if extcon is present"" Date: Thu, 13 Oct 2022 19:52:46 +0200 Message-Id: <20221013175145.750236704@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746596580411889041?= X-GMAIL-MSGID: =?utf-8?q?1746596580411889041?= From: Andy Shevchenko commit 2adc960ce79d3231b02f820daeee434542fe2911 upstream. This reverts commit 8bd6b8c4b1009d7d2662138d6bdc6fe58a9274c5. Prerequisite revert for the reverting of the original commit 0f0101719138. Fixes: 8bd6b8c4b100 ("USB: fixup for merge issue with "usb: dwc3: Don't switch OTG -> peripheral if extcon is present"") Fixes: 0f0101719138 ("usb: dwc3: Don't switch OTG -> peripheral if extcon is present") Reported-by: Ferry Toth Cc: stable@vger.kernel.org Signed-off-by: Andy Shevchenko Tested-by: Ferry Toth # for Merrifield Link: https://lore.kernel.org/r/20220927155332.10762-2-andriy.shevchenko@linux.intel.com Signed-off-by: Greg Kroah-Hartman --- drivers/usb/dwc3/core.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c @@ -1650,8 +1650,13 @@ static struct extcon_dev *dwc3_get_extco * This device property is for kernel internal use only and * is expected to be set by the glue code. */ - if (device_property_read_string(dev, "linux,extcon-name", &name) == 0) - return extcon_get_extcon_dev(name); + if (device_property_read_string(dev, "linux,extcon-name", &name) == 0) { + edev = extcon_get_extcon_dev(name); + if (!edev) + return ERR_PTR(-EPROBE_DEFER); + + return edev; + } /* * Try to get an extcon device from the USB PHY controller's "port" From patchwork Thu Oct 13 17:52:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2213 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp410933wrs; Thu, 13 Oct 2022 11:07:38 -0700 (PDT) X-Google-Smtp-Source: AMsMyM77IJJMlw7SSURNY5Tlt/RlwVzxUqO36vkgj5cWq7hWSmxaqsKhNcanfxolrorRzQgKW64o X-Received: by 2002:a17:902:8a93:b0:17f:66ae:b6c with SMTP id p19-20020a1709028a9300b0017f66ae0b6cmr985416plo.94.1665684457933; Thu, 13 Oct 2022 11:07:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665684457; cv=none; d=google.com; s=arc-20160816; b=HsTwupokAsJypCbJHlDwkWAnu3TYeN9LJQ7snX4KwYmspkGKY4gXO4XvljP3bz+KA1 GbsxqlKEp7wZxHG8/Q260hwhKeiNEU4xyinnDXBbuasG/ieSQILr4gEhkDJ1NZo0nVRG uKdaHSSpAWiKyR4K5hMfsfJdJ6eNapX5xz8jt9bgzWPkQYG3GBarFmqz5kVutS6Wx88v MW79j4heN5KaI2saibjmkYytsgGEpXeyGlQIPfQjXC7Q9MhIe+5qKJJCUrgnLmTKiDhe t5NznQjUJthW7KuXKYTmo7XcE+j4uW1aLL4T8DqqT8O0+x0sDrXYgni/NfVKdbuHdC/X HcJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=9fqVdAhEJs/X6BJZbKtzLk518N38q7FYqZMvfpLcPVk=; b=gAlhpDyu8mi8SZo1gEd+Sobq19JP1KJMEGBhFwa4PA6SQHTu22CDiPoUqthjZsB85K UvgZU/BHWtqAQ7n0J2ktjU+wuqE1miKn/+6wq88zthRiQE5/w+UthC04SXPDChFnraWg XWOrUB+ooPsVTHbk6GV2u1c7wg7Wk5ZSPLgjPjHKtCxWO0OuqOCdTwUz56SdiZWLTMZo U3PiFiKcqdXkEvB/VeIeBzsZYZf6IoAVTe3BwOY/n/1RmR+Akuf87RzZadun+hB01etn CTRkPlYIfYce6bAj99nnK2YE1/fKbbwzz8ynyWHaJQ6WDTW+nUM78Wwk1plZ98ZpyZkm h11Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=ex3RTcvw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x3-20020a17090ad68300b001ed40b70436si164990pju.155.2022.10.13.11.07.24; Thu, 13 Oct 2022 11:07:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=ex3RTcvw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231550AbiJMSHH (ORCPT + 99 others); Thu, 13 Oct 2022 14:07:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58142 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231249AbiJMSDx (ORCPT ); Thu, 13 Oct 2022 14:03:53 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A0E78152C45; Thu, 13 Oct 2022 11:03:39 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 177F561950; Thu, 13 Oct 2022 18:00:44 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 23272C433D6; Thu, 13 Oct 2022 18:00:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665684043; bh=dAi356NZYKsu2332PoP+xSDiNtF2zzin39/QY3Yol/8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ex3RTcvwDtEp2nkN0Y5bQMkeoy5vBc86AOr9Io3YrjfSHbdv4GKD81QFUkae3i0+E KhqU2DyboPBnyJXBVcT1tNyT7vRXusNfcXILvi2+3StrmrLdwF4Ntba4R3KIiISmx4 WNoy8eyM8tB51PYZJmnQZZtLasrRjJ9yaQXa1vlU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ferry Toth , Andy Shevchenko , Sven Peter Subject: [PATCH 5.19 15/33] Revert "usb: dwc3: Dont switch OTG -> peripheral if extcon is present" Date: Thu, 13 Oct 2022 19:52:47 +0200 Message-Id: <20221013175145.789903173@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746596745947489708?= X-GMAIL-MSGID: =?utf-8?q?1746596745947489708?= From: Andy Shevchenko commit 7a84e7353e23202d4f82b05093af4db2b26e6768 upstream. This reverts commit 0f01017191384e3962fa31520a9fd9846c3d352f. As pointed out by Ferry this breaks Dual Role support on Intel Merrifield platforms. Fixes: 0f0101719138 ("usb: dwc3: Don't switch OTG -> peripheral if extcon is present") Reported-by: Ferry Toth Cc: stable@vger.kernel.org Signed-off-by: Andy Shevchenko Tested-by: Ferry Toth # for Merrifield Reviewed-by: Sven Peter Link: https://lore.kernel.org/r/20220927155332.10762-3-andriy.shevchenko@linux.intel.com Signed-off-by: Greg Kroah-Hartman --- drivers/usb/dwc3/core.c | 55 ------------------------------------------------ drivers/usb/dwc3/drd.c | 50 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 54 deletions(-) --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c @@ -23,7 +23,6 @@ #include #include #include -#include #include #include #include @@ -86,7 +85,7 @@ static int dwc3_get_dr_mode(struct dwc3 * mode. If the controller supports DRD but the dr_mode is not * specified or set to OTG, then set the mode to peripheral. */ - if (mode == USB_DR_MODE_OTG && !dwc->edev && + if (mode == USB_DR_MODE_OTG && (!IS_ENABLED(CONFIG_USB_ROLE_SWITCH) || !device_property_read_bool(dwc->dev, "usb-role-switch")) && !DWC3_VER_IS_PRIOR(DWC3, 330A)) @@ -1634,51 +1633,6 @@ static void dwc3_check_params(struct dwc } } -static struct extcon_dev *dwc3_get_extcon(struct dwc3 *dwc) -{ - struct device *dev = dwc->dev; - struct device_node *np_phy; - struct extcon_dev *edev = NULL; - const char *name; - - if (device_property_read_bool(dev, "extcon")) - return extcon_get_edev_by_phandle(dev, 0); - - /* - * Device tree platforms should get extcon via phandle. - * On ACPI platforms, we get the name from a device property. - * This device property is for kernel internal use only and - * is expected to be set by the glue code. - */ - if (device_property_read_string(dev, "linux,extcon-name", &name) == 0) { - edev = extcon_get_extcon_dev(name); - if (!edev) - return ERR_PTR(-EPROBE_DEFER); - - return edev; - } - - /* - * Try to get an extcon device from the USB PHY controller's "port" - * node. Check if it has the "port" node first, to avoid printing the - * error message from underlying code, as it's a valid case: extcon - * device (and "port" node) may be missing in case of "usb-role-switch" - * or OTG mode. - */ - np_phy = of_parse_phandle(dev->of_node, "phys", 0); - if (of_graph_is_present(np_phy)) { - struct device_node *np_conn; - - np_conn = of_graph_get_remote_node(np_phy, -1, -1); - if (np_conn) - edev = extcon_find_edev_by_node(np_conn); - of_node_put(np_conn); - } - of_node_put(np_phy); - - return edev; -} - static int dwc3_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; @@ -1815,13 +1769,6 @@ static int dwc3_probe(struct platform_de goto err2; } - dwc->edev = dwc3_get_extcon(dwc); - if (IS_ERR(dwc->edev)) { - ret = PTR_ERR(dwc->edev); - dev_err_probe(dwc->dev, ret, "failed to get extcon\n"); - goto err3; - } - ret = dwc3_get_dr_mode(dwc); if (ret) goto err3; --- a/drivers/usb/dwc3/drd.c +++ b/drivers/usb/dwc3/drd.c @@ -8,6 +8,7 @@ */ #include +#include #include #include #include @@ -438,6 +439,51 @@ static int dwc3_drd_notifier(struct noti return NOTIFY_DONE; } +static struct extcon_dev *dwc3_get_extcon(struct dwc3 *dwc) +{ + struct device *dev = dwc->dev; + struct device_node *np_phy; + struct extcon_dev *edev = NULL; + const char *name; + + if (device_property_read_bool(dev, "extcon")) + return extcon_get_edev_by_phandle(dev, 0); + + /* + * Device tree platforms should get extcon via phandle. + * On ACPI platforms, we get the name from a device property. + * This device property is for kernel internal use only and + * is expected to be set by the glue code. + */ + if (device_property_read_string(dev, "linux,extcon-name", &name) == 0) { + edev = extcon_get_extcon_dev(name); + if (!edev) + return ERR_PTR(-EPROBE_DEFER); + + return edev; + } + + /* + * Try to get an extcon device from the USB PHY controller's "port" + * node. Check if it has the "port" node first, to avoid printing the + * error message from underlying code, as it's a valid case: extcon + * device (and "port" node) may be missing in case of "usb-role-switch" + * or OTG mode. + */ + np_phy = of_parse_phandle(dev->of_node, "phys", 0); + if (of_graph_is_present(np_phy)) { + struct device_node *np_conn; + + np_conn = of_graph_get_remote_node(np_phy, -1, -1); + if (np_conn) + edev = extcon_find_edev_by_node(np_conn); + of_node_put(np_conn); + } + of_node_put(np_phy); + + return edev; +} + #if IS_ENABLED(CONFIG_USB_ROLE_SWITCH) #define ROLE_SWITCH 1 static int dwc3_usb_role_switch_set(struct usb_role_switch *sw, @@ -542,6 +588,10 @@ int dwc3_drd_init(struct dwc3 *dwc) device_property_read_bool(dwc->dev, "usb-role-switch")) return dwc3_setup_role_switch(dwc); + dwc->edev = dwc3_get_extcon(dwc); + if (IS_ERR(dwc->edev)) + return PTR_ERR(dwc->edev); + if (dwc->edev) { dwc->edev_nb.notifier_call = dwc3_drd_notifier; ret = extcon_register_notifier(dwc->edev, EXTCON_USB_HOST, From patchwork Thu Oct 13 17:52:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2206 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp410543wrs; Thu, 13 Oct 2022 11:06:48 -0700 (PDT) X-Google-Smtp-Source: AMsMyM42SdobvJJd9RSJvxR9CHwJH1xLiR/HFnl8USdhEe1fz6dNnDQAoNR07H6MuhD0lnjxHpI8 X-Received: by 2002:a17:90b:33cd:b0:20d:9da6:56e3 with SMTP id lk13-20020a17090b33cd00b0020d9da656e3mr7614431pjb.143.1665684407895; Thu, 13 Oct 2022 11:06:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665684407; cv=none; d=google.com; s=arc-20160816; b=r+Ds/cn/iMlOhgxms9UoHmC/M5vbGkUvZrnJUO5nniUs/6lmM8EsnbiMSdQYVeyemt uql2bYwWOGsD/DomqZTQUucVRuoJETor+LROLw9JGBupELqTdfdYQFTSTfcWTmIreatw MC1T3m2r5CMEcu14mEru/LUVh44q/+w+Gi8L2L2PtZ88gR4zG7PmF+yJ/wbhT7IGWWtH xztHx3f0tJAozfUnmh86+6fTx3ILp17a7ZD8iI+iXdyCnTPw+Spa3dGeTcIHcu57bL2H Us15wRviCsNdbTevqddzGQAQkyEqTeucj2Py9/iebOOk1iDM5mRkYhD2ogV/Jq/cf8Gv NzBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=OIJqYRlCxH5KpA/gF76wHhzR/XXka/tEsB+5X3n3h/U=; b=wlA/lAuOlt8KY5+hhnuL4IXtn6LjS3esZlAK2lZVP3zGBk1cEZTtdRFyFXqB6pgxy1 BqedasQlJmDbDBqoOd4T066k/w5QN5poAdXA0aD7+WRs28vwqC4rPm0luJiE1gWkWcoh IA60F+B9snUTg5hldqcFmXhqdUa/dhM1aZzFYL9zymVWKHzLqIL5EslyuasQWuyhzjGd yu71jtCr7EqdwQksTv9HCs2KGR4y8+NBhQaU1ilPK7ywpgb0YYBEEI7dOA8QMwNhGo/L DPRF5u9kvYE08NMlWfyqd7cKQBdUpAijzeEMV9RAkXoeLO9UzmACM7hp3PR/+by00luT gPYg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=ky74HZOG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e15-20020a63db0f000000b00440395dafc7si92463pgg.187.2022.10.13.11.06.35; Thu, 13 Oct 2022 11:06:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=ky74HZOG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231181AbiJMSGX (ORCPT + 99 others); Thu, 13 Oct 2022 14:06:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36226 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231303AbiJMSEC (ORCPT ); Thu, 13 Oct 2022 14:04:02 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7F118152C6C; Thu, 13 Oct 2022 11:03:59 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 45D4EB82055; Thu, 13 Oct 2022 17:59:52 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 29128C433D6; Thu, 13 Oct 2022 17:59:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665683991; bh=5fGeL9rrSeEnEiyxIZ1qrK6yt0BsEelbTs8rHswWTrY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ky74HZOGwnZvI9xWX0wu61ijjIpGyarrK4j/w3PVL1ZtNcZW/Tle2lTMtcDpM93hx oetnoY4wLIzttmGZvYag/NqLDQTYuHItl/21IJNGKLTmtRKLGySEzG/Nt+tgRMmZwM DJGml+aKCFRdBokWLQF22AnP8igs5/rWubbnSPKs= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Nathan Lynch , Laurent Dufour , Michael Ellerman Subject: [PATCH 5.19 16/33] Revert "powerpc/rtas: Implement reentrant rtas call" Date: Thu, 13 Oct 2022 19:52:48 +0200 Message-Id: <20221013175145.819258725@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746596694015788997?= X-GMAIL-MSGID: =?utf-8?q?1746596694015788997?= From: Nathan Lynch commit f88aabad33ea22be2ce1c60d8901942e4e2a9edb upstream. At the time this was submitted by Leonardo, I confirmed -- or thought I had confirmed -- with PowerVM partition firmware development that the following RTAS functions: - ibm,get-xive - ibm,int-off - ibm,int-on - ibm,set-xive were safe to call on multiple CPUs simultaneously, not only with respect to themselves as indicated by PAPR, but with arbitrary other RTAS calls: https://lore.kernel.org/linuxppc-dev/875zcy2v8o.fsf@linux.ibm.com/ Recent discussion with firmware development makes it clear that this is not true, and that the code in commit b664db8e3f97 ("powerpc/rtas: Implement reentrant rtas call") is unsafe, likely explaining several strange bugs we've seen in internal testing involving DLPAR and LPM. These scenarios use ibm,configure-connector, whose internal state can be corrupted by the concurrent use of the "reentrant" functions, leading to symptoms like endless busy statuses from RTAS. Fixes: b664db8e3f97 ("powerpc/rtas: Implement reentrant rtas call") Cc: stable@vger.kernel.org # v5.8+ Signed-off-by: Nathan Lynch Reviewed-by: Laurent Dufour Signed-off-by: Michael Ellerman Link: https://lore.kernel.org/r/20220907220111.223267-1-nathanl@linux.ibm.com Signed-off-by: Greg Kroah-Hartman --- arch/powerpc/include/asm/paca.h | 1 arch/powerpc/include/asm/rtas.h | 1 arch/powerpc/kernel/paca.c | 32 --------------------- arch/powerpc/kernel/rtas.c | 54 ------------------------------------ arch/powerpc/sysdev/xics/ics-rtas.c | 22 +++++++------- 5 files changed, 11 insertions(+), 99 deletions(-) --- a/arch/powerpc/include/asm/paca.h +++ b/arch/powerpc/include/asm/paca.h @@ -263,7 +263,6 @@ struct paca_struct { u64 l1d_flush_size; #endif #ifdef CONFIG_PPC_PSERIES - struct rtas_args *rtas_args_reentrant; u8 *mce_data_buf; /* buffer to hold per cpu rtas errlog */ #endif /* CONFIG_PPC_PSERIES */ --- a/arch/powerpc/include/asm/rtas.h +++ b/arch/powerpc/include/asm/rtas.h @@ -240,7 +240,6 @@ extern struct rtas_t rtas; extern int rtas_token(const char *service); extern int rtas_service_present(const char *service); extern int rtas_call(int token, int, int, int *, ...); -int rtas_call_reentrant(int token, int nargs, int nret, int *outputs, ...); void rtas_call_unlocked(struct rtas_args *args, int token, int nargs, int nret, ...); extern void __noreturn rtas_restart(char *cmd); --- a/arch/powerpc/kernel/paca.c +++ b/arch/powerpc/kernel/paca.c @@ -16,7 +16,6 @@ #include #include #include -#include #include "setup.h" @@ -170,30 +169,6 @@ static struct slb_shadow * __init new_sl } #endif /* CONFIG_PPC_64S_HASH_MMU */ -#ifdef CONFIG_PPC_PSERIES -/** - * new_rtas_args() - Allocates rtas args - * @cpu: CPU number - * @limit: Memory limit for this allocation - * - * Allocates a struct rtas_args and return it's pointer, - * if not in Hypervisor mode - * - * Return: Pointer to allocated rtas_args - * NULL if CPU in Hypervisor Mode - */ -static struct rtas_args * __init new_rtas_args(int cpu, unsigned long limit) -{ - limit = min_t(unsigned long, limit, RTAS_INSTANTIATE_MAX); - - if (early_cpu_has_feature(CPU_FTR_HVMODE)) - return NULL; - - return alloc_paca_data(sizeof(struct rtas_args), L1_CACHE_BYTES, - limit, cpu); -} -#endif /* CONFIG_PPC_PSERIES */ - /* The Paca is an array with one entry per processor. Each contains an * lppaca, which contains the information shared between the * hypervisor and Linux. @@ -232,10 +207,6 @@ void __init initialise_paca(struct paca_ /* For now -- if we have threads this will be adjusted later */ new_paca->tcd_ptr = &new_paca->tcd; #endif - -#ifdef CONFIG_PPC_PSERIES - new_paca->rtas_args_reentrant = NULL; -#endif } /* Put the paca pointer into r13 and SPRG_PACA */ @@ -308,9 +279,6 @@ void __init allocate_paca(int cpu) #ifdef CONFIG_PPC_64S_HASH_MMU paca->slb_shadow_ptr = new_slb_shadow(cpu, limit); #endif -#ifdef CONFIG_PPC_PSERIES - paca->rtas_args_reentrant = new_rtas_args(cpu, limit); -#endif paca_struct_size += sizeof(struct paca_struct); } --- a/arch/powerpc/kernel/rtas.c +++ b/arch/powerpc/kernel/rtas.c @@ -43,7 +43,6 @@ #include #include #include -#include /* This is here deliberately so it's only used in this file */ void enter_rtas(unsigned long); @@ -932,59 +931,6 @@ void rtas_activate_firmware(void) pr_err("ibm,activate-firmware failed (%i)\n", fwrc); } -#ifdef CONFIG_PPC_PSERIES -/** - * rtas_call_reentrant() - Used for reentrant rtas calls - * @token: Token for desired reentrant RTAS call - * @nargs: Number of Input Parameters - * @nret: Number of Output Parameters - * @outputs: Array of outputs - * @...: Inputs for desired RTAS call - * - * According to LoPAR documentation, only "ibm,int-on", "ibm,int-off", - * "ibm,get-xive" and "ibm,set-xive" are currently reentrant. - * Reentrant calls need their own rtas_args buffer, so not using rtas.args, but - * PACA one instead. - * - * Return: -1 on error, - * First output value of RTAS call if (nret > 0), - * 0 otherwise, - */ -int rtas_call_reentrant(int token, int nargs, int nret, int *outputs, ...) -{ - va_list list; - struct rtas_args *args; - unsigned long flags; - int i, ret = 0; - - if (!rtas.entry || token == RTAS_UNKNOWN_SERVICE) - return -1; - - local_irq_save(flags); - preempt_disable(); - - /* We use the per-cpu (PACA) rtas args buffer */ - args = local_paca->rtas_args_reentrant; - - va_start(list, outputs); - va_rtas_call_unlocked(args, token, nargs, nret, list); - va_end(list); - - if (nret > 1 && outputs) - for (i = 0; i < nret - 1; ++i) - outputs[i] = be32_to_cpu(args->rets[i + 1]); - - if (nret > 0) - ret = be32_to_cpu(args->rets[0]); - - local_irq_restore(flags); - preempt_enable(); - - return ret; -} - -#endif /* CONFIG_PPC_PSERIES */ - /** * get_pseries_errorlog() - Find a specific pseries error log in an RTAS * extended event log. --- a/arch/powerpc/sysdev/xics/ics-rtas.c +++ b/arch/powerpc/sysdev/xics/ics-rtas.c @@ -36,8 +36,8 @@ static void ics_rtas_unmask_irq(struct i server = xics_get_irq_server(d->irq, irq_data_get_affinity_mask(d), 0); - call_status = rtas_call_reentrant(ibm_set_xive, 3, 1, NULL, hw_irq, - server, DEFAULT_PRIORITY); + call_status = rtas_call(ibm_set_xive, 3, 1, NULL, hw_irq, server, + DEFAULT_PRIORITY); if (call_status != 0) { printk(KERN_ERR "%s: ibm_set_xive irq %u server %x returned %d\n", @@ -46,7 +46,7 @@ static void ics_rtas_unmask_irq(struct i } /* Now unmask the interrupt (often a no-op) */ - call_status = rtas_call_reentrant(ibm_int_on, 1, 1, NULL, hw_irq); + call_status = rtas_call(ibm_int_on, 1, 1, NULL, hw_irq); if (call_status != 0) { printk(KERN_ERR "%s: ibm_int_on irq=%u returned %d\n", __func__, hw_irq, call_status); @@ -68,7 +68,7 @@ static void ics_rtas_mask_real_irq(unsig if (hw_irq == XICS_IPI) return; - call_status = rtas_call_reentrant(ibm_int_off, 1, 1, NULL, hw_irq); + call_status = rtas_call(ibm_int_off, 1, 1, NULL, hw_irq); if (call_status != 0) { printk(KERN_ERR "%s: ibm_int_off irq=%u returned %d\n", __func__, hw_irq, call_status); @@ -76,8 +76,8 @@ static void ics_rtas_mask_real_irq(unsig } /* Have to set XIVE to 0xff to be able to remove a slot */ - call_status = rtas_call_reentrant(ibm_set_xive, 3, 1, NULL, hw_irq, - xics_default_server, 0xff); + call_status = rtas_call(ibm_set_xive, 3, 1, NULL, hw_irq, + xics_default_server, 0xff); if (call_status != 0) { printk(KERN_ERR "%s: ibm_set_xive(0xff) irq=%u returned %d\n", __func__, hw_irq, call_status); @@ -108,7 +108,7 @@ static int ics_rtas_set_affinity(struct if (hw_irq == XICS_IPI || hw_irq == XICS_IRQ_SPURIOUS) return -1; - status = rtas_call_reentrant(ibm_get_xive, 1, 3, xics_status, hw_irq); + status = rtas_call(ibm_get_xive, 1, 3, xics_status, hw_irq); if (status) { printk(KERN_ERR "%s: ibm,get-xive irq=%u returns %d\n", @@ -126,8 +126,8 @@ static int ics_rtas_set_affinity(struct pr_debug("%s: irq %d [hw 0x%x] server: 0x%x\n", __func__, d->irq, hw_irq, irq_server); - status = rtas_call_reentrant(ibm_set_xive, 3, 1, NULL, - hw_irq, irq_server, xics_status[1]); + status = rtas_call(ibm_set_xive, 3, 1, NULL, + hw_irq, irq_server, xics_status[1]); if (status) { printk(KERN_ERR "%s: ibm,set-xive irq=%u returns %d\n", @@ -158,7 +158,7 @@ static int ics_rtas_check(struct ics *ic return -EINVAL; /* Check if RTAS knows about this interrupt */ - rc = rtas_call_reentrant(ibm_get_xive, 1, 3, status, hw_irq); + rc = rtas_call(ibm_get_xive, 1, 3, status, hw_irq); if (rc) return -ENXIO; @@ -174,7 +174,7 @@ static long ics_rtas_get_server(struct i { int rc, status[2]; - rc = rtas_call_reentrant(ibm_get_xive, 1, 3, status, vec); + rc = rtas_call(ibm_get_xive, 1, 3, status, vec); if (rc) return -1; return status[0]; From patchwork Thu Oct 13 17:52:49 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2270 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp415161wrs; Thu, 13 Oct 2022 11:16:55 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4UU64zVuhWN9quk9fiq5ri2YOjqf9v5tzGL8KIGGddbHx1zh/x5zn5puJoXkTrCJ184BOo X-Received: by 2002:a17:90b:4a51:b0:20d:4ded:3c26 with SMTP id lb17-20020a17090b4a5100b0020d4ded3c26mr12417783pjb.23.1665685014996; Thu, 13 Oct 2022 11:16:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665685014; cv=none; d=google.com; s=arc-20160816; b=G3nxgY+Q3cR1l3+/W/RNZHDb8/G/l0iQBZ9bEJfTxuiUo2E/QVa6GsMY3C8gIEArj4 FW/NaAilr9vCspUv0gB4VCCkov2sraIpsIl33YpVApqv44ZFpWGOOzAdQ/N3wBnsWol0 T6e7gG9gSJBsGUxUcsP8JWjjFHpIx0YfsuS4GXMa7n/nxFwafROep76Iu9kUkRGb/wi3 akhkBZ50w5yfvdBWhB9QKVmGC/FxDW5I8Rh3hS7TOExnLbjWCNAnSc1GjTZ8w/3fFCFm P+pb1MZ5sfyuh4kBGGA3yNcqnd4VPflya4INoFNvRiO7zFshAEblFv0H4fN9aQT8X30o pZ9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=4GVxEZ9y2rt0iK4DrnBH0LFAiNDjocNAdwdPVGD2JpY=; b=HUcUN3M/3ZW3HGF3X9ZwS1CTh9uJ6q9TfC1f/7Ur9sfwITHDQ4Z6XLWnG0FW+ZC1GS trAZpMwExr4Of0sA6INlDwLfRgLBOKamksFbY8EsuBnmupln7YQS7edI0KgOqeKrqQun Eb014kkg/oIZjN9G/3X62Hx6LInOWfXMDh0t2jRRLXq9rO1qTujpfJpOfXjZgR0EracO cnz5fnFnILGZdKM5s0AI6lgwG+MBHDeN7EljfZ0PD5o8hzY7lauhPNjKweRnGbPd6aWc pFjJOzLfiegUKztA4YgPA64DpD4GUMtk85A6DUi56u8UkP3oz9iCzF61sic0VEI+0NqQ uT0w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=pouIC8br; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e6-20020a63aa06000000b00439286e51a2si120806pgf.155.2022.10.13.11.16.42; Thu, 13 Oct 2022 11:16:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=pouIC8br; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231161AbiJMSQT (ORCPT + 99 others); Thu, 13 Oct 2022 14:16:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57610 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232009AbiJMSN5 (ORCPT ); Thu, 13 Oct 2022 14:13:57 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9C0E9814C1; Thu, 13 Oct 2022 11:10:14 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 7658361949; Thu, 13 Oct 2022 18:00:21 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7E0BFC433D7; Thu, 13 Oct 2022 18:00:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665684020; bh=4rWjydFXyLLDqW4rzOLOSOJ8MSOKHrz5swor8EvZv0k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pouIC8brJOISXS9+BiKw5sY0N7rL7qR0n14OlfxUAPYees0LHi2hmtYGWhKCiYToW igmXLNECvLboxFwpgZA24DlAy8KYPoijlolP5TGD/Rp6CPc2NhL4Pf94umIXKrewO+ uX+hZGaEZ129kAfSwfKDTPgM6o/4L5t0k8EgjGrY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Herbert Xu , Giovanni Cabiddu Subject: [PATCH 5.19 17/33] Revert "crypto: qat - reduce size of mapped region" Date: Thu, 13 Oct 2022 19:52:49 +0200 Message-Id: <20221013175145.852098967@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746597330060756622?= X-GMAIL-MSGID: =?utf-8?q?1746597330060756622?= From: Giovanni Cabiddu commit 9c5f21b198d259bfe1191b1fedf08e2eab15b33b upstream. This reverts commit e48767c17718067ba21fb2ef461779ec2506f845. In an attempt to resolve a set of warnings reported by the static analyzer Smatch, the reverted commit improperly reduced the sizes of the DMA mappings used for the input and output parameters for both RSA and DH creating a mismatch (map size=8 bytes, unmap size=64 bytes). This issue is reported when CONFIG_DMA_API_DEBUG is selected, when the crypto self test is run. The function dma_unmap_single() reports a warning similar to the one below, saying that the `device driver frees DMA memory with different size`. DMA-API: 4xxx 0000:06:00.0: device driver frees DMA memory with different size [device address=0x0000000123206c80] [map size=8 bytes] [unmap size=64 bytes] WARNING: CPU: 0 PID: 0 at kernel/dma/debug.c:973 check_unmap+0x3d0/0x8c0\ ... Call Trace: debug_dma_unmap_page+0x5c/0x60 qat_dh_cb+0xd7/0x110 [intel_qat] qat_alg_asym_callback+0x1a/0x30 [intel_qat] adf_response_handler+0xbd/0x1a0 [intel_qat] tasklet_action_common.constprop.0+0xcd/0xe0 __do_softirq+0xf8/0x30c __irq_exit_rcu+0xbf/0x140 common_interrupt+0xb9/0xd0 The original commit was correct. Cc: Reported-by: Herbert Xu Signed-off-by: Giovanni Cabiddu Signed-off-by: Herbert Xu Signed-off-by: Greg Kroah-Hartman --- drivers/crypto/qat/qat_common/qat_asym_algs.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) --- a/drivers/crypto/qat/qat_common/qat_asym_algs.c +++ b/drivers/crypto/qat/qat_common/qat_asym_algs.c @@ -333,13 +333,13 @@ static int qat_dh_compute_value(struct k qat_req->out.dh.out_tab[1] = 0; /* Mapping in.in.b or in.in_g2.xa is the same */ qat_req->phy_in = dma_map_single(dev, &qat_req->in.dh.in.b, - sizeof(qat_req->in.dh.in.b), + sizeof(struct qat_dh_input_params), DMA_TO_DEVICE); if (unlikely(dma_mapping_error(dev, qat_req->phy_in))) goto unmap_dst; qat_req->phy_out = dma_map_single(dev, &qat_req->out.dh.r, - sizeof(qat_req->out.dh.r), + sizeof(struct qat_dh_output_params), DMA_TO_DEVICE); if (unlikely(dma_mapping_error(dev, qat_req->phy_out))) goto unmap_in_params; @@ -730,13 +730,13 @@ static int qat_rsa_enc(struct akcipher_r qat_req->in.rsa.in_tab[3] = 0; qat_req->out.rsa.out_tab[1] = 0; qat_req->phy_in = dma_map_single(dev, &qat_req->in.rsa.enc.m, - sizeof(qat_req->in.rsa.enc.m), + sizeof(struct qat_rsa_input_params), DMA_TO_DEVICE); if (unlikely(dma_mapping_error(dev, qat_req->phy_in))) goto unmap_dst; qat_req->phy_out = dma_map_single(dev, &qat_req->out.rsa.enc.c, - sizeof(qat_req->out.rsa.enc.c), + sizeof(struct qat_rsa_output_params), DMA_TO_DEVICE); if (unlikely(dma_mapping_error(dev, qat_req->phy_out))) goto unmap_in_params; @@ -876,13 +876,13 @@ static int qat_rsa_dec(struct akcipher_r qat_req->in.rsa.in_tab[3] = 0; qat_req->out.rsa.out_tab[1] = 0; qat_req->phy_in = dma_map_single(dev, &qat_req->in.rsa.dec.c, - sizeof(qat_req->in.rsa.dec.c), + sizeof(struct qat_rsa_input_params), DMA_TO_DEVICE); if (unlikely(dma_mapping_error(dev, qat_req->phy_in))) goto unmap_dst; qat_req->phy_out = dma_map_single(dev, &qat_req->out.rsa.dec.m, - sizeof(qat_req->out.rsa.dec.m), + sizeof(struct qat_rsa_output_params), DMA_TO_DEVICE); if (unlikely(dma_mapping_error(dev, qat_req->phy_out))) goto unmap_in_params; From patchwork Thu Oct 13 17:52:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2202 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp410300wrs; Thu, 13 Oct 2022 11:06:19 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5rza7eLsZ6GGhwF20k2ZwSShG3dzRcqG4Ky32AWDQFKHjsluWHPrJ/MBgfHxLqEuLuMLku X-Received: by 2002:a17:90a:fd01:b0:20b:61f:cd49 with SMTP id cv1-20020a17090afd0100b0020b061fcd49mr1089297pjb.239.1665684379053; Thu, 13 Oct 2022 11:06:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665684379; cv=none; d=google.com; s=arc-20160816; b=a3PCmpzpS4kxHadYJ8rV8L/o8CK18e3KCG1twoqfUcO09heBk97UBBF7M7DjU45Xsb 9YV2d3Xt6V2q3M2yRtr2fR1WvXmpKxI4ujpPjcF3sZiT1YI3ZjFRKadG8H7z9rIXq4iT rck90ZWFD5a+yKWQsF0Vsg0LpbOKyGwMCUCU42thbUz3RPx+NS+ZonuadM3re2cxAS1w 4Rr4CWmko7ncuWHWJSB3cegWu03/a2sVFkvCvUa/BkatnxsvTtFtzSJXT5nd8gD3yYtg +Wiv7+WR0Cp0UqKz96F2yy+U1WwCuZgehLBa50x0nWSRLUjDtmPCGfLHNbuq587HQYTo cBHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=/6F5mlTqlECeS8KfR8QpT/t8n9/7qCHPSWh2xV3aoWY=; b=R5q18/EI3S6D7xJAzwJynKMJaE9Tl+DqrqPupi2AsESerNtDUN6PZFIm+tdhPrcZRw dzsqq2kbnRBMCzpwgpmQmhNu/CtnGPO6PvrDd8rok0JW5odCY6N+odm5iZPtycoGW9RN qokjtf/1qaSJBruX5CARgB8IasyirZuxjDH58gMsKFDqyKHciDMt3znUpZQPoTTDy4Si yOE6w1bHMp5x6hBBcn7lNvBw3CVKEH7jS27W+wjfrzB4Wh2xaSPDbPH7TKdMNMyFW076 z5xIbvAiV62NuuKTQbQvAOGqQtzFVPons4Hn0Y9WDrjtIL0q6EC12EMsNuE5kyCC+w3s 6K6Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=1eiYyJPo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k21-20020aa788d5000000b005636ce48882si96411pff.45.2022.10.13.11.06.06; Thu, 13 Oct 2022 11:06:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=1eiYyJPo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231299AbiJMSFr (ORCPT + 99 others); Thu, 13 Oct 2022 14:05:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34760 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231181AbiJMSDj (ORCPT ); Thu, 13 Oct 2022 14:03:39 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D303A157F5F; Thu, 13 Oct 2022 11:03:23 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 4375461952; Thu, 13 Oct 2022 18:00:24 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4941FC43143; Thu, 13 Oct 2022 18:00:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665684023; bh=wWxXNLldQJWjVR9cUWjf0UKYSuekCHsercakn8tOViM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=1eiYyJPoKshujY3RDf7cXo4GmJfJ//cnAvgJzt8StnPv3FyQ16sJIwwnHDtztK9eZ 3rgECIoaD6vidM7Azg0j9umeiMz5UJANTzlFg+qmlapPzprI0+kgkEBpSuMaL6/VqT tKOzBsleYnlXi61Qq/GEYkaYlXyXWTa7IUdvkQ2U= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Sebastian Andrzej Siewior , "Jason A. Donenfeld" Subject: [PATCH 5.19 18/33] random: avoid reading two cache lines on irq randomness Date: Thu, 13 Oct 2022 19:52:50 +0200 Message-Id: <20221013175145.887818528@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746596663316455069?= X-GMAIL-MSGID: =?utf-8?q?1746596663316455069?= From: Jason A. Donenfeld commit 9ee0507e896b45af6d65408c77815800bce30008 upstream. In order to avoid reading and dirtying two cache lines on every IRQ, move the work_struct to the bottom of the fast_pool struct. add_ interrupt_randomness() always touches .pool and .count, which are currently split, because .mix pushes everything down. Instead, move .mix to the bottom, so that .pool and .count are always in the first cache line, since .mix is only accessed when the pool is full. Fixes: 58340f8e952b ("random: defer fast pool mixing to worker") Reviewed-by: Sebastian Andrzej Siewior Signed-off-by: Jason A. Donenfeld Signed-off-by: Greg Kroah-Hartman --- drivers/char/random.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -903,10 +903,10 @@ EXPORT_SYMBOL_GPL(unregister_random_vmfo #endif struct fast_pool { - struct work_struct mix; unsigned long pool[4]; unsigned long last; unsigned int count; + struct work_struct mix; }; static DEFINE_PER_CPU(struct fast_pool, irq_randomness) = { From patchwork Thu Oct 13 17:52:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2221 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp411334wrs; Thu, 13 Oct 2022 11:08:24 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5VOuFLTEpEN7+t1V/Jk0qXiiHYbDp7uYjD/sPg4IdYwfyRikccEN7Tt7M7Up3PG9yIv6Zs X-Received: by 2002:a17:902:8bc3:b0:178:8563:8e42 with SMTP id r3-20020a1709028bc300b0017885638e42mr937652plo.0.1665684504276; Thu, 13 Oct 2022 11:08:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665684504; cv=none; d=google.com; s=arc-20160816; b=uyZlB1iX/H0HFju2dU1046doQ3p5DGaOHYA+yKYuDXNseEOkvDIJ/OvdxWZY0/a5sE Te+wLc6IYpD18bTU8xP9smI0yy19qCptquk9FDv0EH5w6XY2v/9x+QFqhCT9ghBWtrT0 n2bdXzvH/Pay9jy6Js7jo4FGsA5+aGW5XI729gbG1JJECkPTnuDsdsShuowXPE2hRU/1 1ZHavfY/hVT669RwnVTaH2KNYo1FoPq5KTSoGYz9nu1+ePi8f+5337C+TCVyH/7jtMeL 6Bx9oVVbTMH8oPxRcktaaFym60YgjQ2067MKYl+FwLtQYguDb0YMF/Cpg6oLCp5DOGXQ CHiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=eo0A/1OAkV5pfmL88E2k8D8hcn44pcpikzxYWnGlW5U=; b=cI9fEVpn4A1vBn82QRrgGVoyZMgk/os1fB9/CDLVul8+NXMKDCNqPq5UdXKCzzXej3 wfY0OmBNFps7aC35ha1zqOU4YzmQITqBzQBlZdfknPRXoiPR+lC+vwLfAL4GSi0SG2bD Y1JpifDEWIXVuC0CBB0uVD5A8Why3xQSBxKH2ghAFe5siRl6F8BLa3PBT0IbMntSSDJT Xzrb11n86uH2LyLxBivWy+YjutYaIHFUzjxtgTk80iLw/ecZylPXgQdSDirZAk94C5r/ rGxCRMjE2vxyKRDJPfYxQnoFqXuyMWg766LV53e4GLUUIsC7L1Vy1wRuMSur7YqtrjjW SL9g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=wESsBqSL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id r7-20020a635d07000000b0044c634e3051si84440pgb.274.2022.10.13.11.08.11; Thu, 13 Oct 2022 11:08:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=wESsBqSL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231335AbiJMSH5 (ORCPT + 99 others); Thu, 13 Oct 2022 14:07:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46390 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231511AbiJMSGe (ORCPT ); Thu, 13 Oct 2022 14:06:34 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1E5EF437DB; Thu, 13 Oct 2022 11:05:23 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 99095B82065; Thu, 13 Oct 2022 18:00:27 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D5A3CC433C1; Thu, 13 Oct 2022 18:00:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665684026; bh=BLsZ3M6JOHN9+LrdwWJRcShlBn9OykEOl6tyUen3xuY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=wESsBqSLbO5SgIBmjsO/TLsTQPzKgi6C3PeS3xxli95JkcAmr+UVbkinc+ea871x0 EUCogEO7Xwf0bJKN4JskmFbzT7iaIHs+dklJQ1JeG1//uJxuvJHYxPnrG/pI5XFdXM X9eXilk2zfKpjvpAm02XR7yB400sUiePB12D6px8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Sherry Yang , Paul Webb , Phillip Goerl , Jack Vogel , Nicky Veitch , Colm Harrington , Ramanan Govindarajan , Sebastian Andrzej Siewior , Dominik Brodowski , Tejun Heo , Sultan Alsawaf , "Jason A. Donenfeld" Subject: [PATCH 5.19 19/33] random: use expired timer rather than wq for mixing fast pool Date: Thu, 13 Oct 2022 19:52:51 +0200 Message-Id: <20221013175145.919301297@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746596794780100250?= X-GMAIL-MSGID: =?utf-8?q?1746596794780100250?= From: Jason A. Donenfeld commit 748bc4dd9e663f23448d8ad7e58c011a67ea1eca upstream. Previously, the fast pool was dumped into the main pool periodically in the fast pool's hard IRQ handler. This worked fine and there weren't problems with it, until RT came around. Since RT converts spinlocks into sleeping locks, problems cropped up. Rather than switching to raw spinlocks, the RT developers preferred we make the transformation from originally doing: do_some_stuff() spin_lock() do_some_other_stuff() spin_unlock() to doing: do_some_stuff() queue_work_on(some_other_stuff_worker) This is an ordinary pattern done all over the kernel. However, Sherry noticed a 10% performance regression in qperf TCP over a 40gbps InfiniBand card. Quoting her message: > MT27500 Family [ConnectX-3] cards: > Infiniband device 'mlx4_0' port 1 status: > default gid: fe80:0000:0000:0000:0010:e000:0178:9eb1 > base lid: 0x6 > sm lid: 0x1 > state: 4: ACTIVE > phys state: 5: LinkUp > rate: 40 Gb/sec (4X QDR) > link_layer: InfiniBand > > Cards are configured with IP addresses on private subnet for IPoIB > performance testing. > Regression identified in this bug is in TCP latency in this stack as reported > by qperf tcp_lat metric: > > We have one system listen as a qperf server: > [root@yourQperfServer ~]# qperf > > Have the other system connect to qperf server as a client (in this > case, it’s X7 server with Mellanox card): > [root@yourQperfClient ~]# numactl -m0 -N0 qperf 20.20.20.101 -v -uu -ub --time 60 --wait_server 20 -oo msg_size:4K:1024K:*2 tcp_lat Rather than incur the scheduling latency from queue_work_on, we can instead switch to running on the next timer tick, on the same core. This also batches things a bit more -- once per jiffy -- which is okay now that mix_interrupt_randomness() can credit multiple bits at once. Reported-by: Sherry Yang Tested-by: Paul Webb Cc: Sherry Yang Cc: Phillip Goerl Cc: Jack Vogel Cc: Nicky Veitch Cc: Colm Harrington Cc: Ramanan Govindarajan Cc: Sebastian Andrzej Siewior Cc: Dominik Brodowski Cc: Tejun Heo Cc: Sultan Alsawaf Cc: stable@vger.kernel.org Fixes: 58340f8e952b ("random: defer fast pool mixing to worker") Signed-off-by: Jason A. Donenfeld Signed-off-by: Greg Kroah-Hartman --- drivers/char/random.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -906,17 +906,20 @@ struct fast_pool { unsigned long pool[4]; unsigned long last; unsigned int count; - struct work_struct mix; + struct timer_list mix; }; +static void mix_interrupt_randomness(struct timer_list *work); + static DEFINE_PER_CPU(struct fast_pool, irq_randomness) = { #ifdef CONFIG_64BIT #define FASTMIX_PERM SIPHASH_PERMUTATION - .pool = { SIPHASH_CONST_0, SIPHASH_CONST_1, SIPHASH_CONST_2, SIPHASH_CONST_3 } + .pool = { SIPHASH_CONST_0, SIPHASH_CONST_1, SIPHASH_CONST_2, SIPHASH_CONST_3 }, #else #define FASTMIX_PERM HSIPHASH_PERMUTATION - .pool = { HSIPHASH_CONST_0, HSIPHASH_CONST_1, HSIPHASH_CONST_2, HSIPHASH_CONST_3 } + .pool = { HSIPHASH_CONST_0, HSIPHASH_CONST_1, HSIPHASH_CONST_2, HSIPHASH_CONST_3 }, #endif + .mix = __TIMER_INITIALIZER(mix_interrupt_randomness, 0) }; /* @@ -958,7 +961,7 @@ int __cold random_online_cpu(unsigned in } #endif -static void mix_interrupt_randomness(struct work_struct *work) +static void mix_interrupt_randomness(struct timer_list *work) { struct fast_pool *fast_pool = container_of(work, struct fast_pool, mix); /* @@ -1012,10 +1015,11 @@ void add_interrupt_randomness(int irq) if (new_count < 1024 && !time_is_before_jiffies(fast_pool->last + HZ)) return; - if (unlikely(!fast_pool->mix.func)) - INIT_WORK(&fast_pool->mix, mix_interrupt_randomness); fast_pool->count |= MIX_INFLIGHT; - queue_work_on(raw_smp_processor_id(), system_highpri_wq, &fast_pool->mix); + if (!timer_pending(&fast_pool->mix)) { + fast_pool->mix.expires = jiffies; + add_timer_on(&fast_pool->mix, raw_smp_processor_id()); + } } EXPORT_SYMBOL_GPL(add_interrupt_randomness); From patchwork Thu Oct 13 17:52:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2203 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp410371wrs; Thu, 13 Oct 2022 11:06:27 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7c9oTaWItIbTSh6vr8O46Vh62eII91DrfRrpmkOiPzVDd4coeztlvt9PMiSOMhZ5xUtmYp X-Received: by 2002:a05:6a00:21c8:b0:52e:3404:eba5 with SMTP id t8-20020a056a0021c800b0052e3404eba5mr1006904pfj.67.1665684387223; Thu, 13 Oct 2022 11:06:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665684387; cv=none; d=google.com; s=arc-20160816; b=OvXE/e222M/8ZxUc5NrWLQ+cL1VvaCTbTkkdaTZJE/0lNX4cce6J53aEdjUcI2gAqU rNKqWCepqB8eHOSaVK3qgnB4OObCOAT50QrhWbbz1Xr1Osjf7pWmxy5W+P3p1hTvVoh6 mQj005o4wIRstFym8f2sY8QUYvsWS60mDVExIZ3+LtEvow/vm/DuIu3oavleiOM1u5vA Knq2ECmfpOUpx6N2tdzkCjXARrTCT9JFDlgGZozATNii30HBtXP3W9XCfv23mGFSbU2c /HhQoJ6tQK4usJihZJ1vCLkzMxsqYJNB5hwXKzKY1qsl3RuvytbEZ6WeiQGFLw1I2oPG JzVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=omKlhbk9CSOQdNNWLr6ptpJ5xIvt1ml7n0StJ8XC+N0=; b=OwIprrTfGfLlLJlV/2/0SmsFSfaX2FRIp1IziPgPXvr1RrpK/MwC8ILReCxHSxaYTS 0u71mhT0cI3itn5lzyeNCmz5GHQQvSDTP8M0/+PpPcxVdWvf7+zVlgLB7Vn3CT7yx+07 7GxQGcTHNTzn+RetoC73ZObWkYgrqUwBLQH+B9aTfm6Yzw74Mj2BwRH/oZlzUdQpdq9c SI9ULvtXXlumxRpAKNz9sp877EnaswrBM959KvOZy8vtMmUfn9m7UW7WvtlIlRptLaY3 xpoMhZ60atpGE8TfLgpVpWRo0jf7NJjJSi5LNjYK1wjljglqHdC34vfsFF6IMQlFN5tG 4JDw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=L9sSsano; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d1-20020a170902cec100b0016d7c6223cdsi487297plg.261.2022.10.13.11.06.14; Thu, 13 Oct 2022 11:06:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=L9sSsano; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231331AbiJMSFx (ORCPT + 99 others); Thu, 13 Oct 2022 14:05:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33112 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231191AbiJMSDk (ORCPT ); Thu, 13 Oct 2022 14:03:40 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 21298157F67; Thu, 13 Oct 2022 11:03:25 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id A8C256192C; Thu, 13 Oct 2022 18:00:29 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id BA7EFC433D6; Thu, 13 Oct 2022 18:00:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665684029; bh=yO7jB7qJ3SzvXbCw+6Kqc+Vb9MrWMZHZx+fu+glnvtQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=L9sSsanom39si1D52rxNAjy+/eOpMiSssQb1LvxTpnHby3Qai1tMaCGA5iRQDvVbp ItI/CyySBMlmQweTK7XPqnp6oIIT3+KLK60U8261/V78bvjr4Ix8lMuSLkwer3uI+G ldgi4CQKL8KPNiCcZ3+xlGVDviM+Ffu+ub1Xb5UQ= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Soenke Huster , Kees Cook , Johannes Berg Subject: [PATCH 5.19 20/33] wifi: cfg80211: fix u8 overflow in cfg80211_update_notlisted_nontrans() Date: Thu, 13 Oct 2022 19:52:52 +0200 Message-Id: <20221013175145.955718271@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746596671862143573?= X-GMAIL-MSGID: =?utf-8?q?1746596671862143573?= From: Johannes Berg commit aebe9f4639b13a1f4e9a6b42cdd2e38c617b442d upstream. In the copy code of the elements, we do the following calculation to reach the end of the MBSSID element: /* copy the IEs after MBSSID */ cpy_len = mbssid[1] + 2; This looks fine, however, cpy_len is a u8, the same as mbssid[1], so the addition of two can overflow. In this case the subsequent memcpy() will overflow the allocated buffer, since it copies 256 bytes too much due to the way the allocation and memcpy() sizes are calculated. Fix this by using size_t for the cpy_len variable. This fixes CVE-2022-41674. Reported-by: Soenke Huster Tested-by: Soenke Huster Fixes: 0b8fb8235be8 ("cfg80211: Parsing of Multiple BSSID information in scanning") Reviewed-by: Kees Cook Signed-off-by: Johannes Berg Signed-off-by: Greg Kroah-Hartman --- net/wireless/scan.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/net/wireless/scan.c +++ b/net/wireless/scan.c @@ -2279,7 +2279,7 @@ cfg80211_update_notlisted_nontrans(struc size_t new_ie_len; struct cfg80211_bss_ies *new_ies; const struct cfg80211_bss_ies *old; - u8 cpy_len; + size_t cpy_len; lockdep_assert_held(&wiphy_to_rdev(wiphy)->bss_lock); From patchwork Thu Oct 13 17:52:53 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2207 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp410561wrs; Thu, 13 Oct 2022 11:06:51 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6zbT5bBUegI2Z9/jJGb8w+qCsm5045Xol3J4GG6G4b5mradWYPTkTqQZVLmyTjOzEIuHKc X-Received: by 2002:a17:90b:4f4e:b0:20d:9f5b:abbf with SMTP id pj14-20020a17090b4f4e00b0020d9f5babbfmr1158289pjb.148.1665684410719; Thu, 13 Oct 2022 11:06:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665684410; cv=none; d=google.com; s=arc-20160816; b=n/R+bRxVFrvsiBUTt/OTnxkgVrmG93VNLhQmlyoQSVAhVL/Z1UF+eHfdmZNCmNBGie mm+awTH1RytD5sUZHHys8ndPFFC3E3iiYkvENFgUdIsB+ocn5EtXkmgCcySPVfbqhLyG 1EjYszXUnkpJqRmAYh3ndtp4lUr7XN88v1dtETr39Tzw98uh2WDY9ECwa4chh+3QUf3L HDzG55/4OHChl9BDSRtDOHChX7rAyO0/PtfFuc4Sjcvk49B5Sc25fF/L2Ne+4EwmpeCo 5R1a0VO9C69EmDSgyD3hO4vl+zcUbmSeew9KNh8p0tAP6u6PS1MeKpQ2VDtMMpvXLtfF PhoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=TYhzSVKUDpLO5qzT7uCRflR3opGrP+S6W5tbmidrrvM=; b=fAzUlNRe1JDqilE9uF9KFfQrm1JtG0Eh1IlfrFi7t10Ei+5k8rlbPWvC8q7nkLir2d WMwdy+n7Rem7X6islr07t6fcHCWLTiQFVI/c+W41UeFSK988s3eLf60mzbNaw9PvW55i BaYPzHSJK8mY77HW1FIVgJy58j8rPGqmoaLD7jDD6TKGV0QPBAKygd7uR+aVcbEnfQu2 EfKwTUM5phZaWhG+iYedOhXIktDDmdywt7VNQrr+H7BXluF6fLgNUiBqvLDXlzMJJc4b rCv33OifqSZJ9r2eBtmYQjAASSSIZASWpl5HoLZ5z4HrjPDfiOwHD0woGLCmvqcRbEaI eFMA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=HDi832Mr; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k12-20020a63560c000000b00456f7329d13si76109pgb.279.2022.10.13.11.06.38; Thu, 13 Oct 2022 11:06:50 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=HDi832Mr; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231280AbiJMSGF (ORCPT + 99 others); Thu, 13 Oct 2022 14:06:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35824 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231239AbiJMSDv (ORCPT ); Thu, 13 Oct 2022 14:03:51 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E294B15B334; Thu, 13 Oct 2022 11:03:36 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id C0AE66194D; Thu, 13 Oct 2022 18:00:32 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8211BC433B5; Thu, 13 Oct 2022 18:00:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665684032; bh=IxQ0xOPd/CgxYSCw3RHLoSKvbRbv71Q5pnfxySmwIXg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HDi832MrhVajrwc/qZQstyp4UhkTSjpSDJg3gIvzuRECDxhKeZEJEKf6QHR32lYxw UzUp4XZJaC63j7ugcf0AS7StpnCfWiWoG9wa9vQAbNc1OqCOHA9/s1vnL5EiS99QkU 2UUkbNA1JJE9CNTvrYYmufHbwoJdtA0swRYFCYtg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Kees Cook , Johannes Berg Subject: [PATCH 5.19 21/33] wifi: cfg80211/mac80211: reject bad MBSSID elements Date: Thu, 13 Oct 2022 19:52:53 +0200 Message-Id: <20221013175145.987965400@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746596696428422619?= X-GMAIL-MSGID: =?utf-8?q?1746596696428422619?= From: Johannes Berg commit 8f033d2becc24aa6bfd2a5c104407963560caabc upstream. Per spec, the maximum value for the MaxBSSID ('n') indicator is 8, and the minimum is 1 since a multiple BSSID set with just one BSSID doesn't make sense (the # of BSSIDs is limited by 2^n). Limit this in the parsing in both cfg80211 and mac80211, rejecting any elements with an invalid value. This fixes potentially bad shifts in the processing of these inside the cfg80211_gen_new_bssid() function later. I found this during the investigation of CVE-2022-41674 fixed by the previous patch. Fixes: 0b8fb8235be8 ("cfg80211: Parsing of Multiple BSSID information in scanning") Fixes: 78ac51f81532 ("mac80211: support multi-bssid") Reviewed-by: Kees Cook Signed-off-by: Johannes Berg Signed-off-by: Greg Kroah-Hartman --- net/mac80211/util.c | 2 ++ net/wireless/scan.c | 2 ++ 2 files changed, 4 insertions(+) --- a/net/mac80211/util.c +++ b/net/mac80211/util.c @@ -1439,6 +1439,8 @@ static size_t ieee802_11_find_bssid_prof for_each_element_id(elem, WLAN_EID_MULTIPLE_BSSID, start, len) { if (elem->datalen < 2) continue; + if (elem->data[0] < 1 || elem->data[0] > 8) + continue; for_each_element(sub, elem->data + 1, elem->datalen - 1) { u8 new_bssid[ETH_ALEN]; --- a/net/wireless/scan.c +++ b/net/wireless/scan.c @@ -2143,6 +2143,8 @@ static void cfg80211_parse_mbssid_data(s for_each_element_id(elem, WLAN_EID_MULTIPLE_BSSID, ie, ielen) { if (elem->datalen < 4) continue; + if (elem->data[0] < 1 || (int)elem->data[0] > 8) + continue; for_each_element(sub, elem->data + 1, elem->datalen - 1) { u8 profile_len; From patchwork Thu Oct 13 17:52:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2277 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp421974wrs; Thu, 13 Oct 2022 11:35:06 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4YYyiTYTz2ttWjma4pdag2DE9IiXGF+PttmZicxybRf1DO86QJQ15YuhOtal24uCMARn5w X-Received: by 2002:a17:907:c10:b0:78d:fd66:8d63 with SMTP id ga16-20020a1709070c1000b0078dfd668d63mr805261ejc.3.1665686106665; Thu, 13 Oct 2022 11:35:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665686106; cv=none; d=google.com; s=arc-20160816; b=uV8jKMPKd908scik+da5sQ49SWvWGVJY/QbavwkU2+rmCWDb+cXqLIziSqYv764qOA JaOdM77GUM3dUwGfjLxklxbUQyF+8sVP3MBKNelQeY4E/w0LcG88Cq65GMCrf/c5NMOu 4SakwqCDFdNOTNpX0HX1hsTJWDGj0TS3WskH8TEjAl9idvieK9I8W/FiTluLzoFniLY8 R7vqXuHO2mPksE5+hzlC9nheATGvila405WQz6ontWvOYt1E0vE/pkhqpiXGIHbcj7Rb PNpHHqRCNPwwHlXr+jV2/IBWeYpaFA278mfCHWQdHLjucRBhi15IN+Kx+4Uq+Jsl5PAz ZopQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=FGX5hjdFUAV5+kHnF4nTphpEH17vBbEEEYSfPXFZUII=; b=f/++/xS2x3595nWVYWRssjrHhm/Ltmw2ckOdonV04ad3EZ7d22d4P2feND15L/BmrH g/9J7r1JbcL8q/R4eHj8Z3RnIeZaQUBRkElE+hhIrs4+DU9yeC2LnQx4X0KkS1e+Id5U gRBOxH5LPip3Cc6ZRQGju317Iv2n7Iwmnm1s9eqBXpfHzLtfXTUhIr9XavfzZ9BWJYiq DAV2F28lySsbK/Z2Wheq9xBUMPzCVzttDm39BbMQ4K3TX4Qbrg8EiStxQN4+4S8i0VJb vAQNLNAHn10FPhknrQSt+9QjOf4CNAj0IWASBnfQ0c7lLPS0NQAb29M3qVVB9aHG43pg fypw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="pV9DJ7/h"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b18-20020a1709065e5200b00781ea213f99si336242eju.173.2022.10.13.11.34.39; Thu, 13 Oct 2022 11:35:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="pV9DJ7/h"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232050AbiJMSc0 (ORCPT + 99 others); Thu, 13 Oct 2022 14:32:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52736 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232029AbiJMScE (ORCPT ); Thu, 13 Oct 2022 14:32:04 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2F363194216; Thu, 13 Oct 2022 11:28:06 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 7D56AB8206C; Thu, 13 Oct 2022 18:00:36 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A8AABC433C1; Thu, 13 Oct 2022 18:00:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665684035; bh=iFDYfkZv+13hUjNnwoj0yShUJzr5cGRa6UiH4O+3Hu8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pV9DJ7/h7FGsGGF8d4EaYUWod/kjDVjxjAjTD/qG4kmM2x/Q9YzRdZ11gKkCJt5ZI 1r3SfpIpP+SM5AS0BeZRbVi42as1DiZ60hP7kIs1QG0FUht6LjaT60uNP7UshnzQi2 TxHs7GWvlkrWBt2vs2W5y9+dtq0F3OtOUkVqs7yA= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ilan Peer , Kees Cook , Johannes Berg Subject: [PATCH 5.19 22/33] wifi: mac80211: fix MBSSID parsing use-after-free Date: Thu, 13 Oct 2022 19:52:54 +0200 Message-Id: <20221013175146.021304834@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746598475013691315?= X-GMAIL-MSGID: =?utf-8?q?1746598475013691315?= From: Johannes Berg commit ff05d4b45dd89b922578dac497dcabf57cf771c6 upstream. When we parse a multi-BSSID element, we might point some element pointers into the allocated nontransmitted_profile. However, we free this before returning, causing UAF when the relevant pointers in the parsed elements are accessed. Fix this by not allocating the scratch buffer separately but as part of the returned structure instead, that way, there are no lifetime issues with it. The scratch buffer introduction as part of the returned data here is taken from MLO feature work done by Ilan. This fixes CVE-2022-42719. Fixes: 5023b14cf4df ("mac80211: support profile split between elements") Co-developed-by: Ilan Peer Signed-off-by: Ilan Peer Reviewed-by: Kees Cook Signed-off-by: Johannes Berg Signed-off-by: Greg Kroah-Hartman --- net/mac80211/ieee80211_i.h | 8 ++++++++ net/mac80211/util.c | 31 ++++++++++++++++--------------- 2 files changed, 24 insertions(+), 15 deletions(-) --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h @@ -1640,6 +1640,14 @@ struct ieee802_11_elems { /* whether a parse error occurred while retrieving these elements */ bool parse_error; + + /* + * scratch buffer that can be used for various element parsing related + * tasks, e.g., element de-fragmentation etc. + */ + size_t scratch_len; + u8 *scratch_pos; + u8 scratch[]; }; static inline struct ieee80211_local *hw_to_local( --- a/net/mac80211/util.c +++ b/net/mac80211/util.c @@ -1503,25 +1503,28 @@ struct ieee802_11_elems *ieee802_11_pars const struct element *non_inherit = NULL; u8 *nontransmitted_profile; int nontransmitted_profile_len = 0; + size_t scratch_len = len; - elems = kzalloc(sizeof(*elems), GFP_ATOMIC); + elems = kzalloc(sizeof(*elems) + scratch_len, GFP_ATOMIC); if (!elems) return NULL; elems->ie_start = start; elems->total_len = len; + elems->scratch_len = scratch_len; + elems->scratch_pos = elems->scratch; - nontransmitted_profile = kmalloc(len, GFP_ATOMIC); - if (nontransmitted_profile) { - nontransmitted_profile_len = - ieee802_11_find_bssid_profile(start, len, elems, - transmitter_bssid, - bss_bssid, - nontransmitted_profile); - non_inherit = - cfg80211_find_ext_elem(WLAN_EID_EXT_NON_INHERITANCE, - nontransmitted_profile, - nontransmitted_profile_len); - } + nontransmitted_profile = elems->scratch_pos; + nontransmitted_profile_len = + ieee802_11_find_bssid_profile(start, len, elems, + transmitter_bssid, + bss_bssid, + nontransmitted_profile); + elems->scratch_pos += nontransmitted_profile_len; + elems->scratch_len -= nontransmitted_profile_len; + non_inherit = + cfg80211_find_ext_elem(WLAN_EID_EXT_NON_INHERITANCE, + nontransmitted_profile, + nontransmitted_profile_len); crc = _ieee802_11_parse_elems_crc(start, len, action, elems, filter, crc, non_inherit); @@ -1550,8 +1553,6 @@ struct ieee802_11_elems *ieee802_11_pars offsetofend(struct ieee80211_bssid_index, dtim_count)) elems->dtim_count = elems->bssid_index->dtim_count; - kfree(nontransmitted_profile); - elems->crc = crc; return elems; From patchwork Thu Oct 13 17:52:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2239 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp412952wrs; Thu, 13 Oct 2022 11:12:00 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4AenBK9uX/xCjV+HQUpeHX5/Ne2j0IbOaHeJnXOt7eHv5aNMuUe8Hdn9ENFlVbYOj34noV X-Received: by 2002:a17:902:f355:b0:180:bdc5:4cf4 with SMTP id q21-20020a170902f35500b00180bdc54cf4mr916801ple.15.1665684720607; Thu, 13 Oct 2022 11:12:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665684720; cv=none; d=google.com; s=arc-20160816; b=rMWqPynUncJnGzKdkwfRBZdXJQjyr+DFT2MBwhUp/JOA5/VVwpUPFwlLRtqh5mgi8G DzF1mM+0yAYwm5Cy98FIv7XyrEw3ajy/i7GZ6qD2fQ/Mfm2eJW0RyXwzB1sKU7OhxTQD sGWTaRw4kf2c0cZKrqInVjcjMisr00TM7jyLjTnjv3Hzi+eg3/MUdegCPKtH3ZCfuA9s TqKMP3DIvCdYWEC9ow/gPsJWeeO/abEZPKADS+YJee+ZeHktD1RHSIousMShi9oJyfii hy51tqk/CCKI0wJklcHFw6MZbR/wga1ofG3U8+ErpCv+Jmr7ux0DgX9WfJ7RsR2eenk+ GwNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=+sj+1pjDe2qwAtycRwj/aoNEuIQNSsbr+6RKm1o559g=; b=s5IkUJSo7r0m9MmkwTbev8noMAGBCCbVbEaQEKK1QJHZO3n6dDIhAaKNB2H1chdFbS ZBkDV5V8u9F5IslZ/+oZs7r5Gpsf5dq2zYN56DICguqmrbEEDp0klYHPvv3hd0u/J+QD eUsbWUqQv3S7G+E9UdoCDJZHVW6wdI6RACZTRcCJQJHYhgo0sV1qGrf8MEbnv8rgBUSQ jcbY9uZIPIq3arxjcBP8dJyyIShGxs/7DENBswP8UybHHcwRv2YtUuT/rrVE2barW9NA mMFmAzdOyD5XM8HT7W1LdHEsv46c+QVnTbsNpIYprdzjDpdJdzF75lea0slBkuQYwc2m zrZg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=nBO1QCCB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h2-20020a056a00170200b0053e5ac66c3csi95299pfc.38.2022.10.13.11.11.47; Thu, 13 Oct 2022 11:12:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=nBO1QCCB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231350AbiJMSLc (ORCPT + 99 others); Thu, 13 Oct 2022 14:11:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34878 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231536AbiJMSKf (ORCPT ); Thu, 13 Oct 2022 14:10:35 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CD132402CE; Thu, 13 Oct 2022 11:07:54 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 3F52EB8206B; Thu, 13 Oct 2022 18:00:39 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A0606C433C1; Thu, 13 Oct 2022 18:00:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665684038; bh=7ADSkhJgMzgbvEfxkGhKSmMII+dlmQ0WYUlz4phgh+4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nBO1QCCBOucbVd6BnykPgv/bfpu+AC4kkyWTVhKMg7FfsbpVBRL8ohwAGyuqX2ef1 PT5ixYImrOUf1qLGkbSjR2NSB845BadCz5O28yDRHk75Co1ErNpnN4ibhmAMyjs9ty TAm7d0NFaorhP8lib0vhwwOCDXE5JAorfAwTbows= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Soenke Huster , Johannes Berg Subject: [PATCH 5.19 23/33] wifi: cfg80211: ensure length byte is present before access Date: Thu, 13 Oct 2022 19:52:55 +0200 Message-Id: <20221013175146.048460185@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746597021181042070?= X-GMAIL-MSGID: =?utf-8?q?1746597021181042070?= From: Johannes Berg commit 567e14e39e8f8c6997a1378bc3be615afca86063 upstream. When iterating the elements here, ensure the length byte is present before checking it to see if the entire element will fit into the buffer. Longer term, we should rewrite this code using the type-safe element iteration macros that check all of this. Fixes: 0b8fb8235be8 ("cfg80211: Parsing of Multiple BSSID information in scanning") Reported-by: Soenke Huster Signed-off-by: Johannes Berg Signed-off-by: Greg Kroah-Hartman --- net/wireless/scan.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) --- a/net/wireless/scan.c +++ b/net/wireless/scan.c @@ -304,7 +304,8 @@ static size_t cfg80211_gen_new_ie(const tmp_old = cfg80211_find_ie(WLAN_EID_SSID, ie, ielen); tmp_old = (tmp_old) ? tmp_old + tmp_old[1] + 2 : ie; - while (tmp_old + tmp_old[1] + 2 - ie <= ielen) { + while (tmp_old + 2 - ie <= ielen && + tmp_old + tmp_old[1] + 2 - ie <= ielen) { if (tmp_old[0] == 0) { tmp_old++; continue; @@ -364,7 +365,8 @@ static size_t cfg80211_gen_new_ie(const * copied to new ie, skip ssid, capability, bssid-index ie */ tmp_new = sub_copy; - while (tmp_new + tmp_new[1] + 2 - sub_copy <= subie_len) { + while (tmp_new + 2 - sub_copy <= subie_len && + tmp_new + tmp_new[1] + 2 - sub_copy <= subie_len) { if (!(tmp_new[0] == WLAN_EID_NON_TX_BSSID_CAP || tmp_new[0] == WLAN_EID_SSID)) { memcpy(pos, tmp_new, tmp_new[1] + 2); From patchwork Thu Oct 13 17:52:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2286 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp425540wrs; Thu, 13 Oct 2022 11:44:24 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5hZCJys6WvdjoKh1m/sE7VYuEJAHmAJQgCcXprP9+1MwJrJ5wig03SybvWchakDLen+Pic X-Received: by 2002:a17:902:ef89:b0:17f:8097:83bb with SMTP id iz9-20020a170902ef8900b0017f809783bbmr1041196plb.20.1665686664424; Thu, 13 Oct 2022 11:44:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665686664; cv=none; d=google.com; s=arc-20160816; b=lpQo0gmLIrXJjkof78OFCt+LDSr+ktub3vWiGk5i9UazI1jN0xke2Xn9znMMnCt5gX E+r3BtEVor9szyvlji6j4Et0pUpVCVeDOL1q2V0zvoN4NVf4UReUHmngKakpKdFQ/Ks+ 7QMTUnwxWIzeAU1twL7xc6HU9DAPQA75LD8gQPEs5F7t/ILc82PQcTX/QAJr1VrvKNv9 nzMad317tdQOY1ENFihK8uVDTQNkhBDYvv++tCoQ5b1gbfF/Mt9Kd9nug9sgTiKjxvOR 8Zd/c4Ef9Ticle+nTMxKYe/rzRDIMEnXUZoj5exnHR2dlYEsc4OUeXdVUDpXwoP+gwlm P6+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=6qtI4ewGAghKNg6M5lurU+D80RYsSRe1CLfXYibzRkM=; b=jvQnRnBQyydQTSULwdyb8rhGgc2X9La92sx3byGaBOTJUfJLxTQpfWKED8/3VzXvzO OrKcLYotCEWRRKdUsgQa0N5epQ0k3j86pkNzqTE3x5ODuHyIjts3B6Y5DF+Ob6vgyf6G sGPB/MmtwqcXFG8yKjzokJf+fKsFT9XBO8N6LUH9R3+nHkHMHfp9ys3avd+ZaRv5uaQU NFAv76uhh7pc27PyXG34bAAKG7ro21/wJ5CS1XG1CPnfLCnQrQe7383w/9Gl2Wl7f9su yL1Ne7m7LEifcl4oSslckz7Ak3Rif2Lb39QR+yQziKJBY7WDP0YXU2fBggovVsJCEt7M nBxA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=w4MxXcHO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z20-20020aa78894000000b0053e7495a394si172440pfe.141.2022.10.13.11.44.10; Thu, 13 Oct 2022 11:44:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=w4MxXcHO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231866AbiJMS1c (ORCPT + 99 others); Thu, 13 Oct 2022 14:27:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36586 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229646AbiJMS1H (ORCPT ); Thu, 13 Oct 2022 14:27:07 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4995F18811C; Thu, 13 Oct 2022 11:22:51 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 0C5ECB8206D; Thu, 13 Oct 2022 18:00:42 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5DA34C433C1; Thu, 13 Oct 2022 18:00:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665684040; bh=GLtAHWxXyJx3NijczFxtqRQxyiQ/itl74fwTwCHfKGk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=w4MxXcHO5wllpIw8nOarbLHH+1koEZ/Cfyxm8eZo4/lUC/Fg/FfFTAs1iSscVe9ZV NX0dDdvPrD9IXcC4LsKlQpY7kikJ8B+5Bv3cKdHylMC/wojE024ydo5WS12jTUEEIh DAlxj61pK+d9jh/DwftsT5UYMrZnkVCUX7uGlJf8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, =?utf-8?q?S=C3=B6nke_Huster?= , Johannes Berg Subject: [PATCH 5.19 24/33] wifi: cfg80211: fix BSS refcounting bugs Date: Thu, 13 Oct 2022 19:52:56 +0200 Message-Id: <20221013175146.079038869@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746599060115426672?= X-GMAIL-MSGID: =?utf-8?q?1746599060115426672?= From: Johannes Berg commit 0b7808818cb9df6680f98996b8e9a439fa7bcc2f upstream. There are multiple refcounting bugs related to multi-BSSID: - In bss_ref_get(), if the BSS has a hidden_beacon_bss, then the bss pointer is overwritten before checking for the transmitted BSS, which is clearly wrong. Fix this by using the bss_from_pub() macro. - In cfg80211_bss_update() we copy the transmitted_bss pointer from tmp into new, but then if we release new, we'll unref it erroneously. We already set the pointer and ref it, but need to NULL it since it was copied from the tmp data. - In cfg80211_inform_single_bss_data(), if adding to the non- transmitted list fails, we unlink the BSS and yet still we return it, but this results in returning an entry without a reference. We shouldn't return it anyway if it was broken enough to not get added there. This fixes CVE-2022-42720. Reported-by: Sönke Huster Tested-by: Sönke Huster Fixes: a3584f56de1c ("cfg80211: Properly track transmitting and non-transmitting BSS") Signed-off-by: Johannes Berg Signed-off-by: Greg Kroah-Hartman --- net/wireless/scan.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) --- a/net/wireless/scan.c +++ b/net/wireless/scan.c @@ -143,18 +143,12 @@ static inline void bss_ref_get(struct cf lockdep_assert_held(&rdev->bss_lock); bss->refcount++; - if (bss->pub.hidden_beacon_bss) { - bss = container_of(bss->pub.hidden_beacon_bss, - struct cfg80211_internal_bss, - pub); - bss->refcount++; - } - if (bss->pub.transmitted_bss) { - bss = container_of(bss->pub.transmitted_bss, - struct cfg80211_internal_bss, - pub); - bss->refcount++; - } + + if (bss->pub.hidden_beacon_bss) + bss_from_pub(bss->pub.hidden_beacon_bss)->refcount++; + + if (bss->pub.transmitted_bss) + bss_from_pub(bss->pub.transmitted_bss)->refcount++; } static inline void bss_ref_put(struct cfg80211_registered_device *rdev, @@ -1741,6 +1735,8 @@ cfg80211_bss_update(struct cfg80211_regi new->refcount = 1; INIT_LIST_HEAD(&new->hidden_list); INIT_LIST_HEAD(&new->pub.nontrans_list); + /* we'll set this later if it was non-NULL */ + new->pub.transmitted_bss = NULL; if (rcu_access_pointer(tmp->pub.proberesp_ies)) { hidden = rb_find_bss(rdev, tmp, BSS_CMP_HIDE_ZLEN); @@ -2023,10 +2019,15 @@ cfg80211_inform_single_bss_data(struct w spin_lock_bh(&rdev->bss_lock); if (cfg80211_add_nontrans_list(non_tx_data->tx_bss, &res->pub)) { - if (__cfg80211_unlink_bss(rdev, res)) + if (__cfg80211_unlink_bss(rdev, res)) { rdev->bss_generation++; + res = NULL; + } } spin_unlock_bh(&rdev->bss_lock); + + if (!res) + return NULL; } trace_cfg80211_return_bss(&res->pub); From patchwork Thu Oct 13 17:52:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2304 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp428663wrs; Thu, 13 Oct 2022 11:52:36 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7N3UEYEfjBfOQ10OZF360Z1YD56CyaAMzhoImDvaJNDREHMllFnV+xWsoVvN8XRVRwr1Cb X-Received: by 2002:a17:90b:1b42:b0:20d:6ddd:9ed2 with SMTP id nv2-20020a17090b1b4200b0020d6ddd9ed2mr13185684pjb.232.1665687155936; Thu, 13 Oct 2022 11:52:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665687155; cv=none; d=google.com; s=arc-20160816; b=XKInO+CiON/c1Hk3pnu9tyCVZLWYIfRBmYXCF+RrI23KG44aWKe8UdV4MD2WKeum43 BD6y1yxKVHigXp6VlgfOklxHmIinqeE/tAMEzDW+X6Cl8uSHV1cFAyDJNmZ8vNI/+Oe5 gf1upea5RS1wNjnVGcFPBBIL4UKmRXn4hvnWF0VOSnhp68gOK3aIFVFbcYleRnHc6T2u gmvz2OFnhEkKE+3sef1/jzSkNy8wRuLt9ENc8soY3ZO1H+tUzZuSYJTWwhKy/iUzQWbP Sk6H5XX5AUp2Rg2U3fHfc5DfoDyuOel8SjLWYz13+ItUeFhmi+jvzvwSOt1Ewmzq/+lB TJEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=dv3Kk0DV/VYeKP/SkwjmD9vtZ6ZgGQfYtEu9WsCBeMk=; b=Chl0Rcjh3HWW8lv/PJvHmK3HKQ4ndsMUGTZpYCIqIO6wCi8PA1isU1K9d7hOh4IH6g 6VZCT70D6s66h5/vwiw8FMuUc2Y0kLEW9n70aU0zilbE8uZD0Wc+5Ai8hht4laXPBIcD 6mbYc/yzNNZXno1Te9vtEO+bPvaHN2eQNMOo1K2tpbmvTo3JX0xlda4qXiblBJcuA5Q/ oTTmjCSdrUyMyQ+fWC0ZMeVWKXcZxafzNoqn/P+gKaVApi1QYjN1r4oh+9STJZ/HukVb 2gPWr3Yu7en+lD3BtrEFRPXnp40RNHPh4VtyTTBgcHXEFyMGI5G5RWcpcMtaqHQ9OuST 8TPA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=XupFSdca; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id fr2-20020a17090ae2c200b0020d4f2e056csi241554pjb.151.2022.10.13.11.52.22; Thu, 13 Oct 2022 11:52:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=XupFSdca; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231386AbiJMSlJ (ORCPT + 99 others); Thu, 13 Oct 2022 14:41:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44860 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231598AbiJMSku (ORCPT ); Thu, 13 Oct 2022 14:40:50 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DD1E2558ED; Thu, 13 Oct 2022 11:38:25 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 6403561937; Thu, 13 Oct 2022 17:59:54 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 68E13C433D6; Thu, 13 Oct 2022 17:59:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665683993; bh=SsMZnV5IRg+VfGQh81XQuLjXEJU1N9vepNOsf1+r8VU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XupFSdcanVoqBrR3ZUeCjq/jIhRjzuktdqfchbKbArkX+6LFO4Ye7YxnI6S11TOjt VEev7W4um+iv8xqeNcJpqSqxIOwviN9C4KJeI8cH+HWhl/N0TtB1Kj/+ADCJlyoi8l +hMmv+MUYs5V88OF4hk5ueGNeMdjB/ds01wCbebc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, =?utf-8?q?S=C3=B6nke_Huster?= , Johannes Berg Subject: [PATCH 5.19 25/33] wifi: cfg80211: avoid nontransmitted BSS list corruption Date: Thu, 13 Oct 2022 19:52:57 +0200 Message-Id: <20221013175146.112157722@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746599575104241025?= X-GMAIL-MSGID: =?utf-8?q?1746599575104241025?= From: Johannes Berg commit bcca852027e5878aec911a347407ecc88d6fff7f upstream. If a non-transmitted BSS shares enough information (both SSID and BSSID!) with another non-transmitted BSS of a different AP, then we can find and update it, and then try to add it to the non-transmitted BSS list. We do a search for it on the transmitted BSS, but if it's not there (but belongs to another transmitted BSS), the list gets corrupted. Since this is an erroneous situation, simply fail the list insertion in this case and free the non-transmitted BSS. This fixes CVE-2022-42721. Reported-by: Sönke Huster Tested-by: Sönke Huster Fixes: 0b8fb8235be8 ("cfg80211: Parsing of Multiple BSSID information in scanning") Signed-off-by: Johannes Berg Signed-off-by: Greg Kroah-Hartman --- net/wireless/scan.c | 9 +++++++++ 1 file changed, 9 insertions(+) --- a/net/wireless/scan.c +++ b/net/wireless/scan.c @@ -423,6 +423,15 @@ cfg80211_add_nontrans_list(struct cfg802 rcu_read_unlock(); + /* + * This is a bit weird - it's not on the list, but already on another + * one! The only way that could happen is if there's some BSSID/SSID + * shared by multiple APs in their multi-BSSID profiles, potentially + * with hidden SSID mixed in ... ignore it. + */ + if (!list_empty(&nontrans_bss->nontrans_list)) + return -EINVAL; + /* add to the list */ list_add_tail(&nontrans_bss->nontrans_list, &trans_bss->nontrans_list); return 0; From patchwork Thu Oct 13 17:52:58 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2208 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp410586wrs; Thu, 13 Oct 2022 11:06:55 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4dFxF0jZOtacFEfb0JO3d+29dj0j+V7hr17Lhsj05tjzwwl9lPMpJaPHtLSF6xEb0MKhem X-Received: by 2002:a63:5144:0:b0:43b:ed4b:224 with SMTP id r4-20020a635144000000b0043bed4b0224mr977430pgl.594.1665684415416; Thu, 13 Oct 2022 11:06:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665684415; cv=none; d=google.com; s=arc-20160816; b=SXGYSEZIdjDZFjuV9IaZrcQP0TSBl76O6Xz/n7kW1035FxEY0CA+v+Kt4yX8uMmyZ5 a94n2RZ9CYgqSt3lnvDpL0NR7FwHQa/61+I6jOhCRu4ey3g/l+dKwThxlQNV9+ylwGxX M7h0MV+H+XiXnHLhAnaTKXkLPgigNe7c5y/WLvEZbMI/OJfIqGbWDYEF0qwZOGs7Jhec Mv5LsrwGOVfiITqTygfMd7XWja16jLRH6rXfio5E+d1dAWtmp0WvkMeXdDBEUlk+/66w Bn7INDaIlcwoXRiYj1KWwtCupUOFZpKqYFwHjRcxfBn9CAQ+znMv/Y3jRIaisNnFX5Wo Phyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=sE9n5fneI6soQSlDKUac9znIuwjw8pX/rbeM/J2hr4E=; b=T/NLN+wvjVgBzVzmYSQqQ4pSX/HLmviu3ZQgqiK25gb+ueylg2GTWeX27gGoFHrmLL z0zojlrte4Fn53ia1ueKkKyCTBTxQpRMhYR8uJBcGRpvELeNuFcZPh1ehpHzNPTEOzG3 vmJeaiQXpztW6LplTGiq/Nw6nx8+gjNMDVA686SLHWy9Fa7oxKPQMRqswRnXAN/21+MQ IQn12t/tW7X+MzW9gzaXpofVC4+FSBOAtSDuUSDoI4lGHjvWblFodpks/bm9VrFtOZjC KTXWEbRyxxAPGaXn+sWzuocEBiE9rTHzNT0wMTi/cMUhEwdbemOxT0jmfr0L+MXk9mMX 4cvQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=qvTnogA4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b3-20020a17090a7ac300b0020ac15764f6si177187pjl.176.2022.10.13.11.06.43; Thu, 13 Oct 2022 11:06:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=qvTnogA4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231477AbiJMSG0 (ORCPT + 99 others); Thu, 13 Oct 2022 14:06:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36804 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231388AbiJMSEQ (ORCPT ); Thu, 13 Oct 2022 14:04:16 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 524D3659EF; Thu, 13 Oct 2022 11:04:03 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id DB4D0B82052; Thu, 13 Oct 2022 17:59:57 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 391ABC433D6; Thu, 13 Oct 2022 17:59:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665683996; bh=Rkj3yavmHq/l2/l7pqDSO4Z4hWCdKByuzZ0zgjaB5Qg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qvTnogA4IDMxNVqOz5W/Y6oEQDkC8+JKYqXusAdmb+BdxSqx21oIQh2srKDZhzVDj UtCkEe+TAOr2WQlbeBHGfY6yTThSbAJjUFavCqrEx2QYGUDLWww58/FEri8f+SKqJr uHrQr9jl9L6ji4Yo6SXVNiGTvuQWL2EcQrzpDrLE= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, =?utf-8?q?S=C3=B6nke_Huster?= , Johannes Berg Subject: [PATCH 5.19 26/33] wifi: mac80211_hwsim: avoid mac80211 warning on bad rate Date: Thu, 13 Oct 2022 19:52:58 +0200 Message-Id: <20221013175146.140719923@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746596701307569912?= X-GMAIL-MSGID: =?utf-8?q?1746596701307569912?= From: Johannes Berg commit 1833b6f46d7e2830251a063935ab464256defe22 upstream. If the tool on the other side (e.g. wmediumd) gets confused about the rate, we hit a warning in mac80211. Silence that by effectively duplicating the check here and dropping the frame silently (in mac80211 it's dropped with the warning). Reported-by: Sönke Huster Tested-by: Sönke Huster Signed-off-by: Johannes Berg Signed-off-by: Greg Kroah-Hartman --- drivers/net/wireless/mac80211_hwsim.c | 2 ++ 1 file changed, 2 insertions(+) --- a/drivers/net/wireless/mac80211_hwsim.c +++ b/drivers/net/wireless/mac80211_hwsim.c @@ -4251,6 +4251,8 @@ static int hwsim_cloned_frame_received_n rx_status.band = channel->band; rx_status.rate_idx = nla_get_u32(info->attrs[HWSIM_ATTR_RX_RATE]); + if (rx_status.rate_idx >= data2->hw->wiphy->bands[rx_status.band]->n_bitrates) + goto out; rx_status.signal = nla_get_u32(info->attrs[HWSIM_ATTR_SIGNAL]); hdr = (void *)skb->data; From patchwork Thu Oct 13 17:52:59 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2211 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp410834wrs; Thu, 13 Oct 2022 11:07:26 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5pjqal87SMzjgLwnOUsBkjs0UyQMmcCIcKCIfbJ0/H7LhFBUzfi1VhdRPjc1W3M8bSs0hb X-Received: by 2002:a17:902:f64d:b0:178:a963:d400 with SMTP id m13-20020a170902f64d00b00178a963d400mr1154688plg.6.1665684445883; Thu, 13 Oct 2022 11:07:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665684445; cv=none; d=google.com; s=arc-20160816; b=beOhpLNw1eacrBsabboEubWFOnWmbyMP4ZiIWKKQ5DVYNuvbumrecrKBELX+r7s+tG DqHVOHs/Y1NIZsIJgktFF+TBUi4KmctkH+Ynd2tF324HsVcpE0v5rGmxsr25WBdtZWF8 J318YFmJrm7W7XBdQ2mLnPc86LoLYNpkJT2SWA4PUtQ1cyHbdUPptqi5Y5OlX6wf+I7c uc5sbMEkZxXwm5ONQz+FYkSBaeVLzwUZXljmyg6w013f2I/hT51IOSZOOTpLi4Q+3JqM xstWyM4Qx7NPBM6jA42D44AQxF1FFnv0CpPohvsGJzl4BlwkkOxmOYMBiO8+4WZLFLzX yXBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=gc21Kq2kP7log8xcKbwf7sJLzLUNB/cgqAnbYys1yzQ=; b=0RDRGIXAxMKFQh17k6v5jDUXA4lEaaQUKME/qzG0pmOej59hWNP3T2uN07dR2HaNNE zNZIFWOCLmkyS6ntPOM8bkr2Dxkw8HM5q/CDLUt3BgSUjOq4VnDxPmty1YpfQfaTm+2y MAxSLYKQQxSc8eI/qki6UoHQQGPwQJWMJ/FwmLAppSipN+e5+QfjTEWH9UCiIBu4wO4T mVNZPmIhO6Mxmx2ZEqDEPw9Gn3ehg1m/va1fwINonEz5LpsDEnrIJRlJv+6LODoF/ud0 2Zj3dejFBDjdrAtKj+5lAQRltK96l7lWza3wbyuhgTO5GFbdxSmz2N+PFWmhLvjPYI5j wDlA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=DPIs34uM; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e13-20020a170902d38d00b0017a0a815e17si317416pld.487.2022.10.13.11.07.14; Thu, 13 Oct 2022 11:07:25 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=DPIs34uM; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231228AbiJMSG6 (ORCPT + 99 others); Thu, 13 Oct 2022 14:06:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37302 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231467AbiJMSEc (ORCPT ); Thu, 13 Oct 2022 14:04:32 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1D37A152C69; Thu, 13 Oct 2022 11:04:16 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 8B9ECB8204C; Thu, 13 Oct 2022 18:00:00 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 029F7C433C1; Thu, 13 Oct 2022 17:59:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665683999; bh=Jp73yVrOmRE+jNa8WTnBD8qKwn5yRM6gc/u9VefjL6E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DPIs34uMs/LIbiRtKsG/mcnLtu/q5aMQ99/AUXHa4Cy7kZ2lXm5LrVcTQRhZnLWa6 tJoJPLzR1yoEfFabURq9eo0Mylx680TMfkAwDU98CaCejTqPpGNbdqCNfsQBNanmFm 0h1nescFmJ6odj49bpGpEklkpiBcisZQ7QxvA3lU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, =?utf-8?q?S=C3=B6nke_Huster?= , Johannes Berg Subject: [PATCH 5.19 27/33] wifi: mac80211: fix crash in beacon protection for P2P-device Date: Thu, 13 Oct 2022 19:52:59 +0200 Message-Id: <20221013175146.167857089@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746596733439810063?= X-GMAIL-MSGID: =?utf-8?q?1746596733439810063?= From: Johannes Berg commit b2d03cabe2b2e150ff5a381731ea0355459be09f upstream. If beacon protection is active but the beacon cannot be decrypted or is otherwise malformed, we call the cfg80211 API to report this to userspace, but that uses a netdev pointer, which isn't present for P2P-Device. Fix this to call it only conditionally to ensure cfg80211 won't crash in the case of P2P-Device. This fixes CVE-2022-42722. Reported-by: Sönke Huster Fixes: 9eaf183af741 ("mac80211: Report beacon protection failures to user space") Signed-off-by: Johannes Berg Signed-off-by: Greg Kroah-Hartman --- net/mac80211/rx.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -1988,10 +1988,11 @@ ieee80211_rx_h_decrypt(struct ieee80211_ if (mmie_keyidx < NUM_DEFAULT_KEYS + NUM_DEFAULT_MGMT_KEYS || mmie_keyidx >= NUM_DEFAULT_KEYS + NUM_DEFAULT_MGMT_KEYS + - NUM_DEFAULT_BEACON_KEYS) { - cfg80211_rx_unprot_mlme_mgmt(rx->sdata->dev, - skb->data, - skb->len); + NUM_DEFAULT_BEACON_KEYS) { + if (rx->sdata->dev) + cfg80211_rx_unprot_mlme_mgmt(rx->sdata->dev, + skb->data, + skb->len); return RX_DROP_MONITOR; /* unexpected BIP keyidx */ } @@ -2139,7 +2140,8 @@ ieee80211_rx_h_decrypt(struct ieee80211_ /* either the frame has been decrypted or will be dropped */ status->flag |= RX_FLAG_DECRYPTED; - if (unlikely(ieee80211_is_beacon(fc) && result == RX_DROP_UNUSABLE)) + if (unlikely(ieee80211_is_beacon(fc) && result == RX_DROP_UNUSABLE && + rx->sdata->dev)) cfg80211_rx_unprot_mlme_mgmt(rx->sdata->dev, skb->data, skb->len); From patchwork Thu Oct 13 17:53:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2228 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp412117wrs; Thu, 13 Oct 2022 11:09:59 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6Uwe0LjMKOOiwV1hBmdiiGex2OjjQufyCnEw3/7vxa4YPV8rFgIC/Ib4L6pCc/48g5B06M X-Received: by 2002:a17:90b:4b8e:b0:20a:f240:9b23 with SMTP id lr14-20020a17090b4b8e00b0020af2409b23mr1119867pjb.19.1665684599050; Thu, 13 Oct 2022 11:09:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665684599; cv=none; d=google.com; s=arc-20160816; b=0jvhfhVyDBl06M78yn/qG+aDz61egausR89t9Gkpj2Sz8IUdpBqda56uZn8TUEDjn/ Sjbt3T60Au+1h0WSiKrxrTA0m9CEiblN7RWyuQ0qTMuR8ypnI4RfTDsf8NtRIZzivH8A v9HK9EhubdznSgAm7Y+cchcMTk0Uibn/HrLB6QfCod0yjyWAQxxbr8VZNmttmqQAAUON oRYS48kcd4Ni0qIbqzS6+VvhU9tM+7Y4t/wC/u4BmzV2lK8lshmzEd+tYjFk/VCANO+/ zSMpdHcQDSt96Run6WlXzYs2819AMzZxUR0jtSbxuS7rmf5b35lyiyKbag5po0GFPxaL 5Uqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=tuNFlO5xEwx1qwA17FlNfOiBU373yUDD5hY9sp6BMwM=; b=b1sc3Kbj+J58ZuNMR8Eu2kx+WVZ41mOSATD5/lsB/N58ihswTsDO+01KMAJsxupS2u LuN3g4jeSY4b/qUI3sZYkoTNmhdP+n2ZyXDVeZufSAmMSSZFnBJxiSURonPLth9rkOg1 rKKk2DvHgn1zKqalDWa4ZamSVupJz927wOwRVM4D2j3X+y95aMP7waNTGvJH8BfEtwMH nBsDoy8Mjtfrjy/wKmOuCR4qvXyaW/fXzWu4/Dn3Yt+VCtcBmVluhdeopB6JOLKyNaUU nki0np87D2EZWpXeU1GAq7OPXdBreYB6hIRaBmmGLNiWrSSdroUo9LHvCqB87EnljI78 xUhw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=b9cpQHBB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f17-20020a170902ce9100b00176e226934dsi451876plg.367.2022.10.13.11.09.46; Thu, 13 Oct 2022 11:09:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=b9cpQHBB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231282AbiJMSJ3 (ORCPT + 99 others); Thu, 13 Oct 2022 14:09:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43102 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231811AbiJMSIv (ORCPT ); Thu, 13 Oct 2022 14:08:51 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 18787C58A9; Thu, 13 Oct 2022 11:06:31 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 83A2FB82039; Thu, 13 Oct 2022 18:00:03 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D3FF4C433C1; Thu, 13 Oct 2022 18:00:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665684002; bh=YcQbhCSPoD2UnDkliHAi/oE6U9WmvVTA8st+VYyO1o0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=b9cpQHBBPvrPyqGe5Wydz4+sDrNPajAooT13TiUpjWREXGjhvtxCpB+Z8LddCfJcF sw3w8aIZcHhJXdDaEWh8/PCX14xUWN/8LRxNC/jtathVdvitBoYxTG9MEjLT8JZIP0 z5HXmwiu8cUK6yFT8QzuOq4fBBIKtC+dqRgfkN5c= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, =?utf-8?q?S=C3=B6nke_Huster?= , Johannes Berg Subject: [PATCH 5.19 28/33] wifi: cfg80211: update hidden BSSes to avoid WARN_ON Date: Thu, 13 Oct 2022 19:53:00 +0200 Message-Id: <20221013175146.199236952@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746596894180678423?= X-GMAIL-MSGID: =?utf-8?q?1746596894180678423?= From: Johannes Berg commit c90b93b5b782891ebfda49d4e5da36632fefd5d1 upstream. When updating beacon elements in a non-transmitted BSS, also update the hidden sub-entries to the same beacon elements, so that a future update through other paths won't trigger a WARN_ON(). The warning is triggered because the beacon elements in the hidden BSSes that are children of the BSS should always be the same as in the parent. Reported-by: Sönke Huster Tested-by: Sönke Huster Fixes: 0b8fb8235be8 ("cfg80211: Parsing of Multiple BSSID information in scanning") Signed-off-by: Johannes Berg Signed-off-by: Greg Kroah-Hartman --- net/wireless/scan.c | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) --- a/net/wireless/scan.c +++ b/net/wireless/scan.c @@ -1607,6 +1607,23 @@ struct cfg80211_non_tx_bss { u8 bssid_index; }; +static void cfg80211_update_hidden_bsses(struct cfg80211_internal_bss *known, + const struct cfg80211_bss_ies *new_ies, + const struct cfg80211_bss_ies *old_ies) +{ + struct cfg80211_internal_bss *bss; + + /* Assign beacon IEs to all sub entries */ + list_for_each_entry(bss, &known->hidden_list, hidden_list) { + const struct cfg80211_bss_ies *ies; + + ies = rcu_access_pointer(bss->pub.beacon_ies); + WARN_ON(ies != old_ies); + + rcu_assign_pointer(bss->pub.beacon_ies, new_ies); + } +} + static bool cfg80211_update_known_bss(struct cfg80211_registered_device *rdev, struct cfg80211_internal_bss *known, @@ -1630,7 +1647,6 @@ cfg80211_update_known_bss(struct cfg8021 kfree_rcu((struct cfg80211_bss_ies *)old, rcu_head); } else if (rcu_access_pointer(new->pub.beacon_ies)) { const struct cfg80211_bss_ies *old; - struct cfg80211_internal_bss *bss; if (known->pub.hidden_beacon_bss && !list_empty(&known->hidden_list)) { @@ -1658,16 +1674,7 @@ cfg80211_update_known_bss(struct cfg8021 if (old == rcu_access_pointer(known->pub.ies)) rcu_assign_pointer(known->pub.ies, new->pub.beacon_ies); - /* Assign beacon IEs to all sub entries */ - list_for_each_entry(bss, &known->hidden_list, hidden_list) { - const struct cfg80211_bss_ies *ies; - - ies = rcu_access_pointer(bss->pub.beacon_ies); - WARN_ON(ies != old); - - rcu_assign_pointer(bss->pub.beacon_ies, - new->pub.beacon_ies); - } + cfg80211_update_hidden_bsses(known, new->pub.beacon_ies, old); if (old) kfree_rcu((struct cfg80211_bss_ies *)old, rcu_head); @@ -2360,6 +2367,8 @@ cfg80211_update_notlisted_nontrans(struc } else { old = rcu_access_pointer(nontrans_bss->beacon_ies); rcu_assign_pointer(nontrans_bss->beacon_ies, new_ies); + cfg80211_update_hidden_bsses(bss_from_pub(nontrans_bss), + new_ies, old); rcu_assign_pointer(nontrans_bss->ies, new_ies); if (old) kfree_rcu((struct cfg80211_bss_ies *)old, rcu_head); From patchwork Thu Oct 13 17:53:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2214 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp410970wrs; Thu, 13 Oct 2022 11:07:43 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4ZwDN3WjDcr0rlvNKunL6Z5gANHuqXtok0UOnWm/IhTuDP547vTgSTwBXc9FlmOsdqwIBx X-Received: by 2002:a17:902:d70e:b0:178:2d9d:ba7b with SMTP id w14-20020a170902d70e00b001782d9dba7bmr1213724ply.90.1665684463188; Thu, 13 Oct 2022 11:07:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665684463; cv=none; d=google.com; s=arc-20160816; b=D+qVxmsXlBE91xzGbs77QP/miEL8sfuSJbapomqJVwxBG+mQY+KRL1sqTKq+N0W/Ad aV/M2E4hz1gdC3EXBe86xbdK+38WGBa42ItqjFv+A5ypVVoUc4ThsmApuySpqUYziWai hfNeLaNyuOylsDSOXG0t9ubiGAkZRK4xp3EwmL1MPYfmjQNA3lbNSuKb9GwITtjpnbEu d4I3uKUxRe/bKfgRyForT7gPZuxbWgnRL6ThCJO/eWXB9h1h8ZKKaNS5oFXgbw2Y79IQ CuxQ96+KO+M9CEPDXkhK1QLyiXQ46nWVTHZwnbRi8/s0MZT4vD5FbPYrjJYAVCshXMiS to1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=qaWh7cQqMCexGiyovsFDcs0CMJdtexthRqEjDGfr+jY=; b=nbk62o9BiPWMjDMCS3ToWEa3obwRqjIhwG0TJNtHivFXcdwb2UvB90u1FFlf9Ldmox xqinvaVZYzYYw5dPBSxlneKJWSLgiIsnlSZLT4jbQ1jM7xOTwNYJiiuiES/bMm/THm4e Zd7v84XARyHp6Ld6BNt1AdINQHO6JNrzFQ3Rp6kXXd4SeUQmjfsImKgpW9JPUs+9Jt0Q YNQSevPCUogALAWUEnDG9iIb9smAfkvaCJtjbT35DwubYnl2hl22h8j6k3EKScy/B90G 1MsEz7p6xSFZKFMuBLjmHpD3uQIaYYLFi4qYNETfbeXqqR71DWN5BZgNs4CHA1fOetrY 7AFg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=V4N34Obj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 1-20020a621401000000b0053713b7f1casi36455pfu.155.2022.10.13.11.07.29; Thu, 13 Oct 2022 11:07:43 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=V4N34Obj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231559AbiJMSHN (ORCPT + 99 others); Thu, 13 Oct 2022 14:07:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38454 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231200AbiJMSFJ (ORCPT ); Thu, 13 Oct 2022 14:05:09 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A068E252B2; Thu, 13 Oct 2022 11:04:32 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id B587DB82040; Thu, 13 Oct 2022 18:00:06 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id F2738C433D6; Thu, 13 Oct 2022 18:00:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665684005; bh=cLMk1ar/nQON1mZgjjsdpVy1arXfNUVtd1FNGe7wHxc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=V4N34Obj/cCMaRlvCk4UglUmq2EQLafJRZsO6al4oqeu+ig9g8pV6y0FnyximbHAA 0dXhQj+zS/81O1UM5/MzJcQGt86mcQLb4+wmki2kP922rz4FrN0WKYjONAVhn0dg2C m3lH/E2ASiDoEfMAY56PI/QCHxqg/U2CXFnZrYXs= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, butt3rflyh4ck , Jeremy Kerr , "David S. Miller" Subject: [PATCH 5.19 29/33] mctp: prevent double key removal and unref Date: Thu, 13 Oct 2022 19:53:01 +0200 Message-Id: <20221013175146.233632264@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746596751784982705?= X-GMAIL-MSGID: =?utf-8?q?1746596751784982705?= From: Jeremy Kerr commit 3a732b46736cd8a29092e4b0b1a9ba83e672bf89 upstream. Currently, we have a bug where a simultaneous DROPTAG ioctl and socket close may race, as we attempt to remove a key from lists twice, and perform an unref for each removal operation. This may result in a uaf when we attempt the second unref. This change fixes the race by making __mctp_key_remove tolerant to being called on a key that has already been removed from the socket/net lists, and only performs the unref when we do the actual remove. We also need to hold the list lock on the ioctl cleanup path. This fix is based on a bug report and comprehensive analysis from butt3rflyh4ck , found via syzkaller. Cc: stable@vger.kernel.org Fixes: 63ed1aab3d40 ("mctp: Add SIOCMCTP{ALLOC,DROP}TAG ioctls for tag control") Reported-by: butt3rflyh4ck Signed-off-by: Jeremy Kerr Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- net/mctp/af_mctp.c | 23 ++++++++++++++++------- net/mctp/route.c | 10 +++++----- 2 files changed, 21 insertions(+), 12 deletions(-) --- a/net/mctp/af_mctp.c +++ b/net/mctp/af_mctp.c @@ -295,11 +295,12 @@ __must_hold(&net->mctp.keys_lock) mctp_dev_release_key(key->dev, key); spin_unlock_irqrestore(&key->lock, flags); - hlist_del(&key->hlist); - hlist_del(&key->sklist); - - /* unref for the lists */ - mctp_key_unref(key); + if (!hlist_unhashed(&key->hlist)) { + hlist_del_init(&key->hlist); + hlist_del_init(&key->sklist); + /* unref for the lists */ + mctp_key_unref(key); + } kfree_skb(skb); } @@ -373,9 +374,17 @@ static int mctp_ioctl_alloctag(struct mc ctl.tag = tag | MCTP_TAG_OWNER | MCTP_TAG_PREALLOC; if (copy_to_user((void __user *)arg, &ctl, sizeof(ctl))) { - spin_lock_irqsave(&key->lock, flags); - __mctp_key_remove(key, net, flags, MCTP_TRACE_KEY_DROPPED); + unsigned long fl2; + /* Unwind our key allocation: the keys list lock needs to be + * taken before the individual key locks, and we need a valid + * flags value (fl2) to pass to __mctp_key_remove, hence the + * second spin_lock_irqsave() rather than a plain spin_lock(). + */ + spin_lock_irqsave(&net->mctp.keys_lock, flags); + spin_lock_irqsave(&key->lock, fl2); + __mctp_key_remove(key, net, fl2, MCTP_TRACE_KEY_DROPPED); mctp_key_unref(key); + spin_unlock_irqrestore(&net->mctp.keys_lock, flags); return -EFAULT; } --- a/net/mctp/route.c +++ b/net/mctp/route.c @@ -228,12 +228,12 @@ __releases(&key->lock) if (!key->manual_alloc) { spin_lock_irqsave(&net->mctp.keys_lock, flags); - hlist_del(&key->hlist); - hlist_del(&key->sklist); + if (!hlist_unhashed(&key->hlist)) { + hlist_del_init(&key->hlist); + hlist_del_init(&key->sklist); + mctp_key_unref(key); + } spin_unlock_irqrestore(&net->mctp.keys_lock, flags); - - /* unref for the lists */ - mctp_key_unref(key); } /* and one for the local reference */ From patchwork Thu Oct 13 17:53:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2196 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp409975wrs; Thu, 13 Oct 2022 11:05:41 -0700 (PDT) X-Google-Smtp-Source: AMsMyM47jE2aETRv4QyOjkf/jgGAE0dnKTAqzMdKzB1CVG/3M9Vk5UAMw6VyAFqDArQRdKb8QfuK X-Received: by 2002:a63:5519:0:b0:457:dced:8ba1 with SMTP id j25-20020a635519000000b00457dced8ba1mr930798pgb.163.1665684341344; Thu, 13 Oct 2022 11:05:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665684341; cv=none; d=google.com; s=arc-20160816; b=gsfXgoHBTn12t0lFaASc/A6kKJA+OtelmMUqo1VJaTZ7VgES9pw0ztUjSFB7Dg8pGS qfTa8wuwYxPLnhI0IRTjr8EMKzmq5Komb2kXBMTA1Dj8dbMHvCRoqsSYxGLH2p2WKdG1 2m2Yaz8yxygcM29JX42G0w7S+C0vpXWZl21x+EX91tnQ85g3662k3RMvALxHpI+F2Ql+ n1wqmdZeHjT6GY/T5ic8CVKwwbdZrrU4GpDRHFwdelVPlBot5jMt91WP6WhrjPQf9djs munv7faJrav3paFSx0b8y566EX8KZCJ0uLpi+MQpK/upkxnRHLQCAyvZtu9xxXz6FNCB CnbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=FF+oA7C4BHy0usZcW/zh7Gm6QjQ7dJ+f1p72HLJmg80=; b=g9I8VXt7i0Xluq49tNm59GttnNNACblMeX51q4DkSs55zSjChp6BQG2bh02bBro00v IzCkgT73uc3laKiTDOup47MTwYDD0P/1Jpnfd7CJoXGOlwRwuk8Uw4YIFGkLGzb4682s tywJg/PG/dO1ni9zxOQW1/w6UCgu2C8QJ91hrfBVDFDyHOAEW7WEBUtETAym9HEHe2G0 gVTl3/C5nLdcfOs0VMfG8MQ/SbTVW4JLP3f/orFr+TVU6GHJku1lyTHZNUWnE/olHV+O TutBpT10gMFHMRs6lp4Xjjtp5s7+X/w6NSNA/ItoJv1kzItlznx1eZIQL2ZApkBkJo7G cF2w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=VZ52mhIY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v69-20020a638948000000b0045efd23abd4si19602650pgd.874.2022.10.13.11.05.28; Thu, 13 Oct 2022 11:05:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=VZ52mhIY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230520AbiJMSFG (ORCPT + 99 others); Thu, 13 Oct 2022 14:05:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34726 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230457AbiJMSDW (ORCPT ); Thu, 13 Oct 2022 14:03:22 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E6299157F45; Thu, 13 Oct 2022 11:03:18 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 6CBED61948; Thu, 13 Oct 2022 18:00:09 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id EB5A1C433D6; Thu, 13 Oct 2022 18:00:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665684008; bh=/HRpr7EII9h229SUlP4Dmlr4MvLxTEfPUsGzRLuyqhM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VZ52mhIYs22nS2pViIVxkt0A3AZ2TMC3wjsY4uVYyvaIqkvL8Ggr9vt2eU40kY4LC fU/OIdzAOql5TCmN4ovz/X7OJX9Nl7HOR50i5h9ksQzzovYLuOdw2teI1vc8xXBvoc obpHAz1vZ7JcwOYU4aSyr4nLPjLXSG9vhaQMG2/4= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jasper Poppe , Jeremy Palmer , Ruineka , Cleber de Mattos Casali , Kyle Gospodnetich , Pavel Rojtberg , Dmitry Torokhov Subject: [PATCH 5.19 30/33] Input: xpad - add supported devices as contributed on github Date: Thu, 13 Oct 2022 19:53:02 +0200 Message-Id: <20221013175146.266767921@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746596624168517606?= X-GMAIL-MSGID: =?utf-8?q?1746596624168517606?= From: Pavel Rojtberg commit b382c5e37344883dc97525d05f1f6b788f549985 upstream. This is based on multiple commits at https://github.com/paroj/xpad Cc: stable@vger.kernel.org Signed-off-by: Jasper Poppe Signed-off-by: Jeremy Palmer Signed-off-by: Ruineka Signed-off-by: Cleber de Mattos Casali Signed-off-by: Kyle Gospodnetich Signed-off-by: Pavel Rojtberg Link: https://lore.kernel.org/r/20220818154411.510308-2-rojtberg@gmail.com Signed-off-by: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman --- drivers/input/joystick/xpad.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) --- a/drivers/input/joystick/xpad.c +++ b/drivers/input/joystick/xpad.c @@ -113,6 +113,8 @@ static const struct xpad_device { u8 xtype; } xpad_device[] = { { 0x0079, 0x18d4, "GPD Win 2 X-Box Controller", 0, XTYPE_XBOX360 }, + { 0x03eb, 0xff01, "Wooting One (Legacy)", 0, XTYPE_XBOX360 }, + { 0x03eb, 0xff02, "Wooting Two (Legacy)", 0, XTYPE_XBOX360 }, { 0x044f, 0x0f00, "Thrustmaster Wheel", 0, XTYPE_XBOX }, { 0x044f, 0x0f03, "Thrustmaster Wheel", 0, XTYPE_XBOX }, { 0x044f, 0x0f07, "Thrustmaster, Inc. Controller", 0, XTYPE_XBOX }, @@ -244,6 +246,7 @@ static const struct xpad_device { { 0x0f0d, 0x0063, "Hori Real Arcade Pro Hayabusa (USA) Xbox One", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE }, { 0x0f0d, 0x0067, "HORIPAD ONE", 0, XTYPE_XBOXONE }, { 0x0f0d, 0x0078, "Hori Real Arcade Pro V Kai Xbox One", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE }, + { 0x0f0d, 0x00c5, "Hori Fighting Commander ONE", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE }, { 0x0f30, 0x010b, "Philips Recoil", 0, XTYPE_XBOX }, { 0x0f30, 0x0202, "Joytech Advanced Controller", 0, XTYPE_XBOX }, { 0x0f30, 0x8888, "BigBen XBMiniPad Controller", 0, XTYPE_XBOX }, @@ -260,6 +263,7 @@ static const struct xpad_device { { 0x1430, 0x8888, "TX6500+ Dance Pad (first generation)", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX }, { 0x1430, 0xf801, "RedOctane Controller", 0, XTYPE_XBOX360 }, { 0x146b, 0x0601, "BigBen Interactive XBOX 360 Controller", 0, XTYPE_XBOX360 }, + { 0x146b, 0x0604, "Bigben Interactive DAIJA Arcade Stick", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 }, { 0x1532, 0x0037, "Razer Sabertooth", 0, XTYPE_XBOX360 }, { 0x1532, 0x0a00, "Razer Atrox Arcade Stick", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE }, { 0x1532, 0x0a03, "Razer Wildcat", 0, XTYPE_XBOXONE }, @@ -325,6 +329,7 @@ static const struct xpad_device { { 0x24c6, 0x5502, "Hori Fighting Stick VX Alt", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 }, { 0x24c6, 0x5503, "Hori Fighting Edge", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 }, { 0x24c6, 0x5506, "Hori SOULCALIBUR V Stick", 0, XTYPE_XBOX360 }, + { 0x24c6, 0x5510, "Hori Fighting Commander ONE (Xbox 360/PC Mode)", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 }, { 0x24c6, 0x550d, "Hori GEM Xbox controller", 0, XTYPE_XBOX360 }, { 0x24c6, 0x550e, "Hori Real Arcade Pro V Kai 360", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 }, { 0x24c6, 0x551a, "PowerA FUSION Pro Controller", 0, XTYPE_XBOXONE }, @@ -334,6 +339,14 @@ static const struct xpad_device { { 0x24c6, 0x5b03, "Thrustmaster Ferrari 458 Racing Wheel", 0, XTYPE_XBOX360 }, { 0x24c6, 0x5d04, "Razer Sabertooth", 0, XTYPE_XBOX360 }, { 0x24c6, 0xfafe, "Rock Candy Gamepad for Xbox 360", 0, XTYPE_XBOX360 }, + { 0x2563, 0x058d, "OneXPlayer Gamepad", 0, XTYPE_XBOX360 }, + { 0x2dc8, 0x2000, "8BitDo Pro 2 Wired Controller fox Xbox", 0, XTYPE_XBOXONE }, + { 0x31e3, 0x1100, "Wooting One", 0, XTYPE_XBOX360 }, + { 0x31e3, 0x1200, "Wooting Two", 0, XTYPE_XBOX360 }, + { 0x31e3, 0x1210, "Wooting Lekker", 0, XTYPE_XBOX360 }, + { 0x31e3, 0x1220, "Wooting Two HE", 0, XTYPE_XBOX360 }, + { 0x31e3, 0x1300, "Wooting 60HE (AVR)", 0, XTYPE_XBOX360 }, + { 0x31e3, 0x1310, "Wooting 60HE (ARM)", 0, XTYPE_XBOX360 }, { 0x3285, 0x0607, "Nacon GC-100", 0, XTYPE_XBOX360 }, { 0x3767, 0x0101, "Fanatec Speedster 3 Forceshock Wheel", 0, XTYPE_XBOX }, { 0xffff, 0xffff, "Chinese-made Xbox Controller", 0, XTYPE_XBOX }, @@ -419,6 +432,7 @@ static const signed short xpad_abs_trigg static const struct usb_device_id xpad_table[] = { { USB_INTERFACE_INFO('X', 'B', 0) }, /* X-Box USB-IF not approved class */ XPAD_XBOX360_VENDOR(0x0079), /* GPD Win 2 Controller */ + XPAD_XBOX360_VENDOR(0x03eb), /* Wooting Keyboards (Legacy) */ XPAD_XBOX360_VENDOR(0x044f), /* Thrustmaster X-Box 360 controllers */ XPAD_XBOX360_VENDOR(0x045e), /* Microsoft X-Box 360 controllers */ XPAD_XBOXONE_VENDOR(0x045e), /* Microsoft X-Box One controllers */ @@ -429,6 +443,7 @@ static const struct usb_device_id xpad_t { USB_DEVICE(0x0738, 0x4540) }, /* Mad Catz Beat Pad */ XPAD_XBOXONE_VENDOR(0x0738), /* Mad Catz FightStick TE 2 */ XPAD_XBOX360_VENDOR(0x07ff), /* Mad Catz GamePad */ + XPAD_XBOX360_VENDOR(0x0c12), /* Zeroplus X-Box 360 controllers */ XPAD_XBOX360_VENDOR(0x0e6f), /* 0x0e6f X-Box 360 controllers */ XPAD_XBOXONE_VENDOR(0x0e6f), /* 0x0e6f X-Box One controllers */ XPAD_XBOX360_VENDOR(0x0f0d), /* Hori Controllers */ @@ -450,8 +465,12 @@ static const struct usb_device_id xpad_t XPAD_XBOXONE_VENDOR(0x20d6), /* PowerA Controllers */ XPAD_XBOX360_VENDOR(0x24c6), /* PowerA Controllers */ XPAD_XBOXONE_VENDOR(0x24c6), /* PowerA Controllers */ + XPAD_XBOX360_VENDOR(0x2563), /* OneXPlayer Gamepad */ + XPAD_XBOX360_VENDOR(0x260d), /* Dareu H101 */ + XPAD_XBOXONE_VENDOR(0x2dc8), /* 8BitDo Pro 2 Wired Controller for Xbox */ XPAD_XBOXONE_VENDOR(0x2e24), /* Hyperkin Duke X-Box One pad */ XPAD_XBOX360_VENDOR(0x2f24), /* GameSir Controllers */ + XPAD_XBOX360_VENDOR(0x31e3), /* Wooting Keyboards */ XPAD_XBOX360_VENDOR(0x3285), /* Nacon GC-100 */ { } }; From patchwork Thu Oct 13 17:53:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2278 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp422312wrs; Thu, 13 Oct 2022 11:36:04 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7njvwankiLtr0PHcxwN2EI6vO/pDMRZns5YHF8NfKokGQxZ1vzsRHJ3ZkkovB4iMjuo6ph X-Received: by 2002:a05:6402:3806:b0:450:bad8:8cd5 with SMTP id es6-20020a056402380600b00450bad88cd5mr966426edb.305.1665686164611; Thu, 13 Oct 2022 11:36:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665686164; cv=none; d=google.com; s=arc-20160816; b=n0RbTdICx6drU9wkKrbdg3nwpNgyPQ7B3adK24bWwwKz8vbcD/WCA9x95PXx8lKe+v gF9eRdtBYXqDquFfF6tJB1a9AA8wp12nG00ZmedR2SMcTH0DVIU3JGIw885g6rYZNiGr 0iFlZwbZi+08TXdUiNWsciG1gGktyprB/Vn65Lm0OUjEwAw40+L7APXRM1kZwONUa2wV p/By80Jz/xS7Bvu2WBhIx+zOtVu/TBW+Rq8x9pebtmv+XCkR6FNCHiILNE3zcW/GFusg 04gszHCVnyCstmb7uD5/B09/lLOShOeFiCB2W+1oUYLYj2dAqtcs72z3f/TDZ11eRsTC FZbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=FZ1YaeSNy/pNi3dcImhxesDJb5g81XsNXUAZ07POFWY=; b=PoYhxdJLkSfJnAjKGYM2koR8bkHQwmxs6GVgB574B7RCk6+SFicffFd01CBi8tezQj ERYdlILXxL5TQ+4Xh3Cnm0sCKOr5MaLKymrQfj7p3vtUX/ooDut1OTjwqlHWmtHO++Hg EETXB4zqCh/6rxonL6XXgKQiwrqOTVSPulGEox0phT2xXCQpFUEV7LYbLwSsB/fq8GoC fFehhJMQ+/BMYEbOWRsqae/CBM7VJrGcJNTxSCtxOqAPka9aBScL9v6tpCyv4DwpOo9D uq92l67KswNuN9Bmwl+TXJsjNBOTHgpF98CTRKAPLI+LWDmuzBKN5Cm489GlkIpp0X2u M6JA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=n0eKB41K; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id gt11-20020a1709072d8b00b00783d5a873dcsi407778ejc.341.2022.10.13.11.35.39; Thu, 13 Oct 2022 11:36:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=n0eKB41K; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231535AbiJMS1r (ORCPT + 99 others); Thu, 13 Oct 2022 14:27:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57884 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231425AbiJMS1O (ORCPT ); Thu, 13 Oct 2022 14:27:14 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4867C18A3E6; Thu, 13 Oct 2022 11:22:57 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id E7376B8205C; Thu, 13 Oct 2022 18:00:12 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 46967C433D6; Thu, 13 Oct 2022 18:00:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665684011; bh=45B25suZiRTyMNLHbM6xw8qTu27E00Fp19ufaiOX5r0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=n0eKB41KzVPCF2HFHjdqyG/G5mzHQcgLvAgFKzuxnwH1o2aNr4LnF10RcgSmxZYUj Z6JKaF75GNZLhiADHcZvYoLZsgGaYSMR6S9I3APJTICKB03leMHqb8KPT7/PlWuMhF 79OHev7cnV46XA3cmwhcufo6zO01VdKTVQvxcb7E= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Cameron Gutman , Pavel Rojtberg , Dmitry Torokhov Subject: [PATCH 5.19 31/33] Input: xpad - fix wireless 360 controller breaking after suspend Date: Thu, 13 Oct 2022 19:53:03 +0200 Message-Id: <20221013175146.298237504@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746598535988661239?= X-GMAIL-MSGID: =?utf-8?q?1746598535988661239?= From: Cameron Gutman commit a17b9841152e7f4621619902b347e2cc39c32996 upstream. Suspending and resuming the system can sometimes cause the out URB to get hung after a reset_resume. This causes LED setting and force feedback to break on resume. To avoid this, just drop the reset_resume callback so the USB core rebinds xpad to the wireless pads on resume if a reset happened. A nice side effect of this change is the LED ring on wireless controllers is now set correctly on system resume. Cc: stable@vger.kernel.org Fixes: 4220f7db1e42 ("Input: xpad - workaround dead irq_out after suspend/ resume") Signed-off-by: Cameron Gutman Signed-off-by: Pavel Rojtberg Link: https://lore.kernel.org/r/20220818154411.510308-3-rojtberg@gmail.com Signed-off-by: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman --- drivers/input/joystick/xpad.c | 1 - 1 file changed, 1 deletion(-) --- a/drivers/input/joystick/xpad.c +++ b/drivers/input/joystick/xpad.c @@ -1991,7 +1991,6 @@ static struct usb_driver xpad_driver = { .disconnect = xpad_disconnect, .suspend = xpad_suspend, .resume = xpad_resume, - .reset_resume = xpad_resume, .id_table = xpad_table, }; From patchwork Thu Oct 13 17:53:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2226 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp411989wrs; Thu, 13 Oct 2022 11:09:42 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5cp3x2/53dU57aU/ij3uESbpzjOeBn5ukgtohmwxbAxMRzRdvi1Ty/fwh6t78WLg9SQepI X-Received: by 2002:a17:90b:4a8d:b0:20d:402d:6153 with SMTP id lp13-20020a17090b4a8d00b0020d402d6153mr1199307pjb.44.1665684581988; Thu, 13 Oct 2022 11:09:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665684581; cv=none; d=google.com; s=arc-20160816; b=amjhcy8s+/vHb+jzb83LFHFUACx5TgoZv6QN7xECVPPw8C21a5WU9QkGC7VaU1C5lZ iaWIaDbq4uRpSxggrpO1iFjCYsGRE2DkMpvWqv1YHgCaCcUlzEWibuGaoPfDqSiX3S9F O07121UH+SdwEXvIlwl0EZVb72TposerAUw361iphZjdVFMdwfL61jmQ2vIZtLb0um7o auemJM6Dlcdmnwj6rAFcxQTwbHZY/mjzpje2yg5RlS9t90OLkUVWkKA1nmfALWp4cd+E nnBnh9nIEe42jHsoVTHqfy/XlZKgfqbaxO2LbCo8q58Gi6hbyzNbOizPhIqK7uDxK8j+ 6o9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=nZhZQXfCKk7bnYk3QDLtn3RiiucS6JTrEp045IGadhE=; b=PCL5pFgru/fUumFFXvqpZdKJd4pWRl4dg2KrYlU1wcQ8QQ9O0vNPUKVaVC0jNckTAI ZFceL0qaAp+4yg/Ds2pFxJvIpi7RGI+a8Jbpx6Km/gP/PHimQnPdOJXOiMQi5Tc9slAR p77hJpFkb1kgI94P+wNuQ6QB6mKC3zKlyTO1Gte4YsStHTvHpqnnrH1BU7oiHffoODL7 pEqQ3NbfpCSKJJdxMluhDzzDUQkA2blnlwiU/Vf0QFYDITzJuMax1DEBLPqydhOmJ4Jj CDeWnswf3s63Aja0ZNgPq+ThsoCYfLiMzeqEI7LbgAGo1rEMKUxvOksePMMLT791qDIH I3Yw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=pu4sKdDH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t28-20020a056a00139c00b00557eeeb099csi26009239pfg.339.2022.10.13.11.09.24; Thu, 13 Oct 2022 11:09:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=pu4sKdDH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231234AbiJMSJP (ORCPT + 99 others); Thu, 13 Oct 2022 14:09:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38452 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231664AbiJMSIU (ORCPT ); Thu, 13 Oct 2022 14:08:20 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 56F2517899; Thu, 13 Oct 2022 11:05:53 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 0FB596192F; Thu, 13 Oct 2022 18:00:15 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1A53FC433B5; Thu, 13 Oct 2022 18:00:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665684014; bh=d76VYFuP2IkY/Fd+zNHwxmqro3iVPoBaVndsGkcmcJw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pu4sKdDHDmz+USEbKtNMCD/7sr9nDlS8UXJ6rOOWxnZrhsxHzbuRzjMZ8BNjRMHL1 gh6DQupiMxNDWxImhnUqd3AUs/6ZNxxgxzv4vpoU80C681GBlH1d9GvBZ80mfB5Jq0 +mQL8E6nIJaiZrfq3LpMzM8kLH/TfM2G3wruSTfU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Shunsuke Mie , stable Subject: [PATCH 5.19 32/33] misc: pci_endpoint_test: Aggregate params checking for xfer Date: Thu, 13 Oct 2022 19:53:04 +0200 Message-Id: <20221013175146.330866983@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746596876576787705?= X-GMAIL-MSGID: =?utf-8?q?1746596876576787705?= From: Shunsuke Mie commit 3e42deaac06567c7e86d287c305ccda24db4ae3d upstream. Each transfer test functions have same parameter checking code. This patch unites those to an introduced function. Signed-off-by: Shunsuke Mie Cc: stable Link: https://lore.kernel.org/r/20220907020100.122588-1-mie@igel.co.jp Signed-off-by: Greg Kroah-Hartman --- drivers/misc/pci_endpoint_test.c | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) --- a/drivers/misc/pci_endpoint_test.c +++ b/drivers/misc/pci_endpoint_test.c @@ -332,6 +332,17 @@ static bool pci_endpoint_test_msi_irq(st return false; } +static int pci_endpoint_test_validate_xfer_params(struct device *dev, + struct pci_endpoint_test_xfer_param *param, size_t alignment) +{ + if (param->size > SIZE_MAX - alignment) { + dev_dbg(dev, "Maximum transfer data size exceeded\n"); + return -EINVAL; + } + + return 0; +} + static bool pci_endpoint_test_copy(struct pci_endpoint_test *test, unsigned long arg) { @@ -363,9 +374,11 @@ static bool pci_endpoint_test_copy(struc return false; } + err = pci_endpoint_test_validate_xfer_params(dev, ¶m, alignment); + if (err) + return false; + size = param.size; - if (size > SIZE_MAX - alignment) - goto err; use_dma = !!(param.flags & PCITEST_FLAGS_USE_DMA); if (use_dma) @@ -497,9 +510,11 @@ static bool pci_endpoint_test_write(stru return false; } + err = pci_endpoint_test_validate_xfer_params(dev, ¶m, alignment); + if (err) + return false; + size = param.size; - if (size > SIZE_MAX - alignment) - goto err; use_dma = !!(param.flags & PCITEST_FLAGS_USE_DMA); if (use_dma) @@ -595,9 +610,11 @@ static bool pci_endpoint_test_read(struc return false; } + err = pci_endpoint_test_validate_xfer_params(dev, ¶m, alignment); + if (err) + return false; + size = param.size; - if (size > SIZE_MAX - alignment) - goto err; use_dma = !!(param.flags & PCITEST_FLAGS_USE_DMA); if (use_dma) From patchwork Thu Oct 13 17:53:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 2200 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp410149wrs; Thu, 13 Oct 2022 11:06:02 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6v2RlEyumRYG8sdNVWQI3ZcqkOSV/WJbsz3mcxCu6RuW5R6HZLO3yrc6sF3zi4DHWlwcAQ X-Received: by 2002:a17:90a:1690:b0:20a:8f70:14bb with SMTP id o16-20020a17090a169000b0020a8f7014bbmr1073245pja.115.1665684362149; Thu, 13 Oct 2022 11:06:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1665684362; cv=none; d=google.com; s=arc-20160816; b=B2xVAylRR0Vw5uJ1sxInj2vYuVdCg1ZbccBQFC8iysJqSmt7BUU8aLTwf/QXK0j+wt Oj6pyxUR2KKdU3+c4wZJrxMPnKs73gXhXp94gAhiICq8s/AoDCOE/EY0JGG+CQAcWv15 1DF6ZtEsEFniDFMNUE2kP3iRo1uD0nZ24UUihwOEGKt5qD+ga3wKS2ewoGBPbvDhzykU VzTz0knJmemsnrZABguPvLrD/gfNfCoKLI+L6ubdOzUYW4pkVYM6IHtywSrFWlITrq5L ynEuixTCl6ZDXGTdnTEQpo/JBwaUeXZnK1ESPKPFzvYWZPswMomYdbXHl2Zi5Jvyh26M K93Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Ha0SroDg8oCcYjRNVcCRTHCyD5k0ka8z4g6fTvXDinE=; b=0MDWGdkf79gg/Qw3BPbaMHwRT5D3N4fd4QORVJbeXV1AfX8dndfuLH6Ap699kZpEJQ cJJ+DdEEDepCyVoLmHIul2xRMJOkNUK+bcTVNy/oG0qVLoC9eDwjpeGAHOGpZbWKkcmt m0bEl2v74bEA4dSQbiTJiRXfx7HjQ75KKI5DVSbEv2TF2YqYW5lTrQbWNll7D3gqyA3k G1i06On8RT8x+PiC2+Lk/HgBytzejWNErIL2lEj/Ti/cVCfXjZSk6Lz7OPet+IE5n7yU lvZ+wJOoN8VE7aUVsnN9zK9y4aGaWrSVfeCseIrcTdG4AzZZp3cXtF+Yx3X5/0FxxvR4 i+RQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="McXb/zTM"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k32-20020a634b60000000b004412bb6b27csi112488pgl.54.2022.10.13.11.05.49; Thu, 13 Oct 2022 11:06:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="McXb/zTM"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230408AbiJMSF1 (ORCPT + 99 others); Thu, 13 Oct 2022 14:05:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33802 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230453AbiJMSDZ (ORCPT ); Thu, 13 Oct 2022 14:03:25 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B017B152C5B; Thu, 13 Oct 2022 11:03:23 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 98B586194C; Thu, 13 Oct 2022 18:00:18 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8EBDDC433C1; Thu, 13 Oct 2022 18:00:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1665684018; bh=5ZgFuOtpNeu9B5tS5zB18GvxrieiEtS9AebSGSuoKG4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=McXb/zTMLW+MoVARBrGHY7HzF0COnrMzHAJfd6QTEAJwSZGS5FbDTH5J3G8645tyw HdMkxtqGlWL/obMdAiAI911J578YdpXYaB8MnRG3TGwcAElCJ8yGFshLYK2AKFmIiD eBIf1tdqO+B+cfbmOwWUFfGqEpGLbsqWX96ROmKA= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, stable , Shunsuke Mie Subject: [PATCH 5.19 33/33] misc: pci_endpoint_test: Fix pci_endpoint_test_{copy,write,read}() panic Date: Thu, 13 Oct 2022 19:53:05 +0200 Message-Id: <20221013175146.362156313@linuxfoundation.org> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221013175145.236739253@linuxfoundation.org> References: <20221013175145.236739253@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746596645708375982?= X-GMAIL-MSGID: =?utf-8?q?1746596645708375982?= From: Shunsuke Mie commit 8e30538eca016de8e252bef174beadecd64239f0 upstream. The dma_map_single() doesn't permit zero length mapping. It causes a follow panic. A panic was reported on arm64: [ 60.137988] ------------[ cut here ]------------ [ 60.142630] kernel BUG at kernel/dma/swiotlb.c:624! [ 60.147508] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP [ 60.152992] Modules linked in: dw_hdmi_cec crct10dif_ce simple_bridge rcar_fdp1 vsp1 rcar_vin videobuf2_vmalloc rcar_csi2 v4l 2_mem2mem videobuf2_dma_contig videobuf2_memops pci_endpoint_test videobuf2_v4l2 videobuf2_common rcar_fcp v4l2_fwnode v4l2_asyn c videodev mc gpio_bd9571mwv max9611 pwm_rcar ccree at24 authenc libdes phy_rcar_gen3_usb3 usb_dmac display_connector pwm_bl [ 60.186252] CPU: 0 PID: 508 Comm: pcitest Not tainted 6.0.0-rc1rpci-dev+ #237 [ 60.193387] Hardware name: Renesas Salvator-X 2nd version board based on r8a77951 (DT) [ 60.201302] pstate: 00000005 (nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 60.208263] pc : swiotlb_tbl_map_single+0x2c0/0x590 [ 60.213149] lr : swiotlb_map+0x88/0x1f0 [ 60.216982] sp : ffff80000a883bc0 [ 60.220292] x29: ffff80000a883bc0 x28: 0000000000000000 x27: 0000000000000000 [ 60.227430] x26: 0000000000000000 x25: ffff0004c0da20d0 x24: ffff80000a1f77c0 [ 60.234567] x23: 0000000000000002 x22: 0001000040000010 x21: 000000007a000000 [ 60.241703] x20: 0000000000200000 x19: 0000000000000000 x18: 0000000000000000 [ 60.248840] x17: 0000000000000000 x16: 0000000000000000 x15: ffff0006ff7b9180 [ 60.255977] x14: ffff0006ff7b9180 x13: 0000000000000000 x12: 0000000000000000 [ 60.263113] x11: 0000000000000000 x10: 0000000000000000 x9 : 0000000000000000 [ 60.270249] x8 : 0001000000000010 x7 : ffff0004c6754b20 x6 : 0000000000000000 [ 60.277385] x5 : ffff0004c0da2090 x4 : 0000000000000000 x3 : 0000000000000001 [ 60.284521] x2 : 0000000040000000 x1 : 0000000000000000 x0 : 0000000040000010 [ 60.291658] Call trace: [ 60.294100] swiotlb_tbl_map_single+0x2c0/0x590 [ 60.298629] swiotlb_map+0x88/0x1f0 [ 60.302115] dma_map_page_attrs+0x188/0x230 [ 60.306299] pci_endpoint_test_ioctl+0x5e4/0xd90 [pci_endpoint_test] [ 60.312660] __arm64_sys_ioctl+0xa8/0xf0 [ 60.316583] invoke_syscall+0x44/0x108 [ 60.320334] el0_svc_common.constprop.0+0xcc/0xf0 [ 60.325038] do_el0_svc+0x2c/0xb8 [ 60.328351] el0_svc+0x2c/0x88 [ 60.331406] el0t_64_sync_handler+0xb8/0xc0 [ 60.335587] el0t_64_sync+0x18c/0x190 [ 60.339251] Code: 52800013 d2e00414 35fff45c d503201f (d4210000) [ 60.345344] ---[ end trace 0000000000000000 ]--- To fix it, this patch adds a checking the payload length if it is zero. Fixes: 343dc693f7b7 ("misc: pci_endpoint_test: Prevent some integer overflows") Cc: stable Signed-off-by: Shunsuke Mie Link: https://lore.kernel.org/r/20220907020100.122588-2-mie@igel.co.jp Signed-off-by: Greg Kroah-Hartman Signed-off-by: Greg Kroah-Hartman --- drivers/misc/pci_endpoint_test.c | 5 +++++ 1 file changed, 5 insertions(+) --- a/drivers/misc/pci_endpoint_test.c +++ b/drivers/misc/pci_endpoint_test.c @@ -335,6 +335,11 @@ static bool pci_endpoint_test_msi_irq(st static int pci_endpoint_test_validate_xfer_params(struct device *dev, struct pci_endpoint_test_xfer_param *param, size_t alignment) { + if (!param->size) { + dev_dbg(dev, "Data size is zero\n"); + return -EINVAL; + } + if (param->size > SIZE_MAX - alignment) { dev_dbg(dev, "Maximum transfer data size exceeded\n"); return -EINVAL;