summaryrefslogtreecommitdiff
path: root/drivers/clk
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2024-06-12 16:58:05 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2024-06-12 16:58:05 -0700
commit2ccbdf43d5e758f8493a95252073cf9078a5fea5 (patch)
treea6e13b68fce7b82e6e2bc09189d29c51bfb17c5a /drivers/clk
parent0b4989ebe8a608c68d5ec54d61078aba47baed22 (diff)
parent594ce0b8a998aa4d05827cd7c0d0dcec9a1e3ae2 (diff)
downloadlinux-next-2ccbdf43d5e758f8493a95252073cf9078a5fea5.tar.gz
linux-next-2ccbdf43d5e758f8493a95252073cf9078a5fea5.zip
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rmk/linux
Pull ARM and clkdev fixes from Russell King: - Fix clkdev - erroring out on long strings causes boot failures, so don't do this. Still warn about the over-sized strings (which will never match and thus their registration with clkdev is useless) - Fix for ftrace with frame pointer unwinder with recent GCC changing the way frames are stacked. * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rmk/linux: ARM: 9405/1: ftrace: Don't assume stack frames are contiguous in memory clkdev: don't fail clkdev_alloc() if over-sized
Diffstat (limited to 'drivers/clk')
-rw-r--r--drivers/clk/clkdev.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/clk/clkdev.c b/drivers/clk/clkdev.c
index 6a77d7e201a9..2f83fb97c6fb 100644
--- a/drivers/clk/clkdev.c
+++ b/drivers/clk/clkdev.c
@@ -204,8 +204,15 @@ fail:
pr_err("%pV:%s: %s ID is greater than %zu\n",
&vaf, con_id, failure, max_size);
va_end(ap_copy);
- kfree(cla);
- return NULL;
+
+ /*
+ * Don't fail in this case, but as the entry won't ever match just
+ * fill it with something that also won't match.
+ */
+ strscpy(cla->con_id, "bad", sizeof(cla->con_id));
+ strscpy(cla->dev_id, "bad", sizeof(cla->dev_id));
+
+ return &cla->cl;
}
static struct clk_lookup *