From 9691b89fd8a0014b7d57c9fc35cf75bfe8da1577 Mon Sep 17 00:00:00 2001 From: Tom Rini Date: Fri, 3 Nov 2017 15:29:15 -0400 Subject: Rework Linux Kernel fragment applications MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - All kernel recipes must inherit linux-agl.inc - All kernel recipes for a given version (e.g. 4.9) should include linux-VER-agl.inc in order to avoid duplication (such as the SMACK label patch or security fixes) - We enforce having merge_config.sh be invoked at the end, in order to make sure fragments will be applied. - Add a new fragment for Raspberry Pi to ensure the Pi Touchscreen is still enabled. With all of the above, we fix a number of minor issues as well, such as platforms manually enabling NBD/RAMDISK for netboot as the previous logic was not working in all cases. Bug-AGL: SPEC-946 Change-Id: Ic688e899df5861d83712af12d8e1c6c3c9643300 Signed-off-by: Tom Rini Reviewed-on: https://gerrit.automotivelinux.org/gerrit/12063 Tested-by: Jenkins Job builder account Reviewed-by: José Bollo Reviewed-by: Jan-Simon Moeller --- ...n-smack_known_web-label-for-kernel-thread.patch | 49 ----------- .../linux/linux-raspberrypi/raspberrypi-panel.cfg | 1 + .../linux/linux-raspberrypi_%.bbappend | 95 ++-------------------- .../linux/linux-raspberrypi_4.9.bbappend | 8 -- 4 files changed, 8 insertions(+), 145 deletions(-) delete mode 100644 meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0004-Smack-Assign-smack_known_web-label-for-kernel-thread.patch create mode 100644 meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/raspberrypi-panel.cfg delete mode 100644 meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.9.bbappend (limited to 'meta-agl-bsp/meta-raspberrypi/recipes-kernel') diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0004-Smack-Assign-smack_known_web-label-for-kernel-thread.patch b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0004-Smack-Assign-smack_known_web-label-for-kernel-thread.patch deleted file mode 100644 index a1eeac3d7..000000000 --- a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0004-Smack-Assign-smack_known_web-label-for-kernel-thread.patch +++ /dev/null @@ -1,49 +0,0 @@ -From c8bbb0f916de54610513e376070aea531af19dd6 Mon Sep 17 00:00:00 2001 -From: jooseong lee -Date: Thu, 3 Nov 2016 10:55:43 +0100 -Subject: [PATCH 4/4] Smack: Assign smack_known_web label for kernel thread's -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Assign smack_known_web label for kernel thread's socket in the sk_alloc_security hook - -Creating struct sock by sk_alloc function in various kernel subsystems -like bluetooth dosen't call smack_socket_post_create(). In such case, -received sock label is the floor('_') label and makes access deny. - -Refers-to: https://review.tizen.org/gerrit/#/c/80717/4 - -Change-Id: I2e5c9359bfede84a988fd4d4d74cdb9dfdfc52d8 -Signed-off-by: jooseong lee -Signed-off-by: José Bollo ---- - security/smack/smack_lsm.c | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c -index cf8a93f..21651bc 100644 ---- a/security/smack/smack_lsm.c -+++ b/security/smack/smack_lsm.c -@@ -2321,8 +2321,16 @@ static int smack_sk_alloc_security(struct sock *sk, int family, gfp_t gfp_flags) - if (ssp == NULL) - return -ENOMEM; - -- ssp->smk_in = skp; -- ssp->smk_out = skp; -+ /* -+ * Sockets created by kernel threads receive web label. -+ */ -+ if (unlikely(current->flags & PF_KTHREAD)) { -+ ssp->smk_in = &smack_known_web; -+ ssp->smk_out = &smack_known_web; -+ } else { -+ ssp->smk_in = skp; -+ ssp->smk_out = skp; -+ } - ssp->smk_packet = NULL; - - sk->sk_security = ssp; --- -2.7.4 - diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/raspberrypi-panel.cfg b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/raspberrypi-panel.cfg new file mode 100644 index 000000000..8c573578c --- /dev/null +++ b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/raspberrypi-panel.cfg @@ -0,0 +1 @@ +CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=y diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_%.bbappend b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_%.bbappend index 37066068b..d9f843e9c 100644 --- a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_%.bbappend +++ b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_%.bbappend @@ -1,97 +1,12 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +require recipes-kernel/linux/linux-agl.inc +require recipes-kernel/linux/linux-agl-4.9.inc + SRC_URI_append = "\ ${@base_conditional('USE_FAYTECH_MONITOR', '1', 'file://0002-faytech-fix-rpi.patch', '', d)} \ " -do_configure_append_smack() { - # SMACK and Co - kernel_configure_variable IP_NF_SECURITY m - kernel_configure_variable IP6_NF_SECURITY m - kernel_configure_variable EXT2_FS_SECURITY y - kernel_configure_variable EXT3_FS_SECURITY y - kernel_configure_variable EXT4_FS_SECURITY y - kernel_configure_variable SECURITY y - kernel_configure_variable SECURITY_SMACK y - kernel_configure_variable TMPFS_XATTR y - kernel_configure_variable DEFAULT_SECURITY "smack" - kernel_configure_variable DEFAULT_SECURITY_SMACK y - kernel_configure_variable FANOTIFY_ACCESS_PERMISSIONS y -} - -do_configure_append_netboot() { - # NBD for netboot - kernel_configure_variable BLK_DEV_NBD y - # ramblk for inird - kernel_configure_variable BLK_DEV_RAM y -} - -do_configure_append_sota() { - # ramblk for inird - kernel_configure_variable BLK_DEV_RAM y -} - -# can -do_configure_append() { - - kernel_configure_variable TASKSTATS y - kernel_configure_variable TASK_DELAY_ACCT y - kernel_configure_variable USER_RETURN_NOTIFIER y - kernel_configure_variable PREEMPT_NOTIFIERS y - kernel_configure_variable CAN m - kernel_configure_variable CAN_RAW m - kernel_configure_variable CAN_BCM m - kernel_configure_variable CAN_GW m - kernel_configure_variable CAN_VCAN m - kernel_configure_variable CAN_SLCAN m - kernel_configure_variable CAN_DEV m - kernel_configure_variable CAN_CALC_BITTIMING y - kernel_configure_variable CAN_MCP251X m - kernel_configure_variable CAN_ESD_USB2 m - kernel_configure_variable CAN_GS_USB m - kernel_configure_variable CAN_KVASER_USB m - kernel_configure_variable CAN_PEAK_USB m - kernel_configure_variable CAN_8DEV_USB m - -# not enabled, yet ? -# kernel_configure_variable CAN_LEDS is not set -# kernel_configure_variable CAN_SJA1000 is not set -# kernel_configure_variable CAN_C_CAN is not set -# kernel_configure_variable CAN_M_CAN is not set -# kernel_configure_variable CAN_CC770 is not set -# kernel_configure_variable CAN_EMS_USB is not set -# kernel_configure_variable CAN_SOFTING is not set -# kernel_configure_variable CAN_DEBUG_DEVICES is not set -} - -do_configure_append() { - - # VC4 Wayland/Weston - kernel_configure_variable I2C_BCM2835 y - kernel_configure_variable DRM y - kernel_configure_variable DRM_PANEL_RASPBERRYPI_TOUCHSCREEN y - kernel_configure_variable DRM_VC4 y - kernel_configure_variable FB_BCM2708 n - - # Enable support for TP-Link TL-W722N USB Wifi adapter - kernel_configure_variable ATH_CARDS m - kernel_configure_variable ATH9K_HTC m - - # Enable support for RTLSDR - kernel_configure_variable MEDIA_USB_SUPPORT y - kernel_configure_variable MEDIA_DIGITAL_TV_SUPPORT y - kernel_configure_variable DVB_USB_V2 m - kernel_configure_variable DVB_USB_RTL28XXU m - - # KEEP until fixed upstream: - # Keep this the last line - # Remove all modified configs and add the rest to .config - sed -e "${CONF_SED_SCRIPT}" < '${WORKDIR}/defconfig' >> '${B}/.config' - - yes '' | oe_runmake oldconfig - kernel_do_configure -} - CMDLINE_DEBUG = "" CMDLINE_append = " usbhid.mousepoll=0" @@ -109,3 +24,7 @@ KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/uvc.cfg" # Enable support for joystick devices KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/joystick.cfg" + +# Enable support for Pi foundation touchscreen +SRC_URI_append = " file://raspberrypi-panel.cfg" +KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/raspberrypi-panel.cfg" diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.9.bbappend b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.9.bbappend deleted file mode 100644 index 3dc9a9561..000000000 --- a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.9.bbappend +++ /dev/null @@ -1,8 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}-4.9:" - -#------------------------------------------------------------------------- -# smack patches for handling bluetooth - -SRC_URI_append_smack = "\ - file://0004-Smack-Assign-smack_known_web-label-for-kernel-thread.patch \ -" -- cgit 1.2.3-korg