Received: by 2002:a05:6358:7058:b0:131:369:b2a3 with SMTP id 24csp9023746rwp; Wed, 19 Jul 2023 20:56:17 -0700 (PDT) X-Google-Smtp-Source: APBJJlEcx3zy71XEgcHg3x2OoJ4rKf31ZwxAMWdjO4DNWi5rAX9hLHGNIAolT1igcZv/nzMHUOZE X-Received: by 2002:a05:6a20:1609:b0:133:449c:677c with SMTP id l9-20020a056a20160900b00133449c677cmr8172881pzj.58.1689825377084; Wed, 19 Jul 2023 20:56:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689825377; cv=none; d=google.com; s=arc-20160816; b=iztIJ04pODzKnMr2aDjHqIUybZe9vTVMIKEnC3ZGsS7tQ5+jO8/0c0CK/qPbhdisXj ULFcQBg/OMiAUA6Jrvn5wknnUJQGZTJGzVdKZMZ4AhH1Z0cn/e9uKhd1mWMWbXKcVkqZ fwUrc2hvMb2cqqost+GGrjvfDbPLMZNOOcE/vP27d8gN5Ynz5JPVk4NOSGiU2gs+G+Xy 8CEPIojpGAw7KQ0vTR9rX3WbsuzWasnWxrmkUH2na6rOZSLup71tVw+J3eU54qbYqbug BPsl56RpPLgadU+npvPs/dt6VkzSjlpRRAG7K+olV9cXfxMljpaiEGGfpSXuQMsh//kT AdcQ== 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a2-20020a170902ecc200b001bb3bcd05bbsi17202plh.471.2023.07.19.20.56.04; Wed, 19 Jul 2023 20:56:17 -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 S229571AbjGTD26 (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 Content-Transfer-Encoding: 8bit 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 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; -- 2.39.2