From 7b5edf5dabb82ac3d008fa4995e21c6ffd9a5d2b Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Mon, 7 Aug 2017 09:50:19 +0200 Subject: [PATCH 1/3] linux: Add LTS version 4.9.41 Do as Greg says [1]: > All users of the 4.9 kernel series must upgrade. Changes [1][2]: > Documentation/devicetree/bindings/input/tps65218-pwrbutton.txt | 4 > Documentation/devicetree/bindings/power/supply/tps65217_charger.txt | 7 > Makefile | 2 > arch/arc/kernel/mcip.c | 4 > arch/arm/boot/dts/am57xx-idk-common.dtsi | 2 > arch/arm/boot/dts/omap3-n900.dts | 2 > arch/arm/configs/s3c2410_defconfig | 6 > arch/arm/mach-omap2/omap_hwmod.c | 8 - > arch/arm64/boot/dts/xilinx/zynqmp-ep108.dts | 2 > arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 6 > arch/arm64/mm/fault.c | 8 - > arch/openrisc/kernel/vmlinux.lds.S | 2 > arch/parisc/kernel/cache.c | 36 ++-- > arch/parisc/kernel/process.c | 2 > arch/powerpc/include/asm/topology.h | 14 - > arch/powerpc/kernel/setup_64.c | 4 > arch/powerpc/kvm/book3s_hv.c | 13 + > arch/powerpc/kvm/book3s_hv_rmhandlers.S | 41 ++++- > arch/powerpc/platforms/pseries/reconfig.c | 1 > arch/x86/events/intel/cstate.c | 2 > arch/x86/events/intel/rapl.c | 1 > arch/x86/events/intel/uncore.c | 1 > arch/x86/kernel/cpu/mcheck/mce_amd.c | 3 > arch/x86/platform/intel-mid/device_libs/Makefile | 2 > arch/x86/platform/intel-mid/device_libs/platform_mrfld_spidev.c | 54 +++++++ > arch/x86/platform/intel-mid/device_libs/platform_spidev.c | 50 ------ > crypto/authencesn.c | 5 > drivers/acpi/glue.c | 10 + > drivers/char/ipmi/ipmi_watchdog.c | 7 > drivers/dax/dax.c | 24 ++- > drivers/dax/dax.h | 2 > drivers/dax/pmem.c | 12 - > drivers/dma/ioat/hw.h | 2 > drivers/dma/ioat/init.c | 11 + > drivers/dma/ti-dma-crossbar.c | 2 > drivers/gpu/drm/msm/adreno/adreno_gpu.c | 9 + > drivers/gpu/drm/msm/msm_gem_submit.c | 18 +- > drivers/gpu/drm/msm/msm_ringbuffer.c | 3 > drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.h | 2 > drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.c | 2 > drivers/gpu/drm/rcar-du/rcar_du_drv.c | 30 +--- > drivers/gpu/drm/rcar-du/rcar_du_kms.c | 7 > drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c | 2 > drivers/hid/hid-core.c | 1 > drivers/hid/hid-ids.h | 3 > drivers/infiniband/core/uverbs_cmd.c | 5 > drivers/infiniband/hw/mlx4/main.c | 14 + > drivers/irqchip/irq-keystone.c | 28 ++- > drivers/irqchip/irq-mxs.c | 4 > drivers/isdn/i4l/isdn_common.c | 1 > drivers/isdn/i4l/isdn_net.c | 5 > drivers/isdn/i4l/isdn_ppp.c | 2 > drivers/mailbox/mailbox.c | 13 + > drivers/md/raid5.c | 2 > drivers/media/i2c/s5c73m3/s5c73m3-ctrls.c | 2 > drivers/net/ethernet/emulex/benet/be_main.c | 4 > drivers/net/ethernet/mellanox/mlx4/icm.c | 7 > drivers/net/ethernet/mellanox/mlx4/main.c | 18 ++ > drivers/net/ethernet/mellanox/mlx4/resource_tracker.c | 28 --- > drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c | 11 + > drivers/net/ethernet/realtek/r8169.c | 1 > drivers/net/ethernet/renesas/sh_eth.c | 1 > drivers/net/phy/phy_device.c | 2 > drivers/net/usb/asix_devices.c | 1 > drivers/net/wireless/ath/ath10k/wmi-ops.h | 6 > drivers/net/wireless/ath/wil6210/main.c | 15 +- > drivers/nfc/fdp/i2c.c | 6 > drivers/nfc/port100.c | 35 +++- > drivers/nvmem/imx-ocotp.c | 2 > drivers/scsi/bfa/bfad.c | 6 > drivers/scsi/bfa/bfad_drv.h | 2 > drivers/scsi/fnic/fnic.h | 1 > drivers/scsi/fnic/fnic_scsi.c | 16 ++ > drivers/scsi/snic/snic_main.c | 3 > drivers/spi/spi-dw.c | 5 > drivers/staging/comedi/comedi_fops.c | 6 > drivers/usb/dwc3/dwc3-omap.c | 6 > drivers/usb/gadget/function/f_hid.c | 2 > drivers/vfio/pci/vfio_pci.c | 4 > drivers/vfio/pci/vfio_pci_rdwr.c | 5 > drivers/video/fbdev/cobalt_lcdfb.c | 5 > drivers/xen/arm-device.c | 8 - > fs/btrfs/extent-tree.c | 3 > fs/btrfs/inode.c | 11 + > fs/btrfs/tree-log.c | 13 + > fs/dcache.c | 27 +++ > fs/debugfs/inode.c | 10 - > fs/jfs/acl.c | 15 +- > fs/namei.c | 8 - > fs/nfs/file.c | 2 > fs/nfs/nfs4proc.c | 2 > fs/notify/fsnotify.c | 8 - > fs/pstore/ram.c | 5 > fs/pstore/ram_core.c | 25 ++- > include/linux/dcache.h | 6 > include/linux/fsnotify.h | 31 ---- > include/linux/mlx4/device.h | 2 > include/linux/phy.h | 4 > include/linux/pstore_ram.h | 11 + > kernel/cpu.c | 38 ++--- > kernel/sched/core.c | 14 + > net/core/dev.c | 19 +- > net/ipv6/ip6_output.c | 2 > net/key/af_key.c | 46 +++++- > net/l2tp/l2tp_ip6.c | 4 > net/xfrm/xfrm_policy.c | 9 - > sound/pci/fm801.c | 4 > sound/pci/hda/patch_hdmi.c | 27 +++ > sound/soc/codecs/nau8825.c | 3 > sound/soc/codecs/nau8825.h | 3 > sound/soc/codecs/tlv320aic3x.c | 13 + > sound/soc/fsl/fsl_ssi.c | 74 +++++++--- > sound/soc/intel/boards/bytcr_rt5640.c | 2 > sound/soc/intel/skylake/skl-sst.c | 3 > sound/soc/soc-pcm.c | 4 > sound/usb/endpoint.c | 3 > tools/lib/traceevent/plugin_sched_switch.c | 4 > tools/perf/Makefile.perf | 4 > tools/perf/util/probe-event.c | 32 ++-- > tools/perf/util/symbol-elf.c | 6 > 120 files changed, 795 insertions(+), 413 deletions(-) The rest of the announcements and change-logs are available online. 1. 4.9.39 [3][4] 2. 4.9.40 [5][6] At least CVE-2017-7533 (kernel: inotify: a race between inotify_handle_event() and sys_rename()) is fixed in that release. Unfortunately, the CVE numbers are not mentioned in the Linux kernel commit messages or change-logs. So, further potential fixes, that might be problems are listed for example in the Debian Security Announcement 3927 [7]. [1] https://lkml.org/lkml/2017/8/6/332 [2] https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.9.41 [3] https://lkml.org/lkml/2017/7/21/59 [4] https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.9.39 [5] https://lkml.org/lkml/2017/7/27/731 [6] https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.9.40 [7] https://www.debian.org/security/2017/dsa-3927 --- linux-4.9.41-168.bee | 79 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100755 linux-4.9.41-168.bee diff --git a/linux-4.9.41-168.bee b/linux-4.9.41-168.bee new file mode 100755 index 000000000..fc68c0aaa --- /dev/null +++ b/linux-4.9.41-168.bee @@ -0,0 +1,79 @@ +#!/bin/env beesh + +# note: CONFIG=/boot/config-WHATEVER BEE_MAKEFLAGS='-j 40' ./linux-xxx.bee + +KERNELVERSION=${PKGVERSION} +if [ -z "${PKGVERSION[3]}" ] ; then + KERNELVERSION=${KERNELVERSION}.0 +fi + +# append extra version to get for example 4.8.0-rc4 +KERNELVERSION=${KERNELVERSION}${PKGEXTRAVERSION_DASH} + +echo $KERNELVERSION + +SRCURL[0]="https://cdn.kernel.org/pub/linux/kernel/v${PKGVERSION[1]}.x/linux-${PKGVERSION}${PKGEXTRAVERSION_DASH}.tar.xz" + +# EXCLUDE="" + +#CONFIG= + +KERNELLOCAL=".mx64.${PKGREVISION}" +FULLKERNELVERSION="${KERNELVERSION}${KERNELLOCAL}" + +B=${S} + +mee_patch() { + echo "PATCH $@" + bee_patch $@ +} + +mee_configure() { + echo "configure $@" + if [ -e /proc/config.gz ] ; then + zcat /proc/config.gz >config-current + RUNNING=config-current + else + RUNNING=/boot/config-$(uname -r) + fi + + : ${CONFIG:=${RUNNING}} + + if [ ! -e ${CONFIG} ] ; then + echo "can't find config '${CONFIG}'" + exit 1 + fi + + cp -v ${CONFIG} .config + + LOCALVERSION="\"${KERNELLOCAL}\"" + sed -i -e "s@CONFIG_LOCALVERSION=.*@CONFIG_LOCALVERSION=${LOCALVERSION}@" .config + + echo "doing make -C ${S} olddefconfig in ${PWD} .." + + make olddefconfig + + echo "doing make -C ${S} menuconfig in ${PWD} .." + + make menuconfig +} + +mee_build() { + echo "build $@" + make ${BEE_MAKEFLAGS} +} + +mee_install() { + echo "install $@" + + make modules_install INSTALL_MOD_PATH=${D} + make install INSTALL_PATH=${D}/boot +# make firmware_install INSTALL_MOD_PATH=${D} + + rm -v ${D}/lib/modules/${FULLKERNELVERSION}/{source,build} + + ln -sv /usr/src/linux/${PKGALLPKG}/source ${D}/lib/modules/${FULLKERNELVERSION}/source + ln -sv /usr/src/linux/${PKGALLPKG}/build ${D}/lib/modules/${FULLKERNELVERSION}/build + + ln -sv bzImage-${FULLKERNELVERSION} ${D}/boot/mariux.${PKGREVISION} +} From bda7a2b89edae652f7ffd86b39944b69f4805fbb Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Mon, 7 Aug 2017 09:53:47 +0200 Subject: [PATCH 2/3] nvidia_linux: Build 340.102 for Linux 4.9.41 --- nvidia_linux-4.9.41-168-340.102-0.bee | 90 +++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100755 nvidia_linux-4.9.41-168-340.102-0.bee diff --git a/nvidia_linux-4.9.41-168-340.102-0.bee b/nvidia_linux-4.9.41-168-340.102-0.bee new file mode 100755 index 000000000..bad3ecf51 --- /dev/null +++ b/nvidia_linux-4.9.41-168-340.102-0.bee @@ -0,0 +1,90 @@ +#!/bin/env beesh + +# calculate package extra versions and legacy level +# - use extraversions to define nvidia extraversion and/or legacy level +# - legacy level should be the last part of extraversion +# - legacy level 2 to 5 will be calculated from version number.. + +mxnvversion=${PKGEXTRAVERSION##*_} +: ${mxnvversion=current} + +nvextraversion="${PKGEXTRAVERSION_DASH}" + +if [ "${mxnvversion:0:6}" = "legacy" -o "${mxnvversion}" = "current" ] ; then + nvextraversion="${nvextraversion%_*}" + nvextraversion="${nvextraversion#-${mxnvversion}}" +else + if [ "${PKGVERSION:0:4}" = "340." ] ; then + mxnvversion="legacy5" + elif [ "${PKGVERSION:0:4}" = "304." ] ; then + mxnvversion="legacy4" + elif [ "${PKGVERSION:0:7}" = "173.14." ] ; then + mxnvversion="legacy3" + elif [ "${PKGVERSION:0:6}" = "96.43." ] ; then + mxnvversion="legacy2" + else + mxnvversion="current" + fi +fi + +print_info "calculated mxnvversion = '${mxnvversion}'" +print_info "calculated nvextraversion = '${nvextraversion}'" + +NVIDIA_ARCHIVE="NVIDIA-Linux-x86_64-${PKGVERSION}${nvextraversion}.run" + +SRCURL[0]="https://download.nvidia.com/XFree86/Linux-x86_64/${PKGVERSION}/${NVIDIA_ARCHIVE}" +PATCHURL+=('/src/mariux/patches/nvidia_340_runtimefix_for_kernel_4.9.patch') + +LINUXPKG=${PKGEXTRANAME}.${ARCH} + +LINUXKLOCALVER=$(beeversion --format "%v%-e.mx64.%r" "${LINUXPKG}") + +# '4.4.mx64.75' to '4.4.0.mx64.75' +# '4.8.6.mx64.115' to '4.8.6.mx64.115' +# '4.8-rc2.mx64.95' to '4.8.0-rc2.mx64.95' +if [[ $LINUXKLOCALVER =~ ^([0-9]+\.[0-9]+)(-rc[0-9]{1,2})?(\.mx64.*) ]]; then + LINUXKLOCALVER="${BASH_REMATCH[1]}.0${BASH_REMATCH[2]}${BASH_REMATCH[3]}" +fi + + +build_in_sourcedir +sourcesubdir_append kernel + +: ${BEE_TMP_TMPDIR:=/tmp} + +mee_extract() { + LINUXBUILDARCHIVE="${BEE_BUILDARCHIVEDIR}/${LINUXPKG}.beebuild.tar.bz2" + + print_info "extracting nvidia archive .." + + start_cmd rmdir ${S} + start_cmd sh ${F}/${NVIDIA_ARCHIVE} -x --target ${S} + + if [ -d "/usr/src/linux/${LINUXPKG}/source" ] ; then + LINUXSRCDIR="/usr/src/linux/${LINUXPKG}/source" + elif [ -d "${BEE_TMP_TMPDIR}/${LINUXPKG}/source" ] ; then + LINUXSRCDIR="${BEE_TMP_TMPDIR}/${LINUXPKG}/source" + else + print_info "extracting linux build ${LINUXPKG} .." + start_cmd gtar -xf "${LINUXBUILDARCHIVE}" -C ${BEE_TMP_TMPDIR} + LINUXSRCDIR="${BEE_TMP_TMPDIR}/${LINUXPKG}/source" + fi + + print_info "using kernel sources from ${LINUXSRCDIR} .." +} + +mee_build_pre() { + ln -s ${LINUXSRCDIR}/include ${S}/include +} + +mee_build() { + start_cmd make SYSSRC=${LINUXSRCDIR} module +} + +mee_install() { + mkdir -pv ${D}${DATAROOTDIR}/nvidia/kernel/${LINUXKLOCALVER}/${PKGVERSION} + + cp -v *.ko ${D}${DATAROOTDIR}/nvidia/kernel/${LINUXKLOCALVER}/${PKGVERSION}/ + + ln -s ${PKGVERSION} ${D}${DATAROOTDIR}/nvidia/kernel/${LINUXKLOCALVER}/${mxnvversion} +} From f1ab6bf35f10d0101026484b69ca5b16585770c8 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Mon, 7 Aug 2017 09:54:32 +0200 Subject: [PATCH 3/3] nvidia_linux: Build 375.39 for Linux 4.9.41 --- nvidia_linux-4.9.41-168-375.39-0.bee | 87 ++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100755 nvidia_linux-4.9.41-168-375.39-0.bee diff --git a/nvidia_linux-4.9.41-168-375.39-0.bee b/nvidia_linux-4.9.41-168-375.39-0.bee new file mode 100755 index 000000000..7657b8ef1 --- /dev/null +++ b/nvidia_linux-4.9.41-168-375.39-0.bee @@ -0,0 +1,87 @@ +#!/bin/env beesh + +# calculate package extra versions and legacy level +# - use extraversions to define nvidia extraversion and/or legacy level +# - legacy level should be the last part of extraversion +# - legacy level 2 to 5 will be calculated from version number.. + +mxnvversion=${PKGEXTRAVERSION##*_} +: ${mxnvversion=current} + +nvextraversion="${PKGEXTRAVERSION_DASH}" + +if [ "${mxnvversion:0:6}" = "legacy" -o "${mxnvversion}" = "current" ] ; then + nvextraversion="${nvextraversion%_*}" + nvextraversion="${nvextraversion#-${mxnvversion}}" +else + if [ "${PKGVERSION:0:4}" = "340." ] ; then + mxnvversion="legacy5" + elif [ "${PKGVERSION:0:4}" = "304." ] ; then + mxnvversion="legacy4" + elif [ "${PKGVERSION:0:7}" = "173.14." ] ; then + mxnvversion="legacy3" + elif [ "${PKGVERSION:0:6}" = "96.43." ] ; then + mxnvversion="legacy2" + else + mxnvversion="current" + fi +fi + +print_info "calculated mxnvversion = '${mxnvversion}'" +print_info "calculated nvextraversion = '${nvextraversion}'" + +NVIDIA_ARCHIVE="NVIDIA-Linux-x86_64-${PKGVERSION}${nvextraversion}.run" + +SRCURL[0]="https://download.nvidia.com/XFree86/Linux-x86_64/${PKGVERSION}/${NVIDIA_ARCHIVE}" + +LINUXPKG=${PKGEXTRANAME}.${ARCH} + +LINUXKLOCALVER=$(beeversion --format "%v.mx64.%r" "${LINUXPKG}") + +# '4.4.mx64.75' to '4.4.0.mx64.75' +if [[ $LINUXKLOCALVER =~ ^([0-9]+\.[0-9]+)(\.mx64.*) ]]; then + LINUXKLOCALVER="${BASH_REMATCH[1]}.0${BASH_REMATCH[2]}" +fi + + +build_in_sourcedir +sourcesubdir_append kernel + +: ${BEE_TMP_TMPDIR:=/tmp} + +mee_extract() { + LINUXBUILDARCHIVE="${BEE_BUILDARCHIVEDIR}/${LINUXPKG}.beebuild.tar.bz2" + + print_info "extracting nvidia archive .." + + start_cmd rmdir ${S} + start_cmd sh ${F}/${NVIDIA_ARCHIVE} -x --target ${S} + + if [ -d "/usr/src/linux/${LINUXPKG}/source" ] ; then + LINUXSRCDIR="/usr/src/linux/${LINUXPKG}/source" + elif [ -d "${BEE_TMP_TMPDIR}/${LINUXPKG}/source" ] ; then + LINUXSRCDIR="${BEE_TMP_TMPDIR}/${LINUXPKG}/source" + else + print_info "extracting linux build ${LINUXPKG} .." + start_cmd gtar -xf "${LINUXBUILDARCHIVE}" -C ${BEE_TMP_TMPDIR} + LINUXSRCDIR="${BEE_TMP_TMPDIR}/${LINUXPKG}/source" + fi + + print_info "using kernel sources from ${LINUXSRCDIR} .." +} + +mee_build_pre() { + ln -s ${LINUXSRCDIR}/include ${S}/include +} + +mee_build() { + start_cmd make SYSSRC=${LINUXSRCDIR} module +} + +mee_install() { + mkdir -pv ${D}${DATAROOTDIR}/nvidia/kernel/${LINUXKLOCALVER}/${PKGVERSION} + + cp -v *.ko ${D}${DATAROOTDIR}/nvidia/kernel/${LINUXKLOCALVER}/${PKGVERSION}/ + + ln -s ${PKGVERSION} ${D}${DATAROOTDIR}/nvidia/kernel/${LINUXKLOCALVER}/${mxnvversion} +}