diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 901d3dfac4..cb5bb0b939 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -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" ;; *) diff --git a/projects/RPi/patches/linux/linux-06-fix-ftrace-on-boot.patch b/projects/RPi/patches/linux/linux-06-fix-ftrace-on-boot.patch deleted file mode 100644 index 991fd117f8..0000000000 --- a/projects/RPi/patches/linux/linux-06-fix-ftrace-on-boot.patch +++ /dev/null @@ -1,57 +0,0 @@ -On Wed, 23 Aug 2017 17:42:14 +0200 -Matthias Reichl 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); - }