From patchwork Thu Jul 20 03:28:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Guenter Roeck X-Patchwork-Id: 122965 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp2865087vqt; Wed, 19 Jul 2023 20:53:59 -0700 (PDT) X-Google-Smtp-Source: APBJJlEvEFurmJF1VvFaOmgiIkmIlU2ejpST/Bcxsa4FhY6PnCU5tZvjZNMt73EP7PiEkhOYuHAR X-Received: by 2002:a05:6a00:3985:b0:673:6cb4:7b0c with SMTP id fi5-20020a056a00398500b006736cb47b0cmr5182669pfb.2.1689825239153; Wed, 19 Jul 2023 20:53:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689825239; cv=none; d=google.com; s=arc-20160816; b=t+wq5x87lLmw287v/pH6If62zaO6QbLlVGLKow2cGEX1eX67oDyVpmtK1zfS156t1q TXEXMPkKTxb1VFONdhe6nnNWWQ5eKvoRpmeFDgkLMYUp1UwjW5MM8EdFQu0JNOryRAHT pmw6mss0ximRv6YNKhludvJUX3rLLII5lUofXwYL9ucX5EEAgiCmsEHv0QdFAgTEozRL cbTZkcNY394FeW0jZP71VJIJxgyNRy+U6jlvgxbV/J9StWo+vDBuM2rYT0+mGXNmZ4mB YNsRNczJmEg4YJoRU0trJFYCI6wTiqVjXBfgm4ZzlsRaUwZichk0zChVJd3pPzdQ1u1R jU1w== 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 :message-id:date:subject:cc:to:from:sender:dkim-signature; bh=ZOBPZEd7GO5bOVU93EomlLr6fy4u0fAwVai5NlTK4qI=; fh=JuR3MKiWAj55R51kzxw12G54eDCo8KRHpj6+qbYT4gc=; b=lvWfReqg0z0OEZ0GuE0OY9x768k+3HIToQyRDuBlm4N3myUWKrdFEAilLBhomM7+9o DKTQ12iDE6ZquxGX3xZ6JfCbZvPsDoCJiZ/hEm+Q5m7VdUKe7iFs7TrOhmSHF3t7XFts SaOIoPa61igPL7BKvBWMspNjNwX4rhPTCNHOZKyRMx58o3NBOzNxA8nMY19fwcJsGWyz OqM8lttZ/mJlq/PMZTXOaY9ZYu3+bCCNz+knV/4DBv3Zl6J93o7VaWDNJT2l9bDzKAXX xtIr3muIYk/3E3YCvw9uHq0xhWYt/qWPq/szCZvo92iJCU7MhWJnaPVDjebP6AM1l2fs sFjA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=iun6+ASZ; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e2-20020a637442000000b0056350e75736si2827742pgn.529.2023.07.19.20.53.46; Wed, 19 Jul 2023 20:53: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=@gmail.com header.s=20221208 header.b=iun6+ASZ; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229825AbjGTD24 (ORCPT + 99 others); Wed, 19 Jul 2023 23:28:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44004 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229519AbjGTD2x (ORCPT ); Wed, 19 Jul 2023 23:28:53 -0400 Received: from mail-pf1-x42b.google.com (mail-pf1-x42b.google.com [IPv6:2607:f8b0:4864:20::42b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A4B3DF0 for ; Wed, 19 Jul 2023 20:28:52 -0700 (PDT) Received: by mail-pf1-x42b.google.com with SMTP id d2e1a72fcca58-666edfc50deso255979b3a.0 for ; Wed, 19 Jul 2023 20:28:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1689823732; x=1692415732; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:sender:from:to:cc:subject:date:message-id:reply-to; bh=ZOBPZEd7GO5bOVU93EomlLr6fy4u0fAwVai5NlTK4qI=; b=iun6+ASZGI0sU3iFgPFeqYBIT1wuJH7wIckALTtwON4eaY06xEGDnbZ8/AjOquEvUg B8zylO1anH8htwUTeRs4NOedNvOiz5VIdb3oXSoYSs+2RFz9LzSaVm1m4chwe5WOU6ug 0+4Z3DQVPBzryOUCJXspHjs1UrQdbhvP9DbQuvMhcW+IbibzEVBr918jWczN0pJ+s7Y8 rB1IX/JlW376iVheZvYTCKFRhy/3mtzms6ipmXybvmnL+eUh/sc1rZWX6SFg+AzFH6oR lvqGX0VYgiAWzXEQOB+q4mF2Aqx4x0Hfi0AeqmAlayGEpOipRjaV9xb11XyZYkquPBU4 dalQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689823732; x=1692415732; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:sender:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=ZOBPZEd7GO5bOVU93EomlLr6fy4u0fAwVai5NlTK4qI=; b=WEWbTAbuLEJq5+hEjNjKEpPmFMqy50zzNUNLBC7D8WPrjoBDIcvjxjmXg8vOuZRWjO BVY7zBSyBAChflIID7gf2OmW/gN8tuZVs+pw6nErkN5ff85LobGURIq9ULpFZBi+al8P WdMO7gDnjASmkPngqSOhrSOpPtuhDRt7hEQWaWuckRr1Qbr0HwiWa95U+pcKgaKqo/ot Qhn6zPTLtJDJAvKi7qoRhO98P5N3tmCBYB+tHJ5eUTY75j8Tys9Mqv1hUJ1hqqFvbGJq TZo3QU6pOEzUTpZssCFy5fJQoSby2ly78cKuFG8XvC5WQ5snAu4rwCLdrtPHWZLFVCQM G9og== X-Gm-Message-State: ABy/qLanf0JnN2J+T1cgRGdBRVVxE/s24lCbvXp+FXFmP6GYqieCsgLM KSNq09bXvpHBruzIbp+aygBxzLQ8m7c= X-Received: by 2002:a05:6a00:1988:b0:656:c971:951 with SMTP id d8-20020a056a00198800b00656c9710951mr6176601pfl.8.1689823731912; Wed, 19 Jul 2023 20:28:51 -0700 (PDT) Received: from server.roeck-us.net ([2600:1700:e321:62f0:329c:23ff:fee3:9d7c]) by smtp.gmail.com with ESMTPSA id 15-20020aa7920f000000b006829b27f252sm14713pfo.93.2023.07.19.20.28.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Jul 2023 20:28:51 -0700 (PDT) Sender: Guenter Roeck From: Guenter Roeck To: Mark Brown Cc: Greg Kroah-Hartman , "Rafael J . Wysocki" , linux-kernel@vger.kernel.org, Guenter Roeck Subject: [PATCH 1/2] regmap: Disable locking for RBTREE and MAPLE unit tests Date: Wed, 19 Jul 2023 20:28:47 -0700 Message-Id: <20230720032848.1306349-1-linux@roeck-us.net> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no 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: INBOX X-GMAIL-THRID: 1771910190025273867 X-GMAIL-MSGID: 1771910190025273867 REGCACHE_RBTREE and REGCACHE_MAPLE dynamically allocate memory for regmap operations. This is incompatible with spinlock based locking which is used for fast_io operations. Disable locking for the associated unit tests to avoid lockdep splashes. Fixes: f033c26de5a5 ("regmap: Add maple tree based register cache") Fixes: 2238959b6ad2 ("regmap: Add some basic kunit tests") Signed-off-by: Guenter Roeck --- drivers/base/regmap/regmap-kunit.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/base/regmap/regmap-kunit.c b/drivers/base/regmap/regmap-kunit.c index 24257aa9004d..9ff3018a46aa 100644 --- a/drivers/base/regmap/regmap-kunit.c +++ b/drivers/base/regmap/regmap-kunit.c @@ -58,6 +58,9 @@ static struct regmap *gen_regmap(struct regmap_config *config, int i; struct reg_default *defaults; + config->disable_locking = config->cache_type == REGCACHE_RBTREE || + config->cache_type == REGCACHE_MAPLE; + buf = kmalloc(size, GFP_KERNEL); if (!buf) return ERR_PTR(-ENOMEM); @@ -889,6 +892,8 @@ static struct regmap *gen_raw_regmap(struct regmap_config *config, config->cache_type = test_type->cache_type; config->val_format_endian = test_type->val_endian; + config->disable_locking = config->cache_type == REGCACHE_RBTREE || + config->cache_type == REGCACHE_MAPLE; buf = kmalloc(size, GFP_KERNEL); if (!buf) From patchwork Thu Jul 20 03:28:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Guenter Roeck X-Patchwork-Id: 122972 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp2874767vqt; Wed, 19 Jul 2023 21:20:49 -0700 (PDT) X-Google-Smtp-Source: APBJJlExqiJLCiqrSiwbyrUGhHgAeU7pEx4Fs9jLw6EwWxPt4HlnuQWaquiEzKq8sqZ2zP8Y5V8r X-Received: by 2002:a17:906:10d0:b0:994:4e9c:30cc with SMTP id v16-20020a17090610d000b009944e9c30ccmr1383545ejv.39.1689826849758; Wed, 19 Jul 2023 21:20:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689826849; cv=none; d=google.com; s=arc-20160816; b=ofaVQ0bluGTdjX8Y08apKksFeQbUahWY9JLepIBjUY1xztDUaUWCy9fpoR0u4xC5JA ed2sfziSmFgqERsgCQclgb+cymp3Db/NxO1/PH26lZvht2O8xsHhIoAISI4qablNolzz U2RM8Asqi3qjDbPiU9GmgcOdb8CahLRl1nzDwoBCngl/SEr0uZpnrGWn040fKeTYsz/9 gPa3W8f+vtTnQv1t1cPQF7xaisZO06Q2WtaazKtiWSHVhMoqFzhkQzMtYxg4OJoJ+iH8 N8hlm+irS5p1Is6dsG9jxRUtI9g0ABgETRYE4Ambq1dUQYgCwJUeISmaTowMFZLOQS2B gvtA== 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 :references:in-reply-to:message-id:date:subject:cc:to:from:sender :dkim-signature; bh=L0oNMuifMnagYqKrM9m6tne2TXEDYzPsYeKHQDjncmo=; fh=JuR3MKiWAj55R51kzxw12G54eDCo8KRHpj6+qbYT4gc=; b=ZzMTHOrrw77XJQis5UJ1rsiimpa64OEBF2dAetADEVvWp1nAIQ8SDf9svu3b+wPxd7 YnNQt+6hDkSKClPKQ+lJeeCKfVF5aCIzhdWX0M6DBQvKBDSbTh39C2cThbnltoElUA7B Uio3KSr7+2VtkcALNtg/9jHiMWlhW8E+AuVqcZWiY3HgpH0NkU0IsRulaFHO60G8csxc BqDPzyV8chktYdDhdpBIbKpYC3Pb+TAZauO3ccabQzfmfh8eBIx1VP5ejvrz+o8aI2cI EyCoYu1kkTjSfrujYQY0Shv3FF8FJs8poWQdMRrkdm2Mk75jA/SWSiJqfLwEGpyZDSws isQg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=M4HqC7jN; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y13-20020a170906070d00b0098cd2a20b3esi70485ejb.847.2023.07.19.21.20.26; Wed, 19 Jul 2023 21:20:49 -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=@gmail.com header.s=20221208 header.b=M4HqC7jN; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229835AbjGTD26 (ORCPT + 99 others); Wed, 19 Jul 2023 23:28:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44010 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229550AbjGTD2y (ORCPT ); Wed, 19 Jul 2023 23:28:54 -0400 Received: from mail-pg1-x52c.google.com (mail-pg1-x52c.google.com [IPv6:2607:f8b0:4864:20::52c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F42231B9 for ; Wed, 19 Jul 2023 20:28:53 -0700 (PDT) Received: by mail-pg1-x52c.google.com with SMTP id 41be03b00d2f7-5577004e21bso115123a12.2 for ; Wed, 19 Jul 2023 20:28:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1689823733; x=1692415733; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=L0oNMuifMnagYqKrM9m6tne2TXEDYzPsYeKHQDjncmo=; b=M4HqC7jN8AZVdfqhxjxnS/wDHCfOln+PN29vS+/sLBxxp714NS48ojlUBY7qv1rfht 9UVzKpFmyW0hblPll1g+fVFC7iM2Vqz75okVG0ntCj9DnNl4x/sAwxXevZUGL62ntnnj XKvGeQSxtP+o3Lkm6frKkX4WoxUfTaKNOxqTtic1eBR5RCLrDtUS0nzxr5qPFED25pDI OrT/VxxHfn8UETIjYwLhYgtQ9uVASRH5JQ+00tPVEGd/0K4L4f5zoF6oacNS8LwVOlOo uxAdy+vOQBu6QDvBOcuSyD9A/3aOdBuhfAmCJBcEvu/678B7QrksujMuAonWmxmwbXwT Agrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689823733; x=1692415733; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=L0oNMuifMnagYqKrM9m6tne2TXEDYzPsYeKHQDjncmo=; b=gNQ9lfi30D9Gzl5MMlLBQ/b0GgF0kifIjBaew+F2ehYtlhF5EGgl8FZJy5I5tQMhrn 48uqRjqsisNnb9hrMZfj5GNMmCUFzYR5LFM3RitPGwsx61tDBHumhslGRXWiFRg5Ev0s c6Ir4whHn1lLa62wqq6pW5rtrp9JP5XtZ4KZ3wsU4FdO6x8WRylctaPKexUCMG+m8Tq+ Y6bbTBDq17TZBZct3Zr1bCYJ+OWZVstrk1sz3miH+Os3Jx9woK4QFL9Lo27SmRdfp2gO Xc+k2Fj1McSOOcRgPurBppscru4MHqYYKhp+VnncVuYJWV3IFgiBS4P6hbmuDpQ5iure ZMqQ== X-Gm-Message-State: ABy/qLZGKctTOdk9dBZyZyOPkUecz69rzjBT7mV3+LFXgYoWaRidGT1u IyVpc7i9avvDztAUSbK4e4Y= X-Received: by 2002:a05:6a20:3d22:b0:133:5352:c7ac with SMTP id y34-20020a056a203d2200b001335352c7acmr8195018pzi.38.1689823733344; Wed, 19 Jul 2023 20:28:53 -0700 (PDT) Received: from server.roeck-us.net ([2600:1700:e321:62f0:329c:23ff:fee3:9d7c]) by smtp.gmail.com with ESMTPSA id f3-20020a17090274c300b001b80b428d4bsm23225plt.67.2023.07.19.20.28.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Jul 2023 20:28:52 -0700 (PDT) Sender: Guenter Roeck From: Guenter Roeck To: Mark Brown Cc: Greg Kroah-Hartman , "Rafael J . Wysocki" , linux-kernel@vger.kernel.org, Guenter Roeck Subject: [RFC PATCH 2/2] regmap: Reject fast_io regmap configurations with RBTREE and MAPLE caches Date: Wed, 19 Jul 2023 20:28:48 -0700 Message-Id: <20230720032848.1306349-2-linux@roeck-us.net> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230720032848.1306349-1-linux@roeck-us.net> References: <20230720032848.1306349-1-linux@roeck-us.net> MIME-Version: 1.0 X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no 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: INBOX X-GMAIL-THRID: 1771911878391187345 X-GMAIL-MSGID: 1771911878391187345 REGCACHE_RBTREE and REGCACHE_MAPLE dynamically allocate memory for regmap operations. This is incompatible with spinlock based locking which is used for fast_io operations. Reject affected configurations. Signed-off-by: Guenter Roeck --- This seems prudent, given that accesses will be protected by spinlock but may allocate memory with GFP_KERNEL. Another option might be to use WARN_ON instead of rejecting the configuration to avoid hard regressions (and I think both drivers/net/ieee802154/mcr20a.c and sound/soc/codecs/sti-sas.c may be affected, though I can not test it). drivers/base/regmap/regmap.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c index 89a7f1c459c1..b4640285c0b9 100644 --- a/drivers/base/regmap/regmap.c +++ b/drivers/base/regmap/regmap.c @@ -777,6 +777,15 @@ struct regmap *__regmap_init(struct device *dev, } else { if ((bus && bus->fast_io) || config->fast_io) { + /* + * fast_io is incompatible with REGCACHE_RBTREE and REGCACHE_MAPLE + * since both need to dynamically allocate memory. + */ + if (config->cache_type == REGCACHE_RBTREE || + config->cache_type == REGCACHE_MAPLE) { + ret = -EINVAL; + goto err_name; + } if (config->use_raw_spinlock) { raw_spin_lock_init(&map->raw_spinlock); map->lock = regmap_lock_raw_spinlock;