linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] regcache: use map->alloc_flags also for allocating cache
       [not found] <CGME20240828122850eucas1p27f050ad5fb011796b89bb90be353c417@eucas1p2.samsung.com>
@ 2024-08-28 12:28 ` Marek Szyprowski
  2024-08-28 16:32   ` Mark Brown
  0 siblings, 1 reply; 2+ messages in thread
From: Marek Szyprowski @ 2024-08-28 12:28 UTC (permalink / raw)
  To: linux-kernel, linux-mm
  Cc: Marek Szyprowski, Mark Brown, Greg Kroah-Hartman,
	Rafael J. Wysocki, Cristian Ciocaltea, Liam R . Howlett

Commit fd4ebc07b4df ("regmap: Hold the regmap lock when allocating and
freeing the cache") introduced a locking around the allocating and
freeing a regmap cache, so adjust the memory allocation flags to the ones
given in the regmap configuration instead of the hardcoded GFP_KERNEL.

This fixes the "BUG: sleeping function called from invalid context"
introduced by the mentioned commit.

Fixes: fd4ebc07b4df ("regmap: Hold the regmap lock when allocating and freeing the cache")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
---
 drivers/base/regmap/regcache-flat.c   | 2 +-
 drivers/base/regmap/regcache-maple.c  | 2 +-
 drivers/base/regmap/regcache-rbtree.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/base/regmap/regcache-flat.c b/drivers/base/regmap/regcache-flat.c
index 9b17c77dec9d..f36d3618b67c 100644
--- a/drivers/base/regmap/regcache-flat.c
+++ b/drivers/base/regmap/regcache-flat.c
@@ -27,7 +27,7 @@ static int regcache_flat_init(struct regmap *map)
 		return -EINVAL;
 
 	map->cache = kcalloc(regcache_flat_get_index(map, map->max_register)
-			     + 1, sizeof(unsigned int), GFP_KERNEL);
+			     + 1, sizeof(unsigned int), map->alloc_flags);
 	if (!map->cache)
 		return -ENOMEM;
 
diff --git a/drivers/base/regmap/regcache-maple.c b/drivers/base/regmap/regcache-maple.c
index 2dea9d259c49..8d27d3653ea3 100644
--- a/drivers/base/regmap/regcache-maple.c
+++ b/drivers/base/regmap/regcache-maple.c
@@ -348,7 +348,7 @@ static int regcache_maple_init(struct regmap *map)
 	int ret;
 	int range_start;
 
-	mt = kmalloc(sizeof(*mt), GFP_KERNEL);
+	mt = kmalloc(sizeof(*mt), map->alloc_flags);
 	if (!mt)
 		return -ENOMEM;
 	map->cache = mt;
diff --git a/drivers/base/regmap/regcache-rbtree.c b/drivers/base/regmap/regcache-rbtree.c
index 3db88bbcae0f..188438186589 100644
--- a/drivers/base/regmap/regcache-rbtree.c
+++ b/drivers/base/regmap/regcache-rbtree.c
@@ -187,7 +187,7 @@ static int regcache_rbtree_init(struct regmap *map)
 	int i;
 	int ret;
 
-	map->cache = kmalloc(sizeof *rbtree_ctx, GFP_KERNEL);
+	map->cache = kmalloc(sizeof *rbtree_ctx, map->alloc_flags);
 	if (!map->cache)
 		return -ENOMEM;
 
-- 
2.34.1



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] regcache: use map->alloc_flags also for allocating cache
  2024-08-28 12:28 ` [PATCH] regcache: use map->alloc_flags also for allocating cache Marek Szyprowski
@ 2024-08-28 16:32   ` Mark Brown
  0 siblings, 0 replies; 2+ messages in thread
From: Mark Brown @ 2024-08-28 16:32 UTC (permalink / raw)
  To: linux-kernel, linux-mm, Marek Szyprowski
  Cc: Greg Kroah-Hartman, Rafael J. Wysocki, Cristian Ciocaltea,
	Liam R . Howlett

On Wed, 28 Aug 2024 14:28:34 +0200, Marek Szyprowski wrote:
> Commit fd4ebc07b4df ("regmap: Hold the regmap lock when allocating and
> freeing the cache") introduced a locking around the allocating and
> freeing a regmap cache, so adjust the memory allocation flags to the ones
> given in the regmap configuration instead of the hardcoded GFP_KERNEL.
> 
> This fixes the "BUG: sleeping function called from invalid context"
> introduced by the mentioned commit.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap.git for-next

Thanks!

[1/1] regcache: use map->alloc_flags also for allocating cache
      commit: ae0acef3822ed8908e83cd24f337891e6be64eba

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-08-28 16:52 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CGME20240828122850eucas1p27f050ad5fb011796b89bb90be353c417@eucas1p2.samsung.com>
2024-08-28 12:28 ` [PATCH] regcache: use map->alloc_flags also for allocating cache Marek Szyprowski
2024-08-28 16:32   ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox