mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
linux (RPi): update to linux-4.14.54
This commit is contained in:
parent
51a227f148
commit
0e04494e35
@ -56,8 +56,8 @@ case "$LINUX" in
|
||||
PKG_SOURCE_DIR="kernel-$PKG_VERSION"
|
||||
;;
|
||||
raspberrypi)
|
||||
PKG_VERSION="11dc869d874d04293849d830637130269fd0ada9" # 4.14.52
|
||||
PKG_SHA256="cb179058b033f49e8c936b1dc8dbb586671ac083616fb0bff20da9f491bea77f"
|
||||
PKG_VERSION="0c105ada34b842c79fc629bf3c05f384e3e39662" # 4.14.54
|
||||
PKG_SHA256="e80140522b66ca2ed749d96b6de32db41f9768e19bf74199785a413404834e31"
|
||||
PKG_URL="https://github.com/raspberrypi/linux/archive/$PKG_VERSION.tar.gz"
|
||||
;;
|
||||
*)
|
||||
|
@ -1,57 +0,0 @@
|
||||
On Wed, 23 Aug 2017 17:42:14 +0200
|
||||
Matthias Reichl <hias@horus.com> wrote:
|
||||
|
||||
> I haven't verified it myself but Phil Elwells first analysis here
|
||||
> sounds plausible
|
||||
>
|
||||
> https://github.com/raspberrypi/linux/issues/2166#issuecomment-323355145
|
||||
|
||||
I noticed this comment:
|
||||
|
||||
"What makes this interesting (and is the reason this doesn't fail
|
||||
normally) is that these functions are all called within kernel_init, so
|
||||
the __ro_after_init attribute shouldn't have caused the variable to be
|
||||
read-only yet."
|
||||
|
||||
When ftrace starts, it needs to set the kernel text to write, and when
|
||||
it finishes it sets it back to readonly. But the kernel is not set to
|
||||
readonly at boot up.
|
||||
|
||||
Can you test this patch? (Warning, I didn't even compile test it)
|
||||
|
||||
-- Steve
|
||||
|
||||
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
|
||||
index ad80548..fd75f38 100644
|
||||
--- a/arch/arm/mm/init.c
|
||||
+++ b/arch/arm/mm/init.c
|
||||
@@ -745,19 +745,29 @@ static int __mark_rodata_ro(void *unused)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+static int kernel_set_to_readonly;
|
||||
+
|
||||
void mark_rodata_ro(void)
|
||||
{
|
||||
+ kernel_set_to_readonly = 1;
|
||||
+
|
||||
stop_machine(__mark_rodata_ro, NULL, NULL);
|
||||
}
|
||||
|
||||
void set_kernel_text_rw(void)
|
||||
{
|
||||
+ if (!kernel_set_to_readonly)
|
||||
+ return;
|
||||
+
|
||||
set_section_perms(ro_perms, ARRAY_SIZE(ro_perms), false,
|
||||
current->active_mm);
|
||||
}
|
||||
|
||||
void set_kernel_text_ro(void)
|
||||
{
|
||||
+ if (!kernel_set_to_readonly)
|
||||
+ return;
|
||||
+
|
||||
set_section_perms(ro_perms, ARRAY_SIZE(ro_perms), true,
|
||||
current->active_mm);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user