From 906f7b1351eeee0591132abda835bffe2a6f29fe Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Thu, 9 Jun 2016 01:55:39 +0100 Subject: [PATCH] Update to 4.7-rc2 [rt] Disable until it is updated for 4.7 or later --- debian/changelog | 6 +- debian/config/defines | 2 +- ...eak-in-events-via-snd_timer_user_cca.patch | 28 --- ...eak-in-events-via-snd_timer_user_tin.patch | 28 --- ...fix-leak-in-sndrv_timer_ioctl_params.patch | 28 --- ...-redundant-log-messages-from-drivers.patch | 73 ++++---- ...kbuild-use-nostdinc-in-compile-tests.patch | 12 +- .../power-cpupower-fix-manpages-NAME.patch | 62 ------- ...msleep_interruptible-in-polling-loop.patch | 30 --- ...ock-before-parsing-nested-attributes.patch | 36 ---- ...ove-bpf-run-time-check-at-build-time.patch | 6 +- ...sbfs-fix-potential-infoleak-in-devio.patch | 36 ---- ...on-for-unaligned-LSDXC1-instructions.patch | 33 ---- ...eemption-during-prctl-PR_SET_FP_MODE.patch | 42 ----- ...to-lose-FP-context-during-mode-switc.patch | 101 ----------- ...erpc-fix-sstep-compile-on-powerpcspe.patch | 48 ----- ...omplete-state-update-on-apicv-on-off.patch | 101 ----------- debian/patches/debian/gitignore.patch | 6 +- debian/patches/debian/kernelvariables.patch | 6 +- debian/patches/debian/version.patch | 18 +- .../features/all/aufs4/aufs4-standalone.patch | 112 +++++------- .../grsecurity/grkernsec_perf_harden.patch | 10 +- ...i-table-override-if-securelevel-is-s.patch | 23 ++- ...d-add-kirkwood-ds112.dtb-to-Makefile.patch | 28 --- ...-add-kirkwood-nsa320.dtb-to-Makefile.patch | 26 --- ...on5x-add-device-tree-for-kurobox-pro.patch | 171 ------------------ ...cteon-III-CN7xxx-interface-detection.patch | 89 --------- ...etect-and-fix-byte-swapped-initramfs.patch | 83 --------- ...make-x32-syscall-support-conditional.patch | 6 +- debian/patches/series | 17 -- 30 files changed, 128 insertions(+), 1139 deletions(-) delete mode 100644 debian/patches/bugfix/all/alsa-timer-fix-leak-in-events-via-snd_timer_user_cca.patch delete mode 100644 debian/patches/bugfix/all/alsa-timer-fix-leak-in-events-via-snd_timer_user_tin.patch delete mode 100644 debian/patches/bugfix/all/alsa-timer-fix-leak-in-sndrv_timer_ioctl_params.patch delete mode 100644 debian/patches/bugfix/all/power-cpupower-fix-manpages-NAME.patch delete mode 100644 debian/patches/bugfix/all/rtsx_usb_ms-use-msleep_interruptible-in-polling-loop.patch delete mode 100644 debian/patches/bugfix/all/tipc-check-nl-sock-before-parsing-nested-attributes.patch delete mode 100644 debian/patches/bugfix/all/usb-usbfs-fix-potential-infoleak-in-devio.patch delete mode 100644 debian/patches/bugfix/mips/MIPS-Allow-emulation-for-unaligned-LSDXC1-instructions.patch delete mode 100644 debian/patches/bugfix/mips/MIPS-Disable-preemption-during-prctl-PR_SET_FP_MODE.patch delete mode 100644 debian/patches/bugfix/mips/MIPS-Force-CPUs-to-lose-FP-context-during-mode-switc.patch delete mode 100644 debian/patches/bugfix/powerpc/powerpc-fix-sstep-compile-on-powerpcspe.patch delete mode 100644 debian/patches/bugfix/x86/kvm-vmx-more-complete-state-update-on-apicv-on-off.patch delete mode 100644 debian/patches/features/arm/device-tree/ARM-dts-kirkwood-add-kirkwood-ds112.dtb-to-Makefile.patch delete mode 100644 debian/patches/features/arm/device-tree/ARM-dts-kirkwood-add-kirkwood-nsa320.dtb-to-Makefile.patch delete mode 100644 debian/patches/features/arm/device-tree/ARM-dts-orion5x-add-device-tree-for-kurobox-pro.patch delete mode 100644 debian/patches/features/mips/MIPS-Octeon-Add-Octeon-III-CN7xxx-interface-detection.patch delete mode 100644 debian/patches/features/mips/MIPS-Octeon-detect-and-fix-byte-swapped-initramfs.patch diff --git a/debian/changelog b/debian/changelog index 4fd8b71fa..08277570b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,8 @@ -linux (4.6.1-2) UNRELEASED; urgency=medium +linux (4.7~rc2-1~exp1) UNRELEASED; urgency=medium + * New upstream release candidate + + [ Ben Hutchings ] * bug script: Put binary package name and version in the info file so linux-signed can easily replace them * Move merge_packages function from debian/bin/gencontrol.py to @@ -7,6 +10,7 @@ linux (4.6.1-2) UNRELEASED; urgency=medium * udeb: Drop packages for modules that will later be signed * linux-image: Add '-unsigned' suffix to packages with modules that will later be signed + * [rt] Disable until it is updated for 4.7 or later -- Ben Hutchings Tue, 07 Jun 2016 19:37:55 +0100 diff --git a/debian/config/defines b/debian/config/defines index b91430046..a872e4c2e 100644 --- a/debian/config/defines +++ b/debian/config/defines @@ -46,7 +46,7 @@ featuresets: signed-modules: true [featureset-rt_base] -enabled: true +enabled: false [description] part-long-up: This kernel is not suitable for SMP (multi-processor, diff --git a/debian/patches/bugfix/all/alsa-timer-fix-leak-in-events-via-snd_timer_user_cca.patch b/debian/patches/bugfix/all/alsa-timer-fix-leak-in-events-via-snd_timer_user_cca.patch deleted file mode 100644 index 7881d70d8..000000000 --- a/debian/patches/bugfix/all/alsa-timer-fix-leak-in-events-via-snd_timer_user_cca.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: Kangjie Lu -Date: Tue, 3 May 2016 16:44:20 -0400 -Subject: [1/2] ALSA: timer: Fix leak in events via snd_timer_user_ccallback -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -Origin: https://git.kernel.org/linus/9a47e9cff994f37f7f0dbd9ae23740d0f64f9fe6 - -The stack object “r1” has a total size of 32 bytes. Its field -“event” and “val” both contain 4 bytes padding. These 8 bytes -padding bytes are sent to user without being initialized. - -Signed-off-by: Kangjie Lu -Signed-off-by: Takashi Iwai ---- - sound/core/timer.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/sound/core/timer.c -+++ b/sound/core/timer.c -@@ -1247,6 +1247,7 @@ static void snd_timer_user_ccallback(str - tu->tstamp = *tstamp; - if ((tu->filter & (1 << event)) == 0 || !tu->tread) - return; -+ memset(&r1, 0, sizeof(r1)); - r1.event = event; - r1.tstamp = *tstamp; - r1.val = resolution; diff --git a/debian/patches/bugfix/all/alsa-timer-fix-leak-in-events-via-snd_timer_user_tin.patch b/debian/patches/bugfix/all/alsa-timer-fix-leak-in-events-via-snd_timer_user_tin.patch deleted file mode 100644 index cf9da77fc..000000000 --- a/debian/patches/bugfix/all/alsa-timer-fix-leak-in-events-via-snd_timer_user_tin.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: Kangjie Lu -Date: Tue, 3 May 2016 16:44:32 -0400 -Subject: [2/2] ALSA: timer: Fix leak in events via snd_timer_user_tinterrupt -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -Origin: https://git.kernel.org/linus/e4ec8cc8039a7063e24204299b462bd1383184a5 - -The stack object “r1” has a total size of 32 bytes. Its field -“event” and “val” both contain 4 bytes padding. These 8 bytes -padding bytes are sent to user without being initialized. - -Signed-off-by: Kangjie Lu -Signed-off-by: Takashi Iwai ---- - sound/core/timer.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/sound/core/timer.c -+++ b/sound/core/timer.c -@@ -1290,6 +1290,7 @@ static void snd_timer_user_tinterrupt(st - } - if ((tu->filter & (1 << SNDRV_TIMER_EVENT_RESOLUTION)) && - tu->last_resolution != resolution) { -+ memset(&r1, 0, sizeof(r1)); - r1.event = SNDRV_TIMER_EVENT_RESOLUTION; - r1.tstamp = tstamp; - r1.val = resolution; diff --git a/debian/patches/bugfix/all/alsa-timer-fix-leak-in-sndrv_timer_ioctl_params.patch b/debian/patches/bugfix/all/alsa-timer-fix-leak-in-sndrv_timer_ioctl_params.patch deleted file mode 100644 index c67d2f71c..000000000 --- a/debian/patches/bugfix/all/alsa-timer-fix-leak-in-sndrv_timer_ioctl_params.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: Kangjie Lu -Date: Tue, 3 May 2016 16:44:07 -0400 -Subject: ALSA: timer: Fix leak in SNDRV_TIMER_IOCTL_PARAMS -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -Origin: https://git.kernel.org/linus/cec8f96e49d9be372fdb0c3836dcf31ec71e457e - -The stack object “tread” has a total size of 32 bytes. Its field -“event” and “val” both contain 4 bytes padding. These 8 bytes -padding bytes are sent to user without being initialized. - -Signed-off-by: Kangjie Lu -Signed-off-by: Takashi Iwai ---- - sound/core/timer.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/sound/core/timer.c -+++ b/sound/core/timer.c -@@ -1755,6 +1755,7 @@ static int snd_timer_user_params(struct - if (tu->timeri->flags & SNDRV_TIMER_IFLG_EARLY_EVENT) { - if (tu->tread) { - struct snd_timer_tread tread; -+ memset(&tread, 0, sizeof(tread)); - tread.event = SNDRV_TIMER_EVENT_EARLY; - tread.tstamp.tv_sec = 0; - tread.tstamp.tv_nsec = 0; diff --git a/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch b/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch index 1c7602f05..47dbce3df 100644 --- a/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch +++ b/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch @@ -96,7 +96,7 @@ upstream submission. fw_size = firmware->size / sizeof(u32); --- a/drivers/bluetooth/ath3k.c +++ b/drivers/bluetooth/ath3k.c -@@ -416,10 +416,8 @@ static int ath3k_load_patch(struct usb_d +@@ -420,10 +420,8 @@ static int ath3k_load_patch(struct usb_d le32_to_cpu(fw_version.rom_version)); ret = request_firmware(&firmware, filename, &udev->dev); @@ -108,7 +108,7 @@ upstream submission. pt_rom_version = get_unaligned_le32(firmware->data + firmware->size - 8); -@@ -479,10 +477,8 @@ static int ath3k_load_syscfg(struct usb_ +@@ -483,10 +481,8 @@ static int ath3k_load_syscfg(struct usb_ le32_to_cpu(fw_version.rom_version), clk_value, ".dfu"); ret = request_firmware(&firmware, filename, &udev->dev); @@ -168,7 +168,7 @@ upstream submission. --- a/drivers/bluetooth/btmrvl_sdio.c +++ b/drivers/bluetooth/btmrvl_sdio.c -@@ -390,8 +390,6 @@ static int btmrvl_sdio_download_helper(s +@@ -452,8 +452,6 @@ static int btmrvl_sdio_download_helper(s ret = request_firmware(&fw_helper, card->helper, &card->func->dev); if ((ret < 0) || !fw_helper) { @@ -177,7 +177,7 @@ upstream submission. ret = -ENOENT; goto done; } -@@ -490,8 +488,6 @@ static int btmrvl_sdio_download_fw_w_hel +@@ -552,8 +550,6 @@ static int btmrvl_sdio_download_fw_w_hel ret = request_firmware(&fw_firmware, card->firmware, &card->func->dev); if ((ret < 0) || !fw_firmware) { @@ -233,7 +233,7 @@ upstream submission. where = 0; --- a/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c -@@ -1755,10 +1755,8 @@ gf100_gr_ctor_fw(struct gf100_gr *gr, co +@@ -1740,10 +1740,8 @@ gf100_gr_ctor_fw(struct gf100_gr *gr, co int ret; ret = nvkm_firmware_get(device, fwname, &fw); @@ -275,7 +275,7 @@ upstream submission. release_firmware(rdev->me_fw); --- a/drivers/gpu/drm/radeon/r100.c +++ b/drivers/gpu/drm/radeon/r100.c -@@ -1039,10 +1039,7 @@ static int r100_cp_init_microcode(struct +@@ -1041,10 +1041,7 @@ static int r100_cp_init_microcode(struct } err = request_firmware(&rdev->me_fw, fw_name, rdev->dev); @@ -289,7 +289,7 @@ upstream submission. rdev->me_fw->size, fw_name); --- a/drivers/gpu/drm/radeon/r600.c +++ b/drivers/gpu/drm/radeon/r600.c -@@ -2592,10 +2592,6 @@ int r600_init_microcode(struct radeon_de +@@ -2599,10 +2599,6 @@ int r600_init_microcode(struct radeon_de out: if (err) { @@ -898,22 +898,18 @@ upstream submission. } --- a/drivers/media/usb/cx231xx/cx231xx-417.c +++ b/drivers/media/usb/cx231xx/cx231xx-417.c -@@ -995,14 +995,8 @@ static int cx231xx_load_firmware(struct - retval = request_firmware(&firmware, CX231xx_FIRM_IMAGE_NAME, +@@ -999,11 +999,6 @@ static int cx231xx_load_firmware(struct dev->dev); -- if (retval != 0) { + if (retval != 0) { - dev_err(dev->dev, - "ERROR: Hotplug firmware request failed (%s).\n", - CX231xx_FIRM_IMAGE_NAME); - dev_err(dev->dev, - "Please fix your hotplug setup, the board will not work without firmware loaded!\n"); -+ if (retval != 0) - return -1; -- } - - if (firmware->size != CX231xx_FIRM_IMAGE_SIZE) { - dev_err(dev->dev, + vfree(p_current_fw); + vfree(p_buffer); + return retval; --- a/drivers/media/pci/cx23885/cx23885-417.c +++ b/drivers/media/pci/cx23885/cx23885-417.c @@ -931,14 +931,8 @@ static int cx23885_load_firmware(struct @@ -1079,7 +1075,7 @@ upstream submission. __func__, fw->size); --- a/drivers/misc/ti-st/st_kim.c +++ b/drivers/misc/ti-st/st_kim.c -@@ -303,11 +303,8 @@ static long download_firmware(struct kim +@@ -302,11 +302,8 @@ static long download_firmware(struct kim request_firmware(&kim_gdata->fw_entry, bts_scr_name, &kim_gdata->kim_pdev->dev); if (unlikely((err != 0) || (kim_gdata->fw_entry->data == NULL) || @@ -1189,7 +1185,7 @@ upstream submission. if (bp->mips_firmware->size < sizeof(*mips_fw) || --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c -@@ -13467,11 +13467,8 @@ static int bnx2x_init_firmware(struct bn +@@ -13466,11 +13466,8 @@ static int bnx2x_init_firmware(struct bn BNX2X_DEV_INFO("Loading %s\n", fw_file_name); rc = request_firmware(&bp->firmware, fw_file_name, &bp->pdev->dev); @@ -1233,7 +1229,7 @@ upstream submission. *bfi_image_size = fw->size/sizeof(u32); --- a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c +++ b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c -@@ -1036,12 +1036,8 @@ int t3_get_edc_fw(struct cphy *phy, int +@@ -1037,12 +1037,8 @@ int t3_get_edc_fw(struct cphy *phy, int fw_name = get_edc_fw_name(edc_idx); if (fw_name) ret = request_firmware(&fw, fw_name, &adapter->pdev->dev); @@ -1247,7 +1243,7 @@ upstream submission. /* check size, take checksum in account */ if (fw->size > size + 4) { -@@ -1078,11 +1074,8 @@ static int upgrade_fw(struct adapter *ad +@@ -1079,11 +1075,8 @@ static int upgrade_fw(struct adapter *ad struct device *dev = &adap->pdev->dev; ret = request_firmware(&fw, FW_FNAME, dev); @@ -1260,7 +1256,7 @@ upstream submission. ret = t3_load_fw(adap, fw->data, fw->size); release_firmware(fw); -@@ -1127,11 +1120,8 @@ static int update_tpsram(struct adapter +@@ -1128,11 +1121,8 @@ static int update_tpsram(struct adapter snprintf(buf, sizeof(buf), TPSRAM_NAME, rev); ret = request_firmware(&tpsram, buf, dev); @@ -1537,21 +1533,18 @@ upstream submission. else --- a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c -@@ -1219,13 +1219,8 @@ static void iwl_req_fw_callback(const st - if (!pieces) - return; +@@ -224,10 +224,8 @@ static int iwl_request_firmware(struct i + sprintf(tag, "%d", drv->fw_index); + } -- if (!ucode_raw) { -- if (drv->fw_index <= api_ok) -- IWL_ERR(drv, -- "request for firmware file '%s' failed.\n", -- drv->firmware_name); -+ if (!ucode_raw) - goto try_again; +- if (drv->fw_index < drv->cfg->ucode_api_min) { +- IWL_ERR(drv, "no suitable firmware found!\n"); ++ if (drv->fw_index < drv->cfg->ucode_api_min) + return -ENOENT; - } - IWL_DEBUG_INFO(drv, "Loaded firmware file '%s' (%zd bytes).\n", - drv->firmware_name, ucode_raw->size); + snprintf(drv->firmware_name, sizeof(drv->firmware_name), "%s%s.ucode", + name_pre, tag); --- a/drivers/net/wireless/marvell/libertas_tf/if_usb.c +++ b/drivers/net/wireless/marvell/libertas_tf/if_usb.c @@ -824,8 +824,6 @@ static int if_usb_prog_firmware(struct i @@ -2082,7 +2075,7 @@ upstream submission. RT_TRACE(COMP_ERR, "img file size exceed the container buffer fail!\n"); --- a/drivers/staging/rtl8712/hal_init.c +++ b/drivers/staging/rtl8712/hal_init.c -@@ -71,8 +71,6 @@ int rtl871x_load_fw(struct _adapter *pad +@@ -67,8 +67,6 @@ int rtl871x_load_fw(struct _adapter *pad dev_info(dev, "r8712u: Loading firmware from \"%s\"\n", firmware_file); rc = request_firmware_nowait(THIS_MODULE, 1, firmware_file, dev, GFP_KERNEL, padapter, rtl871x_load_fw_cb); @@ -2137,7 +2130,7 @@ upstream submission. if (!buffer) --- a/drivers/tty/cyclades.c +++ b/drivers/tty/cyclades.c -@@ -3507,10 +3507,8 @@ static int cyz_load_fw(struct pci_dev *p +@@ -3499,10 +3499,8 @@ static int cyz_load_fw(struct pci_dev *p int retval; retval = request_firmware(&fw, "cyzfirm.bin", &pdev->dev); @@ -2374,10 +2367,10 @@ upstream submission. --- a/drivers/usb/serial/ti_usb_3410_5052.c +++ b/drivers/usb/serial/ti_usb_3410_5052.c -@@ -1487,10 +1487,8 @@ static int ti_download_firmware(struct t - } - status = request_firmware(&fw_p, buf, &dev->dev); +@@ -1536,10 +1536,8 @@ static int ti_download_firmware(struct t } + + check_firmware: - if (status) { - dev_err(&dev->dev, "%s - firmware not found\n", __func__); + if (status) @@ -2477,7 +2470,7 @@ upstream submission. snd_printk(KERN_INFO "sscape: MIDI firmware loaded %zu KBs\n", --- a/sound/isa/wavefront/wavefront_synth.c +++ b/sound/isa/wavefront/wavefront_synth.c -@@ -1947,10 +1947,8 @@ wavefront_download_firmware (snd_wavefro +@@ -1956,10 +1956,8 @@ wavefront_download_firmware (snd_wavefro const struct firmware *firmware; err = request_firmware(&firmware, path, dev->card->dev); @@ -2533,7 +2526,7 @@ upstream submission. filename, emu->firmware->size); --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c -@@ -1829,10 +1829,8 @@ static void azx_firmware_cb(const struct +@@ -1781,10 +1781,8 @@ static void azx_firmware_cb(const struct struct azx *chip = card->private_data; struct pci_dev *pci = chip->pci; diff --git a/debian/patches/bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch b/debian/patches/bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch index cc12dd65e..608d883d3 100644 --- a/debian/patches/bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch +++ b/debian/patches/bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch @@ -15,7 +15,7 @@ the kernel. --- a/scripts/Kbuild.include +++ b/scripts/Kbuild.include -@@ -111,12 +111,12 @@ as-instr = $(call try-run,\ +@@ -112,12 +112,12 @@ as-instr = $(call try-run,\ # Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586) cc-option = $(call try-run,\ @@ -30,7 +30,7 @@ the kernel. # cc-option-align # Prefix align with either -falign or -malign -@@ -126,18 +126,19 @@ cc-option-align = $(subst -functions=0,, +@@ -127,18 +127,19 @@ cc-option-align = $(subst -functions=0,, # cc-disable-warning # Usage: cflags-y += $(call cc-disable-warning,unused-but-set-variable) cc-disable-warning = $(call try-run,\ @@ -53,7 +53,7 @@ the kernel. # cc-ifversion # Usage: EXTRA_CFLAGS += $(call cc-ifversion, -lt, 0402, -O1) -@@ -151,7 +152,7 @@ cc-ldoption = $(call try-run,\ +@@ -152,7 +153,7 @@ cc-ldoption = $(call try-run,\ # ld-option # Usage: LDFLAGS += $(call ld-option, -X) ld-option = $(call try-run,\ @@ -64,8 +64,8 @@ the kernel. # Usage: KBUILD_ARFLAGS := $(call ar-option,D) --- a/Makefile +++ b/Makefile -@@ -614,6 +614,8 @@ else - KBUILD_CFLAGS += -O2 +@@ -630,6 +630,8 @@ KBUILD_CFLAGS += -O2 + endif endif +NOSTDINC_FLAGS += -nostdinc @@ -73,7 +73,7 @@ the kernel. # Tell gcc to never replace conditional load with a non-conditional one KBUILD_CFLAGS += $(call cc-option,--param=allow-store-data-races=0) -@@ -744,7 +746,7 @@ KBUILD_CFLAGS += $(call cc-option, -fno- +@@ -769,7 +771,7 @@ KBUILD_CFLAGS += $(call cc-option, -fno- endif # arch Makefile may override CC so keep this after arch Makefile is included diff --git a/debian/patches/bugfix/all/power-cpupower-fix-manpages-NAME.patch b/debian/patches/bugfix/all/power-cpupower-fix-manpages-NAME.patch deleted file mode 100644 index ee9534a8b..000000000 --- a/debian/patches/bugfix/all/power-cpupower-fix-manpages-NAME.patch +++ /dev/null @@ -1,62 +0,0 @@ -From: Mattia Dongili -Date: Fri, 19 Feb 2016 07:46:32 -0800 -Subject: Fix cpupower manpages "NAME" section -Forwarded: http://article.gmane.org/gmane.linux.power-management.general/73191 - -The token before "-" should be the program name, no spaces allowed. -See man(7) and lexgrog(1). - -Signed-off-by: Mattia Dongili ---- -diff --git a/tools/power/cpupower/man/cpupower-frequency-info.1 b/tools/power/cpupower/man/cpupower-frequency-info.1 -index 9c85a38..6aa8d23 100644 ---- a/tools/power/cpupower/man/cpupower-frequency-info.1 -+++ b/tools/power/cpupower/man/cpupower-frequency-info.1 -@@ -1,7 +1,7 @@ - .TH "CPUPOWER\-FREQUENCY\-INFO" "1" "0.1" "" "cpupower Manual" - .SH "NAME" - .LP --cpupower frequency\-info \- Utility to retrieve cpufreq kernel information -+cpupower\-frequency\-info \- Utility to retrieve cpufreq kernel information - .SH "SYNTAX" - .LP - cpupower [ \-c cpulist ] frequency\-info [\fIoptions\fP] -diff --git a/tools/power/cpupower/man/cpupower-frequency-set.1 b/tools/power/cpupower/man/cpupower-frequency-set.1 -index 3eacc8d..b505702 100644 ---- a/tools/power/cpupower/man/cpupower-frequency-set.1 -+++ b/tools/power/cpupower/man/cpupower-frequency-set.1 -@@ -1,7 +1,7 @@ - .TH "CPUPOWER\-FREQUENCY\-SET" "1" "0.1" "" "cpupower Manual" - .SH "NAME" - .LP --cpupower frequency\-set \- A small tool which allows to modify cpufreq settings. -+cpupower\-frequency\-set \- A small tool which allows to modify cpufreq settings. - .SH "SYNTAX" - .LP - cpupower [ \-c cpu ] frequency\-set [\fIoptions\fP] -diff --git a/tools/power/cpupower/man/cpupower-idle-info.1 b/tools/power/cpupower/man/cpupower-idle-info.1 -index 7b3646a..80a1311 100644 ---- a/tools/power/cpupower/man/cpupower-idle-info.1 -+++ b/tools/power/cpupower/man/cpupower-idle-info.1 -@@ -1,7 +1,7 @@ - .TH "CPUPOWER-IDLE-INFO" "1" "0.1" "" "cpupower Manual" - .SH "NAME" - .LP --cpupower idle\-info \- Utility to retrieve cpu idle kernel information -+cpupower\-idle\-info \- Utility to retrieve cpu idle kernel information - .SH "SYNTAX" - .LP - cpupower [ \-c cpulist ] idle\-info [\fIoptions\fP] -diff --git a/tools/power/cpupower/man/cpupower-idle-set.1 b/tools/power/cpupower/man/cpupower-idle-set.1 -index 580c4e3..21916cf 100644 ---- a/tools/power/cpupower/man/cpupower-idle-set.1 -+++ b/tools/power/cpupower/man/cpupower-idle-set.1 -@@ -1,7 +1,7 @@ - .TH "CPUPOWER-IDLE-SET" "1" "0.1" "" "cpupower Manual" - .SH "NAME" - .LP --cpupower idle\-set \- Utility to set cpu idle state specific kernel options -+cpupower\-idle\-set \- Utility to set cpu idle state specific kernel options - .SH "SYNTAX" - .LP - cpupower [ \-c cpulist ] idle\-info [\fIoptions\fP] diff --git a/debian/patches/bugfix/all/rtsx_usb_ms-use-msleep_interruptible-in-polling-loop.patch b/debian/patches/bugfix/all/rtsx_usb_ms-use-msleep_interruptible-in-polling-loop.patch deleted file mode 100644 index 64a86aa14..000000000 --- a/debian/patches/bugfix/all/rtsx_usb_ms-use-msleep_interruptible-in-polling-loop.patch +++ /dev/null @@ -1,30 +0,0 @@ -From: Ben Hutchings -Date: Mon, 28 Sep 2015 01:34:21 +0100 -Subject: rtsx_usb_ms: Use msleep_interruptible() in polling loop -Bug-Debian: https://bugs.debian.org/765717 -Forwarded: http://mid.gmane.org/1443400461.2517.22.camel@decadent.org.uk - -rtsx_usb_ms creates a task that mostly sleeps, but tasks in -uninterruptible sleep still contribute to the load average (for -bug-compatibility with Unix). A load average of ~1 on a system that -should be idle is somewhat alarming. - -Change the sleep to be interruptible, but still ignore signals. - -A better fix might be to replace this loop with a delayed work item. - -References: https://bugs.debian.org/765717 -Signed-off-by: Ben Hutchings ---- ---- a/drivers/memstick/host/rtsx_usb_ms.c -+++ b/drivers/memstick/host/rtsx_usb_ms.c -@@ -706,7 +706,8 @@ poll_again: - if (host->eject) - break; - -- msleep(1000); -+ if (msleep_interruptible(1000)) -+ flush_signals(current); - } - - complete(&host->detect_ms_exit); diff --git a/debian/patches/bugfix/all/tipc-check-nl-sock-before-parsing-nested-attributes.patch b/debian/patches/bugfix/all/tipc-check-nl-sock-before-parsing-nested-attributes.patch deleted file mode 100644 index 934147dd5..000000000 --- a/debian/patches/bugfix/all/tipc-check-nl-sock-before-parsing-nested-attributes.patch +++ /dev/null @@ -1,36 +0,0 @@ -From: Richard Alpe -Date: Mon, 16 May 2016 11:14:54 +0200 -Subject: tipc: check nl sock before parsing nested attributes -Origin: https://git.kernel.org/linus/45e093ae2830cd1264677d47ff9a95a71f5d9f9c - -Make sure the socket for which the user is listing publication exists -before parsing the socket netlink attributes. - -Prior to this patch a call without any socket caused a NULL pointer -dereference in tipc_nl_publ_dump(). - -Tested-and-reported-by: Baozeng Ding -Signed-off-by: Richard Alpe -Acked-by: Jon Maloy -Signed-off-by: David S. Miller ---- - net/tipc/socket.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/net/tipc/socket.c b/net/tipc/socket.c -index 1262889..3b7a799 100644 ---- a/net/tipc/socket.c -+++ b/net/tipc/socket.c -@@ -2853,6 +2853,9 @@ int tipc_nl_publ_dump(struct sk_buff *skb, struct netlink_callback *cb) - if (err) - return err; - -+ if (!attrs[TIPC_NLA_SOCK]) -+ return -EINVAL; -+ - err = nla_parse_nested(sock, TIPC_NLA_SOCK_MAX, - attrs[TIPC_NLA_SOCK], - tipc_nl_sock_policy); --- -2.8.1 - diff --git a/debian/patches/bugfix/all/tools-build-remove-bpf-run-time-check-at-build-time.patch b/debian/patches/bugfix/all/tools-build-remove-bpf-run-time-check-at-build-time.patch index c09e9e1e7..9d07fbc41 100644 --- a/debian/patches/bugfix/all/tools-build-remove-bpf-run-time-check-at-build-time.patch +++ b/debian/patches/bugfix/all/tools-build-remove-bpf-run-time-check-at-build-time.patch @@ -21,14 +21,14 @@ Signed-off-by: Ben Hutchings # error __NR_bpf not defined. libbpf does not support your arch. # endif #endif -@@ -28,9 +29,5 @@ int main(void) +@@ -27,9 +28,5 @@ int main(void) + attr.log_level = 0; attr.kern_version = 0; - attr = attr; - /* - * Test existence of __NR_bpf and BPF_PROG_LOAD. - * This call should fail if we run the testcase. - */ -- return syscall(__NR_bpf, BPF_PROG_LOAD, attr, sizeof(attr)); +- return syscall(__NR_bpf, BPF_PROG_LOAD, &attr, sizeof(attr)); + return 0; } diff --git a/debian/patches/bugfix/all/usb-usbfs-fix-potential-infoleak-in-devio.patch b/debian/patches/bugfix/all/usb-usbfs-fix-potential-infoleak-in-devio.patch deleted file mode 100644 index dee56c6ce..000000000 --- a/debian/patches/bugfix/all/usb-usbfs-fix-potential-infoleak-in-devio.patch +++ /dev/null @@ -1,36 +0,0 @@ -From: Kangjie Lu -Date: Tue, 3 May 2016 16:32:16 -0400 -Subject: USB: usbfs: fix potential infoleak in devio -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -Origin: https://git.kernel.org/linus/681fef8380eb818c0b845fca5d2ab1dcbab114ee - -The stack object “ci” has a total size of 8 bytes. Its last 3 bytes -are padding bytes which are not initialized and leaked to userland -via “copy_to_user”. - -Signed-off-by: Kangjie Lu -Signed-off-by: Greg Kroah-Hartman ---- - drivers/usb/core/devio.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - ---- a/drivers/usb/core/devio.c -+++ b/drivers/usb/core/devio.c -@@ -1186,10 +1186,11 @@ static int proc_getdriver(struct usb_dev - - static int proc_connectinfo(struct usb_dev_state *ps, void __user *arg) - { -- struct usbdevfs_connectinfo ci = { -- .devnum = ps->dev->devnum, -- .slow = ps->dev->speed == USB_SPEED_LOW -- }; -+ struct usbdevfs_connectinfo ci; -+ -+ memset(&ci, 0, sizeof(ci)); -+ ci.devnum = ps->dev->devnum; -+ ci.slow = ps->dev->speed == USB_SPEED_LOW; - - if (copy_to_user(arg, &ci, sizeof(ci))) - return -EFAULT; diff --git a/debian/patches/bugfix/mips/MIPS-Allow-emulation-for-unaligned-LSDXC1-instructions.patch b/debian/patches/bugfix/mips/MIPS-Allow-emulation-for-unaligned-LSDXC1-instructions.patch deleted file mode 100644 index fe17c02c9..000000000 --- a/debian/patches/bugfix/mips/MIPS-Allow-emulation-for-unaligned-LSDXC1-instructions.patch +++ /dev/null @@ -1,33 +0,0 @@ -From: Paul Burton -Date: Thu, 21 Apr 2016 12:25:38 +0100 -Subject: MIPS: Allow emulation for unaligned [LS]DXC1 instructions -Origin: https://git.kernel.org/linus/e70ac023f9515c70cf2b291a294f0f250df29847 - -If an address error exception occurs for a LDXC1 or SDXC1 instruction, -within the cop1x opcode space, allow it to be passed through to the FPU -emulator rather than resulting in a SIGILL. This causes LDXC1 & SDXC1 to -be handled in a manner consistent with the more common LDC1 & SDC1 -instructions. - -Signed-off-by: Paul Burton -Cc: Aurelien Jarno ---- - arch/mips/kernel/unaligned.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/mips/kernel/unaligned.c b/arch/mips/kernel/unaligned.c -index 5c62065..28b3af7 100644 ---- a/arch/mips/kernel/unaligned.c -+++ b/arch/mips/kernel/unaligned.c -@@ -1191,6 +1191,7 @@ static void emulate_load_store_insn(struct pt_regs *regs, - case ldc1_op: - case swc1_op: - case sdc1_op: -+ case cop1x_op: - die_if_kernel("Unaligned FP access in kernel code", regs); - BUG_ON(!used_math()); - --- -2.8.0 - - diff --git a/debian/patches/bugfix/mips/MIPS-Disable-preemption-during-prctl-PR_SET_FP_MODE.patch b/debian/patches/bugfix/mips/MIPS-Disable-preemption-during-prctl-PR_SET_FP_MODE.patch deleted file mode 100644 index ec9086fd0..000000000 --- a/debian/patches/bugfix/mips/MIPS-Disable-preemption-during-prctl-PR_SET_FP_MODE.patch +++ /dev/null @@ -1,42 +0,0 @@ -From: Paul Burton -Date: Thu, 21 Apr 2016 12:43:57 +0100 -Subject: [1/2] MIPS: Disable preemption during prctl(PR_SET_FP_MODE, ...) -Origin: https://git.kernel.org/linus/bd239f1e1429e7781096bf3884bdb1b2b1bb4f28 - -Whilst a PR_SET_FP_MODE prctl is performed there are decisions made -based upon whether the task is executing on the current CPU. This may -change if we're preempted, so disable preemption to avoid such changes -for the lifetime of the mode switch. - -Signed-off-by: Paul Burton -Fixes: 9791554b45a2 ("MIPS,prctl: add PR_[GS]ET_FP_MODE prctl options for MIPS") -Cc: stable # v4.0+ ---- - arch/mips/kernel/process.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c -index 92880ce..ce55ea0 100644 ---- a/arch/mips/kernel/process.c -+++ b/arch/mips/kernel/process.c -@@ -601,6 +601,9 @@ int mips_set_process_fp_mode(struct task_struct *task, unsigned int value) - if (!(value & PR_FP_MODE_FR) && cpu_has_fpu && cpu_has_mips_r6) - return -EOPNOTSUPP; - -+ /* Proceed with the mode switch */ -+ preempt_disable(); -+ - /* Save FP & vector context, then disable FPU & MSA */ - if (task->signal == current->signal) - lose_fpu(1); -@@ -659,6 +662,7 @@ int mips_set_process_fp_mode(struct task_struct *task, unsigned int value) - - /* Allow threads to use FP again */ - atomic_set(&task->mm->context.fp_mode_switching, 0); -+ preempt_enable(); - - return 0; - } --- -2.8.1 - diff --git a/debian/patches/bugfix/mips/MIPS-Force-CPUs-to-lose-FP-context-during-mode-switc.patch b/debian/patches/bugfix/mips/MIPS-Force-CPUs-to-lose-FP-context-during-mode-switc.patch deleted file mode 100644 index 301e2e000..000000000 --- a/debian/patches/bugfix/mips/MIPS-Force-CPUs-to-lose-FP-context-during-mode-switc.patch +++ /dev/null @@ -1,101 +0,0 @@ -From: Paul Burton -Date: Thu, 21 Apr 2016 12:43:58 +0100 -Subject: [2/2] MIPS: Force CPUs to lose FP context during mode switches -Origin: https://git.kernel.org/linus/6b8322576e9d325b65c54fbef64e4e8690ad70ce - -Commit 9791554b45a2 ("MIPS,prctl: add PR_[GS]ET_FP_MODE prctl options -for MIPS") added support for the PR_SET_FP_MODE prctl, which allows a -userland program to modify its FP mode at runtime. This is most notably -required if dynamic linking leads to the FP mode requirement changing at -runtime from that indicated in the initial executable's ELF header. In -order to avoid overhead in the general FP context restore code, it aimed -to have threads in the process become unable to enable the FPU during a -mode switch & have the thread calling the prctl syscall wait for all -other threads in the process to be context switched at least once. Once -that happens we can know that no thread in the process whose mode will -be switched has live FP context, and it's safe to perform the mode -switch. However in the (rare) case of modeswitches occurring in -multithreaded programs this can lead to indeterminate delays for the -thread invoking the prctl syscall, and the code monitoring for those -context switches was woefully inadequate for all but the simplest cases. - -Fix this by broadcasting an IPI if other CPUs may have live FP context -for an affected thread, with a handler causing those CPUs to relinquish -their FPU ownership. Threads will then be allowed to continue running -but will stall on the wait_on_atomic_t in enable_restore_fp_context if -they attempt to use FP again whilst the mode switch is still in -progress. The end result is less fragile poking at scheduler context -switch counts & a more expedient completion of the mode switch. - -Signed-off-by: Paul Burton -Fixes: 9791554b45a2 ("MIPS,prctl: add PR_[GS]ET_FP_MODE prctl options for MIPS") -Cc: stable # v4.0+ ---- - arch/mips/kernel/process.c | 40 +++++++++++++++++----------------------- - 1 file changed, 17 insertions(+), 23 deletions(-) - -diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c -index ce55ea0..e1b36a4 100644 ---- a/arch/mips/kernel/process.c -+++ b/arch/mips/kernel/process.c -@@ -580,11 +580,19 @@ int mips_get_process_fp_mode(struct task_struct *task) - return value; - } - -+static void prepare_for_fp_mode_switch(void *info) -+{ -+ struct mm_struct *mm = info; -+ -+ if (current->mm == mm) -+ lose_fpu(1); -+} -+ - int mips_set_process_fp_mode(struct task_struct *task, unsigned int value) - { - const unsigned int known_bits = PR_FP_MODE_FR | PR_FP_MODE_FRE; -- unsigned long switch_count; - struct task_struct *t; -+ int max_users; - - /* Check the value is valid */ - if (value & ~known_bits) -@@ -613,31 +621,17 @@ int mips_set_process_fp_mode(struct task_struct *task, unsigned int value) - smp_mb__after_atomic(); - - /* -- * If there are multiple online CPUs then wait until all threads whose -- * FP mode is about to change have been context switched. This approach -- * allows us to only worry about whether an FP mode switch is in -- * progress when FP is first used in a tasks time slice. Pretty much all -- * of the mode switch overhead can thus be confined to cases where mode -- * switches are actually occurring. That is, to here. However for the -- * thread performing the mode switch it may take a while... -+ * If there are multiple online CPUs then force any which are running -+ * threads in this process to lose their FPU context, which they can't -+ * regain until fp_mode_switching is cleared later. - */ - if (num_online_cpus() > 1) { -- spin_lock_irq(&task->sighand->siglock); -- -- for_each_thread(task, t) { -- if (t == current) -- continue; -- -- switch_count = t->nvcsw + t->nivcsw; -- -- do { -- spin_unlock_irq(&task->sighand->siglock); -- cond_resched(); -- spin_lock_irq(&task->sighand->siglock); -- } while ((t->nvcsw + t->nivcsw) == switch_count); -- } -+ /* No need to send an IPI for the local CPU */ -+ max_users = (task->mm == current->mm) ? 1 : 0; - -- spin_unlock_irq(&task->sighand->siglock); -+ if (atomic_read(¤t->mm->mm_users) > max_users) -+ smp_call_function(prepare_for_fp_mode_switch, -+ (void *)current->mm, 1); - } - - /* diff --git a/debian/patches/bugfix/powerpc/powerpc-fix-sstep-compile-on-powerpcspe.patch b/debian/patches/bugfix/powerpc/powerpc-fix-sstep-compile-on-powerpcspe.patch deleted file mode 100644 index 460db4096..000000000 --- a/debian/patches/bugfix/powerpc/powerpc-fix-sstep-compile-on-powerpcspe.patch +++ /dev/null @@ -1,48 +0,0 @@ -From: "Lennart Sorensen" -Subject: powerpc: Fix sstep compile on powerpcspe -Date: Thu, 5 May 2016 16:44:44 -0400 -Forwarded: http://news.gmane.org/gmane.linux.ports.ppc.embedded/95502 -Bug-Debian: https://bugs.debian.org/823526 - -Commit be96f63375a14ee8e690856ac77e579c75bd0bae introduced ldarx and stdcx -into the instructions in sstep.c, which are not accepted by the assembler -on powerpcspe, but does seem to be accepted by the normal powerpc assembler -even in 32 bit mode. - -Wrap these two instructions in a __powerpc64__ check like it is everywhere -else in the file. - -Fixes: be96f63375a1 ("powerpc: Split out instruction analysis part of emulate_step()") -Signed-off-by: Len Sorensen ---- - arch/powerpc/lib/sstep.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c -index dc885b3..6d34310 100644 ---- a/arch/powerpc/lib/sstep.c -+++ b/arch/powerpc/lib/sstep.c -@@ -1818,9 +1818,11 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr) - case 4: - __get_user_asmx(val, op.ea, err, "lwarx"); - break; -+#ifdef __powerpc64__ - case 8: - __get_user_asmx(val, op.ea, err, "ldarx"); - break; -+#endif - default: - return 0; - } -@@ -1841,9 +1843,11 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr) - case 4: - __put_user_asmx(op.val, op.ea, err, "stwcx.", cr); - break; -+#ifdef __powerpc64__ - case 8: - __put_user_asmx(op.val, op.ea, err, "stdcx.", cr); - break; -+#endif - default: - return 0; - } diff --git a/debian/patches/bugfix/x86/kvm-vmx-more-complete-state-update-on-apicv-on-off.patch b/debian/patches/bugfix/x86/kvm-vmx-more-complete-state-update-on-apicv-on-off.patch deleted file mode 100644 index ca5e6ad6e..000000000 --- a/debian/patches/bugfix/x86/kvm-vmx-more-complete-state-update-on-apicv-on-off.patch +++ /dev/null @@ -1,101 +0,0 @@ -From: Roman Kagan -Subject: kvm:vmx: more complete state update on APICv on/off -Date: Wed, 18 May 2016 17:48:20 +0300 -Origin: http://article.gmane.org/gmane.comp.emulators.kvm.devel/152191 - -The function to update APICv on/off state (in particular, to deactivate -it when enabling Hyper-V SynIC), used to be incomplete: it didn't adjust -APICv-related fields among secondary processor-based VM-execution -controls. - -As a result, Windows 2012 guests would get stuck when SynIC-based -auto-EOI interrupt intersected with e.g. an IPI in the guest. - -In addition, the MSR intercept bitmap wasn't updated to correspond to -whether "virtualize x2APIC mode" was enabled. This path used not to be -triggered, since Windows didn't use x2APIC but rather their own -synthetic APIC access MSRs; however it represented a security risk -because the guest running in a SynIC-enabled VM could switch to x2APIC -and thus obtain direct access to host APIC MSRs (thanks to Yang Zhang - for spotting this). - -The patch fixes those omissions. - -Signed-off-by: Roman Kagan -Cc: Steve Rutherford -Cc: Yang Zhang ---- - arch/x86/kvm/vmx.c | 48 ++++++++++++++++++++++++++++++------------------ - 1 file changed, 30 insertions(+), 18 deletions(-) - ---- a/arch/x86/kvm/vmx.c -+++ b/arch/x86/kvm/vmx.c -@@ -2397,7 +2397,9 @@ static void vmx_set_msr_bitmap(struct kv - - if (is_guest_mode(vcpu)) - msr_bitmap = vmx_msr_bitmap_nested; -- else if (vcpu->arch.apic_base & X2APIC_ENABLE) { -+ else if (cpu_has_secondary_exec_ctrls() && -+ (vmcs_read32(SECONDARY_VM_EXEC_CONTROL) & -+ SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE)) { - if (is_long_mode(vcpu)) - msr_bitmap = vmx_msr_bitmap_longmode_x2apic; - else -@@ -4758,6 +4760,19 @@ static void vmx_refresh_apicv_exec_ctrl( - struct vcpu_vmx *vmx = to_vmx(vcpu); - - vmcs_write32(PIN_BASED_VM_EXEC_CONTROL, vmx_pin_based_exec_ctrl(vmx)); -+ if (cpu_has_secondary_exec_ctrls()) { -+ if (kvm_vcpu_apicv_active(vcpu)) -+ vmcs_set_bits(SECONDARY_VM_EXEC_CONTROL, -+ SECONDARY_EXEC_APIC_REGISTER_VIRT | -+ SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY); -+ else -+ vmcs_clear_bits(SECONDARY_VM_EXEC_CONTROL, -+ SECONDARY_EXEC_APIC_REGISTER_VIRT | -+ SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY); -+ } -+ -+ if (cpu_has_vmx_msr_bitmap()) -+ vmx_set_msr_bitmap(vcpu); - } - - static u32 vmx_exec_control(struct vcpu_vmx *vmx) -@@ -6313,23 +6328,20 @@ static __init int hardware_setup(void) - - set_bit(0, vmx_vpid_bitmap); /* 0 is reserved for host */ - -- if (enable_apicv) { -- for (msr = 0x800; msr <= 0x8ff; msr++) -- vmx_disable_intercept_msr_read_x2apic(msr); -- -- /* According SDM, in x2apic mode, the whole id reg is used. -- * But in KVM, it only use the highest eight bits. Need to -- * intercept it */ -- vmx_enable_intercept_msr_read_x2apic(0x802); -- /* TMCCT */ -- vmx_enable_intercept_msr_read_x2apic(0x839); -- /* TPR */ -- vmx_disable_intercept_msr_write_x2apic(0x808); -- /* EOI */ -- vmx_disable_intercept_msr_write_x2apic(0x80b); -- /* SELF-IPI */ -- vmx_disable_intercept_msr_write_x2apic(0x83f); -- } -+ for (msr = 0x800; msr <= 0x8ff; msr++) -+ vmx_disable_intercept_msr_read_x2apic(msr); -+ -+ /* According SDM, in x2apic mode, the whole id reg is used. But in -+ * KVM, it only use the highest eight bits. Need to intercept it */ -+ vmx_enable_intercept_msr_read_x2apic(0x802); -+ /* TMCCT */ -+ vmx_enable_intercept_msr_read_x2apic(0x839); -+ /* TPR */ -+ vmx_disable_intercept_msr_write_x2apic(0x808); -+ /* EOI */ -+ vmx_disable_intercept_msr_write_x2apic(0x80b); -+ /* SELF-IPI */ -+ vmx_disable_intercept_msr_write_x2apic(0x83f); - - if (enable_ept) { - kvm_mmu_set_mask_ptes(0ull, diff --git a/debian/patches/debian/gitignore.patch b/debian/patches/debian/gitignore.patch index eb713482f..e67d5c317 100644 --- a/debian/patches/debian/gitignore.patch +++ b/debian/patches/debian/gitignore.patch @@ -7,7 +7,7 @@ Forwarded: not-needed --- a/.gitignore +++ b/.gitignore -@@ -50,22 +50,11 @@ Module.symvers +@@ -52,22 +52,11 @@ Module.symvers /Module.markers # @@ -21,7 +21,7 @@ Forwarded: not-needed /tar-install/ # --# git files that we don't want to ignore even it they are dot-files +-# git files that we don't want to ignore even if they are dot-files -# -!.gitignore -!.mailmap @@ -30,7 +30,7 @@ Forwarded: not-needed # Generated include files # include/config -@@ -106,3 +95,10 @@ all.config +@@ -112,3 +101,10 @@ all.config # Kdevelop4 *.kdev4 diff --git a/debian/patches/debian/kernelvariables.patch b/debian/patches/debian/kernelvariables.patch index 1b6ee17d0..02612fc26 100644 --- a/debian/patches/debian/kernelvariables.patch +++ b/debian/patches/debian/kernelvariables.patch @@ -14,7 +14,7 @@ use of $(ARCH) needs to be moved after this. --- a/Makefile +++ b/Makefile -@@ -251,42 +251,6 @@ SUBARCH := $(shell uname -m | sed -e s/i +@@ -255,42 +255,6 @@ SUBARCH := $(shell uname -m | sed -e s/i ARCH ?= $(SUBARCH) CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%) @@ -57,8 +57,8 @@ use of $(ARCH) needs to be moved after this. KCONFIG_CONFIG ?= .config export KCONFIG_CONFIG -@@ -367,6 +331,44 @@ AFLAGS_KERNEL = - CFLAGS_GCOV = -fprofile-arcs -ftest-coverage +@@ -371,6 +335,44 @@ AFLAGS_KERNEL = + CFLAGS_GCOV = -fprofile-arcs -ftest-coverage -fno-tree-loop-im -Wno-maybe-uninitialized CFLAGS_KCOV = -fsanitize-coverage=trace-pc +-include $(obj)/.kernelvariables diff --git a/debian/patches/debian/version.patch b/debian/patches/debian/version.patch index 8311a6f51..313451ce9 100644 --- a/debian/patches/debian/version.patch +++ b/debian/patches/debian/version.patch @@ -9,16 +9,16 @@ are set. --- a/Makefile +++ b/Makefile -@@ -984,7 +984,7 @@ endif +@@ -1019,7 +1019,7 @@ endif prepare2: prepare3 outputmakefile asm-generic prepare1: prepare2 $(version_h) include/generated/utsrelease.h \ - include/config/auto.conf + include/config/auto.conf include/generated/package.h $(cmd_crmodverdir) - - archprepare: archheaders archscripts prepare1 scripts_basic -@@ -1016,6 +1016,16 @@ define filechk_version.h + $(Q)test -e include/generated/autoksyms.h || \ + touch include/generated/autoksyms.h +@@ -1068,6 +1068,16 @@ define filechk_version.h echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))';) endef @@ -35,7 +35,7 @@ are set. $(version_h): $(srctree)/Makefile FORCE $(call filechk,version.h) $(Q)rm -f $(old_version_h) -@@ -1023,6 +1033,9 @@ $(version_h): $(srctree)/Makefile FORCE +@@ -1075,6 +1085,9 @@ $(version_h): $(srctree)/Makefile FORCE include/generated/utsrelease.h: include/config/kernel.release FORCE $(call filechk,utsrelease.h) @@ -91,15 +91,15 @@ are set. regs->ar_unat, regs->ar_pfs, regs->ar_rsc); --- a/arch/powerpc/kernel/process.c +++ b/arch/powerpc/kernel/process.c -@@ -38,6 +38,7 @@ - #include +@@ -39,6 +39,7 @@ #include #include + #include +#include #include #include -@@ -1150,8 +1151,9 @@ void show_regs(struct pt_regs * regs) +@@ -1286,8 +1287,9 @@ void show_regs(struct pt_regs * regs) printk("NIP: "REG" LR: "REG" CTR: "REG"\n", regs->nip, regs->link, regs->ctr); @@ -121,7 +121,7 @@ are set. #include #include -@@ -3168,11 +3169,12 @@ void __init dump_stack_set_arch_desc(con +@@ -3153,11 +3154,12 @@ void __init dump_stack_set_arch_desc(con */ void dump_stack_print_info(const char *log_lvl) { diff --git a/debian/patches/features/all/aufs4/aufs4-standalone.patch b/debian/patches/features/all/aufs4/aufs4-standalone.patch index 6acb33421..3588aa41f 100644 --- a/debian/patches/features/all/aufs4/aufs4-standalone.patch +++ b/debian/patches/features/all/aufs4/aufs4-standalone.patch @@ -8,11 +8,9 @@ Patch headers added by debian/patches/features/all/aufs4/gen-patch aufs4.6 standalone patch -diff --git a/fs/dcache.c b/fs/dcache.c -index 4de75b2..0dd0237 100644 --- a/fs/dcache.c +++ b/fs/dcache.c -@@ -1261,6 +1261,7 @@ rename_retry: +@@ -1274,6 +1274,7 @@ rename_retry: seq = 1; goto again; } @@ -20,11 +18,9 @@ index 4de75b2..0dd0237 100644 /* * Search for at least 1 mount point in the dentry's subdirs. -diff --git a/fs/exec.c b/fs/exec.c -index c4010b8..c2b225f 100644 --- a/fs/exec.c +++ b/fs/exec.c -@@ -104,6 +104,7 @@ bool path_noexec(const struct path *path) +@@ -104,6 +104,7 @@ bool path_noexec(const struct path *path return (path->mnt->mnt_flags & MNT_NOEXEC) || (path->mnt->mnt_sb->s_iflags & SB_I_NOEXEC); } @@ -32,11 +28,9 @@ index c4010b8..c2b225f 100644 #ifdef CONFIG_USELIB /* -diff --git a/fs/fcntl.c b/fs/fcntl.c -index 6f42279..04fd33c 100644 --- a/fs/fcntl.c +++ b/fs/fcntl.c -@@ -82,6 +82,7 @@ int setfl(int fd, struct file * filp, unsigned long arg) +@@ -82,6 +82,7 @@ int setfl(int fd, struct file * filp, un out: return error; } @@ -44,8 +38,6 @@ index 6f42279..04fd33c 100644 static void f_modown(struct file *filp, struct pid *pid, enum pid_type type, int force) -diff --git a/fs/file_table.c b/fs/file_table.c -index ad17e05..ae9f267 100644 --- a/fs/file_table.c +++ b/fs/file_table.c @@ -147,6 +147,7 @@ over: @@ -80,11 +72,9 @@ index ad17e05..ae9f267 100644 void __init files_init(void) { -diff --git a/fs/namespace.c b/fs/namespace.c -index 4fb1691..97654d2 100644 --- a/fs/namespace.c +++ b/fs/namespace.c -@@ -463,6 +463,7 @@ void __mnt_drop_write(struct vfsmount *mnt) +@@ -463,6 +463,7 @@ void __mnt_drop_write(struct vfsmount *m mnt_dec_writers(real_mount(mnt)); preempt_enable(); } @@ -92,7 +82,7 @@ index 4fb1691..97654d2 100644 /** * mnt_drop_write - give up write access to a mount -@@ -1811,6 +1812,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg, +@@ -1811,6 +1812,7 @@ int iterate_mounts(int (*f)(struct vfsmo } return 0; } @@ -100,8 +90,6 @@ index 4fb1691..97654d2 100644 static void cleanup_group_ids(struct mount *mnt, struct mount *end) { -diff --git a/fs/notify/group.c b/fs/notify/group.c -index d16b62c..53e45b6 100644 --- a/fs/notify/group.c +++ b/fs/notify/group.c @@ -22,6 +22,7 @@ @@ -112,7 +100,7 @@ index d16b62c..53e45b6 100644 #include #include "fsnotify.h" -@@ -72,6 +73,7 @@ void fsnotify_get_group(struct fsnotify_group *group) +@@ -81,6 +82,7 @@ void fsnotify_get_group(struct fsnotify_ { atomic_inc(&group->refcnt); } @@ -120,7 +108,7 @@ index d16b62c..53e45b6 100644 /* * Drop a reference to a group. Free it if it's through. -@@ -81,6 +83,7 @@ void fsnotify_put_group(struct fsnotify_group *group) +@@ -90,6 +92,7 @@ void fsnotify_put_group(struct fsnotify_ if (atomic_dec_and_test(&group->refcnt)) fsnotify_final_destroy_group(group); } @@ -128,7 +116,7 @@ index d16b62c..53e45b6 100644 /* * Create a new fsnotify_group and hold a reference for the group returned. -@@ -109,6 +112,7 @@ struct fsnotify_group *fsnotify_alloc_group(const struct fsnotify_ops *ops) +@@ -118,6 +121,7 @@ struct fsnotify_group *fsnotify_alloc_gr return group; } @@ -136,11 +124,9 @@ index d16b62c..53e45b6 100644 int fsnotify_fasync(int fd, struct file *file, int on) { -diff --git a/fs/notify/mark.c b/fs/notify/mark.c -index 7115c5d..ac2bd69 100644 --- a/fs/notify/mark.c +++ b/fs/notify/mark.c -@@ -113,6 +113,7 @@ void fsnotify_put_mark(struct fsnotify_mark *mark) +@@ -113,6 +113,7 @@ void fsnotify_put_mark(struct fsnotify_m mark->free_mark(mark); } } @@ -148,7 +134,7 @@ index 7115c5d..ac2bd69 100644 /* Calculate mask of events for a list of marks */ u32 fsnotify_recalc_mask(struct hlist_head *head) -@@ -213,6 +214,7 @@ void fsnotify_destroy_mark(struct fsnotify_mark *mark, +@@ -230,6 +231,7 @@ void fsnotify_destroy_mark(struct fsnoti mutex_unlock(&group->mark_mutex); fsnotify_free_mark(mark); } @@ -156,7 +142,7 @@ index 7115c5d..ac2bd69 100644 void fsnotify_destroy_marks(struct hlist_head *head, spinlock_t *lock) { -@@ -398,6 +400,7 @@ err: +@@ -415,6 +417,7 @@ err: return ret; } @@ -164,25 +150,23 @@ index 7115c5d..ac2bd69 100644 int fsnotify_add_mark(struct fsnotify_mark *mark, struct fsnotify_group *group, struct inode *inode, struct vfsmount *mnt, int allow_dups) -@@ -498,6 +501,7 @@ void fsnotify_init_mark(struct fsnotify_mark *mark, - atomic_set(&mark->refcnt, 1); - mark->free_mark = free_mark; +@@ -521,6 +524,7 @@ void fsnotify_duplicate_mark(struct fsno + new->mask = old->mask; + new->free_mark = old->free_mark; } +EXPORT_SYMBOL_GPL(fsnotify_init_mark); - static void fsnotify_mark_destroy(struct work_struct *work) - { -diff --git a/fs/open.c b/fs/open.c -index 081d3d6..b4359e4 100644 + /* + * Nothing fancy, just initialize lists and locks and counters. --- a/fs/open.c +++ b/fs/open.c -@@ -64,6 +64,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs, +@@ -64,6 +64,7 @@ int do_truncate(struct dentry *dentry, l inode_unlock(dentry->d_inode); return ret; } +EXPORT_SYMBOL_GPL(do_truncate); - long vfs_truncate(struct path *path, loff_t length) + long vfs_truncate(const struct path *path, loff_t length) { @@ -678,6 +679,7 @@ int open_check_o_direct(struct file *f) } @@ -192,11 +176,9 @@ index 081d3d6..b4359e4 100644 static int do_dentry_open(struct file *f, struct inode *inode, -diff --git a/fs/read_write.c b/fs/read_write.c -index 0ebcdc5..0a43d7b 100644 --- a/fs/read_write.c +++ b/fs/read_write.c -@@ -544,6 +544,7 @@ vfs_readf_t vfs_readf(struct file *file) +@@ -525,6 +525,7 @@ vfs_readf_t vfs_readf(struct file *file) return new_sync_read; return ERR_PTR(-ENOSYS); } @@ -204,7 +186,7 @@ index 0ebcdc5..0a43d7b 100644 vfs_writef_t vfs_writef(struct file *file) { -@@ -555,6 +556,7 @@ vfs_writef_t vfs_writef(struct file *file) +@@ -536,6 +537,7 @@ vfs_writef_t vfs_writef(struct file *fil return new_sync_write; return ERR_PTR(-ENOSYS); } @@ -212,11 +194,9 @@ index 0ebcdc5..0a43d7b 100644 ssize_t __kernel_write(struct file *file, const char *buf, size_t count, loff_t *pos) { -diff --git a/fs/splice.c b/fs/splice.c -index 9326c2a..0606690 100644 --- a/fs/splice.c +++ b/fs/splice.c -@@ -1124,6 +1124,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out, +@@ -1124,6 +1124,7 @@ long do_splice_from(struct pipe_inode_in return splice_write(pipe, out, ppos, len, flags); } @@ -224,7 +204,7 @@ index 9326c2a..0606690 100644 /* * Attempt to initiate a splice from a file to a pipe. -@@ -1153,6 +1154,7 @@ long do_splice_to(struct file *in, loff_t *ppos, +@@ -1153,6 +1154,7 @@ long do_splice_to(struct file *in, loff_ return splice_read(in, ppos, pipe, len, flags); } @@ -232,11 +212,9 @@ index 9326c2a..0606690 100644 /** * splice_direct_to_actor - splices data directly between two non-pipes -diff --git a/fs/xattr.c b/fs/xattr.c -index 4861322..c4bb039 100644 --- a/fs/xattr.c +++ b/fs/xattr.c -@@ -207,6 +207,7 @@ vfs_getxattr_alloc(struct dentry *dentry, const char *name, char **xattr_value, +@@ -207,6 +207,7 @@ vfs_getxattr_alloc(struct dentry *dentry *xattr_value = value; return error; } @@ -244,8 +222,6 @@ index 4861322..c4bb039 100644 ssize_t vfs_getxattr(struct dentry *dentry, const char *name, void *value, size_t size) -diff --git a/kernel/task_work.c b/kernel/task_work.c -index 53fa971..bce3211 100644 --- a/kernel/task_work.c +++ b/kernel/task_work.c @@ -118,3 +118,4 @@ void task_work_run(void) @@ -253,8 +229,6 @@ index 53fa971..bce3211 100644 } } +EXPORT_SYMBOL_GPL(task_work_run); -diff --git a/security/commoncap.c b/security/commoncap.c -index 48071ed..50a1a40 100644 --- a/security/commoncap.c +++ b/security/commoncap.c @@ -1058,12 +1058,14 @@ int cap_mmap_addr(unsigned long addr) @@ -272,8 +246,6 @@ index 48071ed..50a1a40 100644 #ifdef CONFIG_SECURITY -diff --git a/security/device_cgroup.c b/security/device_cgroup.c -index 03c1652..f88c84b 100644 --- a/security/device_cgroup.c +++ b/security/device_cgroup.c @@ -7,6 +7,7 @@ @@ -284,7 +256,7 @@ index 03c1652..f88c84b 100644 #include #include #include -@@ -849,6 +850,7 @@ int __devcgroup_inode_permission(struct inode *inode, int mask) +@@ -849,6 +850,7 @@ int __devcgroup_inode_permission(struct return __devcgroup_check_permission(type, imajor(inode), iminor(inode), access); } @@ -292,59 +264,57 @@ index 03c1652..f88c84b 100644 int devcgroup_inode_mknod(int mode, dev_t dev) { -diff --git a/security/security.c b/security/security.c -index 3644b03..593879b 100644 --- a/security/security.c +++ b/security/security.c -@@ -433,6 +433,7 @@ int security_path_rmdir(struct path *dir, struct dentry *dentry) +@@ -434,6 +434,7 @@ int security_path_rmdir(const struct pat return 0; return call_int_hook(path_rmdir, 0, dir, dentry); } +EXPORT_SYMBOL_GPL(security_path_rmdir); - int security_path_unlink(struct path *dir, struct dentry *dentry) + int security_path_unlink(const struct path *dir, struct dentry *dentry) { -@@ -449,6 +450,7 @@ int security_path_symlink(struct path *dir, struct dentry *dentry, +@@ -450,6 +451,7 @@ int security_path_symlink(const struct p return 0; return call_int_hook(path_symlink, 0, dir, dentry, old_name); } +EXPORT_SYMBOL_GPL(security_path_symlink); - int security_path_link(struct dentry *old_dentry, struct path *new_dir, + int security_path_link(struct dentry *old_dentry, const struct path *new_dir, struct dentry *new_dentry) -@@ -457,6 +459,7 @@ int security_path_link(struct dentry *old_dentry, struct path *new_dir, +@@ -458,6 +460,7 @@ int security_path_link(struct dentry *ol return 0; return call_int_hook(path_link, 0, old_dentry, new_dir, new_dentry); } +EXPORT_SYMBOL_GPL(security_path_link); - int security_path_rename(struct path *old_dir, struct dentry *old_dentry, - struct path *new_dir, struct dentry *new_dentry, -@@ -484,6 +487,7 @@ int security_path_truncate(struct path *path) + int security_path_rename(const struct path *old_dir, struct dentry *old_dentry, + const struct path *new_dir, struct dentry *new_dentry, +@@ -485,6 +488,7 @@ int security_path_truncate(const struct return 0; return call_int_hook(path_truncate, 0, path); } +EXPORT_SYMBOL_GPL(security_path_truncate); - int security_path_chmod(struct path *path, umode_t mode) + int security_path_chmod(const struct path *path, umode_t mode) { -@@ -491,6 +495,7 @@ int security_path_chmod(struct path *path, umode_t mode) +@@ -492,6 +496,7 @@ int security_path_chmod(const struct pat return 0; return call_int_hook(path_chmod, 0, path, mode); } +EXPORT_SYMBOL_GPL(security_path_chmod); - int security_path_chown(struct path *path, kuid_t uid, kgid_t gid) + int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid) { -@@ -498,6 +503,7 @@ int security_path_chown(struct path *path, kuid_t uid, kgid_t gid) +@@ -499,6 +504,7 @@ int security_path_chown(const struct pat return 0; return call_int_hook(path_chown, 0, path, uid, gid); } +EXPORT_SYMBOL_GPL(security_path_chown); - int security_path_chroot(struct path *path) + int security_path_chroot(const struct path *path) { -@@ -583,6 +589,7 @@ int security_inode_readlink(struct dentry *dentry) +@@ -584,6 +590,7 @@ int security_inode_readlink(struct dentr return 0; return call_int_hook(inode_readlink, 0, dentry); } @@ -352,7 +322,7 @@ index 3644b03..593879b 100644 int security_inode_follow_link(struct dentry *dentry, struct inode *inode, bool rcu) -@@ -598,6 +605,7 @@ int security_inode_permission(struct inode *inode, int mask) +@@ -599,6 +606,7 @@ int security_inode_permission(struct ino return 0; return call_int_hook(inode_permission, 0, inode, mask); } @@ -360,7 +330,7 @@ index 3644b03..593879b 100644 int security_inode_setattr(struct dentry *dentry, struct iattr *attr) { -@@ -736,6 +744,7 @@ int security_file_permission(struct file *file, int mask) +@@ -737,6 +745,7 @@ int security_file_permission(struct file return fsnotify_perm(file, mask); } @@ -368,7 +338,7 @@ index 3644b03..593879b 100644 int security_file_alloc(struct file *file) { -@@ -795,6 +804,7 @@ int security_mmap_file(struct file *file, unsigned long prot, +@@ -796,6 +805,7 @@ int security_mmap_file(struct file *file return ret; return ima_file_mmap(file, prot); } diff --git a/debian/patches/features/all/grsecurity/grkernsec_perf_harden.patch b/debian/patches/features/all/grsecurity/grkernsec_perf_harden.patch index bd1203b12..110d2d422 100644 --- a/debian/patches/features/all/grsecurity/grkernsec_perf_harden.patch +++ b/debian/patches/features/all/grsecurity/grkernsec_perf_harden.patch @@ -10,9 +10,9 @@ This standalone version doesn't include making the variable read-only --- --- a/include/linux/perf_event.h +++ b/include/linux/perf_event.h -@@ -1002,6 +1002,11 @@ extern int perf_cpu_time_max_percent_han - loff_t *ppos); - +@@ -1122,6 +1122,11 @@ extern int perf_cpu_time_max_percent_han + int perf_event_max_stack_handler(struct ctl_table *table, int write, + void __user *buffer, size_t *lenp, loff_t *ppos); +static inline bool perf_paranoid_any(void) +{ @@ -24,7 +24,7 @@ This standalone version doesn't include making the variable read-only return sysctl_perf_event_paranoid > -1; --- a/kernel/events/core.c +++ b/kernel/events/core.c -@@ -350,8 +350,13 @@ static struct srcu_struct pmus_srcu; +@@ -352,8 +352,13 @@ static struct srcu_struct pmus_srcu; * 0 - disallow raw tracepoint access for unpriv * 1 - disallow cpu events for unpriv * 2 - disallow kernel profiling for unpriv @@ -38,7 +38,7 @@ This standalone version doesn't include making the variable read-only /* Minimum for 512 kiB + 1 user control page */ int sysctl_perf_event_mlock __read_mostly = 512 + (PAGE_SIZE / 1024); /* 'free' kiB per user */ -@@ -8345,6 +8350,11 @@ SYSCALL_DEFINE5(perf_event_open, +@@ -9181,6 +9186,11 @@ SYSCALL_DEFINE5(perf_event_open, if (flags & ~PERF_FLAG_ALL) return -EINVAL; diff --git a/debian/patches/features/all/securelevel/acpi-disable-acpi-table-override-if-securelevel-is-s.patch b/debian/patches/features/all/securelevel/acpi-disable-acpi-table-override-if-securelevel-is-s.patch index 6313cfff6..69eade908 100644 --- a/debian/patches/features/all/securelevel/acpi-disable-acpi-table-override-if-securelevel-is-s.patch +++ b/debian/patches/features/all/securelevel/acpi-disable-acpi-table-override-if-securelevel-is-s.patch @@ -14,14 +14,15 @@ changes to kernel space. ACPI tables contain code invoked by the kernel, so do not allow ACPI tables to be overridden if securelevel is set. Signed-off-by: Linn Crosetto +[bwh: Forward-ported to 4.7: ACPI override code moved to drivers/acpi/tables.c] --- arch/x86/kernel/setup.c | 12 ++++++------ - drivers/acpi/osl.c | 6 ++++++ + drivers/acpi/tables.c | 6 ++++++ 2 files changed, 12 insertions(+), 6 deletions(-) --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c -@@ -1136,6 +1136,12 @@ void __init setup_arch(char **cmdline_p) +@@ -1145,6 +1145,12 @@ void __init setup_arch(char **cmdline_p) /* Allocate bigger log buffer */ setup_log_buf(1); @@ -33,8 +34,8 @@ Signed-off-by: Linn Crosetto + reserve_initrd(); - #if defined(CONFIG_ACPI) && defined(CONFIG_BLK_DEV_INITRD) -@@ -1146,12 +1152,6 @@ void __init setup_arch(char **cmdline_p) + early_initrd_acpi_init(); +@@ -1153,12 +1159,6 @@ void __init setup_arch(char **cmdline_p) io_delay_init(); @@ -47,9 +48,17 @@ Signed-off-by: Linn Crosetto /* * Parse the ACPI tables for possible boot-time SMP configuration. */ ---- a/drivers/acpi/osl.c -+++ b/drivers/acpi/osl.c -@@ -698,6 +698,12 @@ void __init acpi_initrd_override(void *d +--- a/drivers/acpi/tables.c ++++ b/drivers/acpi/tables.c +@@ -34,6 +34,7 @@ + #include + #include + #include ++#include + #include "internal.h" + + #ifdef CONFIG_ACPI_CUSTOM_DSDT +@@ -539,6 +540,12 @@ static void __init acpi_table_initrd_ini if (table_nr == 0) return; diff --git a/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-add-kirkwood-ds112.dtb-to-Makefile.patch b/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-add-kirkwood-ds112.dtb-to-Makefile.patch deleted file mode 100644 index e673e898f..000000000 --- a/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-add-kirkwood-ds112.dtb-to-Makefile.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: Heinrich Schuchardt -Date: Mon, 28 Mar 2016 10:03:48 +0200 -Subject: [PATCH 1/2] ARM: dts: kirkwood: add kirkwood-ds112.dtb to Makefile -Origin: http://git.infradead.org/linux-mvebu.git/commitdiff/fc5c796e12511a7c027b5a4438719dde2f796208 - -Commit 2d0a7addbd10 ("ARM: Kirkwood: Add support for many Synology -NAS devices") created the new file kirkwood-ds112.dts but did not -add it to the Makefile. - -Fixes: 2d0a7addbd10 ("ARM: Kirkwood: Add support for many Synology NAS devices") -Signed-off-by: Heinrich Schuchardt -Signed-off-by: Gregory CLEMENT ---- - arch/arm/boot/dts/Makefile | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index 95c1923..67d5368 100644 ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -177,6 +177,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \ - kirkwood-ds109.dtb \ - kirkwood-ds110jv10.dtb \ - kirkwood-ds111.dtb \ -+ kirkwood-ds112.dtb \ - kirkwood-ds209.dtb \ - kirkwood-ds210.dtb \ - kirkwood-ds212.dtb \ diff --git a/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-add-kirkwood-nsa320.dtb-to-Makefile.patch b/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-add-kirkwood-nsa320.dtb-to-Makefile.patch deleted file mode 100644 index db2f0451c..000000000 --- a/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-add-kirkwood-nsa320.dtb-to-Makefile.patch +++ /dev/null @@ -1,26 +0,0 @@ -From: Heinrich Schuchardt -Date: Mon, 28 Mar 2016 10:38:31 +0200 -Subject: [PATCH 2/2] ARM: dts: kirkwood: add kirkwood-nsa320.dtb to Makefile -Origin: http://git.infradead.org/linux-mvebu.git/commitdiff/9ec423ed62b8278412400fae6c064edb6ce1bb51 - -Commit be3d7d023b87 ("ARM: kirkwood: Add DTS file for NSA320") -created the new file kirkwood-nsa320.dts but did not -add it to the Makefile. - -Fixes: be3d7d023b87 ("ARM: kirkwood: Add DTS file for NSA320") -Signed-off-by: Heinrich Schuchardt -Signed-off-by: Gregory CLEMENT ---- - arch/arm/boot/dts/Makefile | 1 + - 1 file changed, 1 insertion(+) - ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -210,6 +210,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \ - kirkwood-ns2mini.dtb \ - kirkwood-nsa310.dtb \ - kirkwood-nsa310a.dtb \ -+ kirkwood-nsa320.dtb \ - kirkwood-nsa325.dtb \ - kirkwood-openblocks_a6.dtb \ - kirkwood-openblocks_a7.dtb \ diff --git a/debian/patches/features/arm/device-tree/ARM-dts-orion5x-add-device-tree-for-kurobox-pro.patch b/debian/patches/features/arm/device-tree/ARM-dts-orion5x-add-device-tree-for-kurobox-pro.patch deleted file mode 100644 index 7651873ba..000000000 --- a/debian/patches/features/arm/device-tree/ARM-dts-orion5x-add-device-tree-for-kurobox-pro.patch +++ /dev/null @@ -1,171 +0,0 @@ -From: Roger Shimizu -Date: Wed, 30 Mar 2016 01:11:45 +0900 -Subject: [PATCH] ARM: dts: orion5x: add device tree for kurobox-pro -Origin: http://git.infradead.org/linux-mvebu.git/commitdiff/452cc94458237d4a26aa1e08f23f57f072368e4e - -Add dts file to support Buffalo/Revogear Kurobox-Pro, which is marvell -orion5x based 3.5" HDD NAS. - -It's a quite old product and already discontinued. So there's no -official website for it. But it was an early product which used marvell -orion5x 88F5182 chipset, it's popular in the community. -Some unofficial site: - - http://buffalo.nas-central.org/wiki/Category:KuroboxPro - - http://nice.kaze.com/KUROPRO_ProductSpecifications.pdf - -This device tree is based on the board file: - arch/arm/mach-orion5x/kurobox_pro-setup.c -However, the probing order of NAND and JEDEC-Flash are different from -the original board file, this results in incompatible minor number -for a few /dev/mtdX and /dev/mtdblockX devices. -So I still want to keep the board file for the time being. - -Signed-off-by: Roger Shimizu -Reviewed-by: Andrew Lunn -Signed-off-by: Gregory CLEMENT ---- - arch/arm/boot/dts/Makefile | 1 + - arch/arm/boot/dts/orion5x-kuroboxpro.dts | 127 +++++++++++++++++++++++++++++++ - 2 files changed, 128 insertions(+) - create mode 100644 arch/arm/boot/dts/orion5x-kuroboxpro.dts - ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -517,6 +517,7 @@ dtb-$(CONFIG_SOC_DRA7XX) += \ - dra7-evm.dtb \ - dra72-evm.dtb - dtb-$(CONFIG_ARCH_ORION5X) += \ -+ orion5x-kuroboxpro.dtb \ - orion5x-lacie-d2-network.dtb \ - orion5x-lacie-ethernet-disk-mini-v2.dtb \ - orion5x-linkstation-lsgl.dtb \ ---- /dev/null -+++ b/arch/arm/boot/dts/orion5x-kuroboxpro.dts -@@ -0,0 +1,127 @@ -+/* -+ * Device Tree file for Buffalo/Revogear Kurobox Pro -+ * -+ * Copyright (C) 2016 -+ * Roger Shimizu -+ * -+ * Based on the board file arch/arm/mach-orion5x/kurobox_pro-setup.c -+ * Copyright (C) Ronen Shitrit -+ * -+ * This file is dual-licensed: you can use it either under the terms -+ * of the GPL or the X11 license, at your option. Note that this dual -+ * licensing only applies to this file, and not this project as a -+ * whole. -+ * -+ * a) This file is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License as -+ * published by the Free Software Foundation; either version 2 of the -+ * License, or (at your option) any later version. -+ * -+ * This file is distributed in the hope that it will be useful -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * Or, alternatively -+ * -+ * b) Permission is hereby granted, free of charge, to any person -+ * obtaining a copy of this software and associated documentation -+ * files (the "Software"), to deal in the Software without -+ * restriction, including without limitation the rights to use -+ * copy, modify, merge, publish, distribute, sublicense, and/or -+ * sell copies of the Software, and to permit persons to whom the -+ * Software is furnished to do so, subject to the following -+ * conditions: -+ * -+ * The above copyright notice and this permission notice shall be -+ * included in all copies or substantial portions of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND -+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY -+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -+ * OTHER DEALINGS IN THE SOFTWARE. -+ */ -+ -+/dts-v1/; -+ -+#include "orion5x-linkstation.dtsi" -+#include -+ -+/ { -+ model = "Buffalo/Revogear Kurobox Pro"; -+ compatible = "buffalo,kurobox-pro", "marvell,orion5x-88f5182", "marvell,orion5x"; -+ -+ soc { -+ ranges = , -+ , -+ , -+ ; -+ }; -+ -+ memory { /* 128 MB */ -+ device_type = "memory"; -+ reg = <0x00000000 0x8000000>; -+ }; -+}; -+ -+&pinctrl { -+ pmx_power_hdd: pmx-power-hdd { -+ marvell,pins = "mpp1"; -+ marvell,function = "gpio"; -+ }; -+ -+ pmx_power_usb: pmx-power-usb { -+ marvell,pins = "mpp9"; -+ marvell,function = "gpio"; -+ }; -+}; -+ -+&devbus_cs0 { -+ status = "okay"; -+ compatible = "marvell,orion-nand"; -+ reg = ; -+ cle = <0>; -+ ale = <1>; -+ bank-width = <1>; -+ -+ partitions { -+ compatible = "fixed-partitions"; -+ #address-cells = <1>; -+ #size-cells = <1>; -+ -+ uImage@0 { /* 4 MB */ -+ reg = <0 0x400000>; -+ read-only; -+ }; -+ -+ rootfs@400000 { /* 64 MB */ -+ reg = <0x400000 0x4000000>; -+ read-only; -+ }; -+ -+ extra@4400000 { /* 188 MB */ -+ reg = <0x4400000 0xBC00000>; -+ read-only; -+ }; -+ }; -+}; -+ -+&hdd_power { -+ gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>; -+}; -+ -+&usb_power { -+ gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>; -+}; -+ -+&sata { -+ nr-ports = <2>; -+}; -+ -+&ehci1 { -+ status = "okay"; -+}; diff --git a/debian/patches/features/mips/MIPS-Octeon-Add-Octeon-III-CN7xxx-interface-detection.patch b/debian/patches/features/mips/MIPS-Octeon-Add-Octeon-III-CN7xxx-interface-detection.patch deleted file mode 100644 index 360a5765c..000000000 --- a/debian/patches/features/mips/MIPS-Octeon-Add-Octeon-III-CN7xxx-interface-detection.patch +++ /dev/null @@ -1,89 +0,0 @@ -From: Zubair Lutfullah Kakakhel -Date: Wed, 3 Feb 2016 18:01:36 +0000 -Subject: MIPS: Octeon: Add Octeon III CN7xxx interface detection -Origin: https://git.kernel.org/linus/885872b722b73b2026a48bdff4621f289be2b044 - -Add basic CN7XXX interface detection. - -This allows the kernel to boot with ethernet working as it initializes -the ethernet ports with SGMII instead of defaulting to RGMII routines. - -Tested on the utm8 from Rhino Labs with a CN7130. - -Signed-off-by: Zubair Lutfullah Kakakhel -Acked-by: David Daney ---- - arch/mips/cavium-octeon/executive/cvmx-helper.c | 43 +++++++++++++++++++++++++ - 1 file changed, 43 insertions(+) - -diff --git a/arch/mips/cavium-octeon/executive/cvmx-helper.c b/arch/mips/cavium-octeon/executive/cvmx-helper.c -index 376701f..ff26d02 100644 ---- a/arch/mips/cavium-octeon/executive/cvmx-helper.c -+++ b/arch/mips/cavium-octeon/executive/cvmx-helper.c -@@ -87,6 +87,8 @@ int cvmx_helper_get_number_of_interfaces(void) - return 9; - if (OCTEON_IS_MODEL(OCTEON_CN56XX) || OCTEON_IS_MODEL(OCTEON_CN52XX)) - return 4; -+ if (OCTEON_IS_MODEL(OCTEON_CN7XXX)) -+ return 5; - else - return 3; - } -@@ -260,6 +262,41 @@ static cvmx_helper_interface_mode_t __cvmx_get_mode_octeon2(int interface) - } - - /** -+ * @INTERNAL -+ * Return interface mode for CN7XXX. -+ */ -+static cvmx_helper_interface_mode_t __cvmx_get_mode_cn7xxx(int interface) -+{ -+ union cvmx_gmxx_inf_mode mode; -+ -+ mode.u64 = cvmx_read_csr(CVMX_GMXX_INF_MODE(interface)); -+ -+ switch (interface) { -+ case 0: -+ case 1: -+ switch (mode.cn68xx.mode) { -+ case 0: -+ return CVMX_HELPER_INTERFACE_MODE_DISABLED; -+ case 1: -+ case 2: -+ return CVMX_HELPER_INTERFACE_MODE_SGMII; -+ case 3: -+ return CVMX_HELPER_INTERFACE_MODE_XAUI; -+ default: -+ return CVMX_HELPER_INTERFACE_MODE_SGMII; -+ } -+ case 2: -+ return CVMX_HELPER_INTERFACE_MODE_NPI; -+ case 3: -+ return CVMX_HELPER_INTERFACE_MODE_LOOP; -+ case 4: -+ return CVMX_HELPER_INTERFACE_MODE_RGMII; -+ default: -+ return CVMX_HELPER_INTERFACE_MODE_DISABLED; -+ } -+} -+ -+/** - * Get the operating mode of an interface. Depending on the Octeon - * chip and configuration, this function returns an enumeration - * of the type of packet I/O supported by an interface. -@@ -278,6 +315,12 @@ cvmx_helper_interface_mode_t cvmx_helper_interface_get_mode(int interface) - return CVMX_HELPER_INTERFACE_MODE_DISABLED; - - /* -+ * OCTEON III models -+ */ -+ if (OCTEON_IS_MODEL(OCTEON_CN7XXX)) -+ return __cvmx_get_mode_cn7xxx(interface); -+ -+ /* - * Octeon II models - */ - if (OCTEON_IS_MODEL(OCTEON_CN6XXX) || OCTEON_IS_MODEL(OCTEON_CNF71XX)) --- -2.8.0.rc3 - diff --git a/debian/patches/features/mips/MIPS-Octeon-detect-and-fix-byte-swapped-initramfs.patch b/debian/patches/features/mips/MIPS-Octeon-detect-and-fix-byte-swapped-initramfs.patch deleted file mode 100644 index 0da45b9b7..000000000 --- a/debian/patches/features/mips/MIPS-Octeon-detect-and-fix-byte-swapped-initramfs.patch +++ /dev/null @@ -1,83 +0,0 @@ -From: Aurelien Jarno -Date: Wed, 11 May 2016 00:37:42 +0200 -Subject: MIPS: Octeon: detect and fix byte swapped initramfs -Origin: https://git.kernel.org/linus/8f4703aa4df758def78e9a39cc5d1ff73c3ef51f - -Octeon machines support running in little endian mode. U-Boot usually -runs in big endian-mode. Therefore the initramfs is loaded in big endian -mode, and the kernel later tries to access it in little endian mode. - -This patch fixes that by detecting byte swapped initramfs using either the -CPIO header or the header from standard compression methods, and -byte swaps it if needed. It first checks that the header doesn't match -in the native endianness to avoid false detections. It uses the kernel -decompress library so that we don't have to maintain the list of magics -if some decompression methods are added to the kernel. - -Cc: Ralf Baechle -Acked-by: David Daney -Signed-off-by: Aurelien Jarno ---- - arch/mips/kernel/setup.c | 32 ++++++++++++++++++++++++++++++++ - 1 file changed, 32 insertions(+) - -diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c -index 4f60734..8841d7982 100644 ---- a/arch/mips/kernel/setup.c -+++ b/arch/mips/kernel/setup.c -@@ -26,6 +26,7 @@ - #include - #include - #include -+#include - - #include - #include -@@ -250,6 +251,35 @@ disable: - return 0; - } - -+/* In some conditions (e.g. big endian bootloader with a little endian -+ kernel), the initrd might appear byte swapped. Try to detect this and -+ byte swap it if needed. */ -+static void __init maybe_bswap_initrd(void) -+{ -+#if defined(CONFIG_CPU_CAVIUM_OCTEON) -+ u64 buf; -+ -+ /* Check for CPIO signature */ -+ if (!memcmp((void *)initrd_start, "070701", 6)) -+ return; -+ -+ /* Check for compressed initrd */ -+ if (decompress_method((unsigned char *)initrd_start, 8, NULL)) -+ return; -+ -+ /* Try again with a byte swapped header */ -+ buf = swab64p((u64 *)initrd_start); -+ if (!memcmp(&buf, "070701", 6) || -+ decompress_method((unsigned char *)(&buf), 8, NULL)) { -+ unsigned long i; -+ -+ pr_info("Byteswapped initrd detected\n"); -+ for (i = initrd_start; i < ALIGN(initrd_end, 8); i += 8) -+ swab64s((u64 *)i); -+ } -+#endif -+} -+ - static void __init finalize_initrd(void) - { - unsigned long size = initrd_end - initrd_start; -@@ -263,6 +293,8 @@ static void __init finalize_initrd(void) - goto disable; - } - -+ maybe_bswap_initrd(); -+ - reserve_bootmem(__pa(initrd_start), size, BOOTMEM_DEFAULT); - initrd_below_start_ok = 1; - --- -2.8.1 - diff --git a/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch b/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch index b61578723..755dda35c 100644 --- a/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch +++ b/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch @@ -28,7 +28,7 @@ Signed-off-by: Ben Hutchings --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt -@@ -3793,6 +3793,10 @@ bytes respectively. Such letter suffixes +@@ -3877,6 +3877,10 @@ bytes respectively. Such letter suffixes switches= [HW,M68k] @@ -41,7 +41,7 @@ Signed-off-by: Ben Hutchings on older distributions. When this option is enabled --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -2690,6 +2690,14 @@ config X86_X32 +@@ -2665,6 +2665,14 @@ config X86_X32 elf32_x86_64 support enabled to compile a kernel with this option set. @@ -122,7 +122,7 @@ Signed-off-by: Ben Hutchings +#include #include #include -+#include ++#include #define __SYSCALL_64_QUAL_(sym) sym #define __SYSCALL_64_QUAL_ptregs(sym) ptregs_##sym diff --git a/debian/patches/series b/debian/patches/series index 1ce10f959..173290ca0 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -44,28 +44,18 @@ debian/snd-pcsp-disable-autoload.patch bugfix/x86/viafb-autoload-on-olpc-xo1.5-only.patch # Arch bug fixes -bugfix/mips/MIPS-Allow-emulation-for-unaligned-LSDXC1-instructions.patch -bugfix/mips/MIPS-Disable-preemption-during-prctl-PR_SET_FP_MODE.patch -bugfix/mips/MIPS-Force-CPUs-to-lose-FP-context-during-mode-switc.patch -bugfix/powerpc/powerpc-fix-sstep-compile-on-powerpcspe.patch bugfix/arm/dwc3-exynos-fix-deferred-probing-storm.patch # Arch features features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch features/mips/MIPS-Loongson-3-Add-Loongson-LS3A-RS780E-1-way-machi.patch features/mips/MIPS-octeon-Add-support-for-the-UBNT-E200-board.patch -features/mips/MIPS-Octeon-Add-Octeon-III-CN7xxx-interface-detection.patch -features/mips/MIPS-Octeon-detect-and-fix-byte-swapped-initramfs.patch features/x86/x86-memtest-WARN-if-bad-RAM-found.patch features/x86/x86-make-x32-syscall-support-conditional.patch -features/arm/device-tree/ARM-dts-kirkwood-add-kirkwood-ds112.dtb-to-Makefile.patch -features/arm/device-tree/ARM-dts-kirkwood-add-kirkwood-nsa320.dtb-to-Makefile.patch -features/arm/device-tree/ARM-dts-orion5x-add-device-tree-for-kurobox-pro.patch # Miscellaneous bug fixes bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch bugfix/all/disable-some-marvell-phys.patch -bugfix/all/rtsx_usb_ms-use-msleep_interruptible-in-polling-loop.patch bugfix/all/fs-add-module_softdep-declarations-for-hard-coded-cr.patch bugfix/all/module-invalidate-signatures-on-force-loaded-modules.patch bugfix/all/videobuf2-core-fix-crash-after-fixing-cve-2016-4568.patch @@ -103,12 +93,6 @@ features/all/securelevel/mtd-disable-slram-and-phram-when-securelevel-is-enabled bugfix/all/ptrace-being-capable-wrt-a-process-requires-mapped-uids-gids.patch debian/i386-686-pae-pci-set-pci-nobios-by-default.patch bugfix/all/media-videobuf2-v4l2-verify-planes-array-in-buffer-d.patch -bugfix/all/tipc-check-nl-sock-before-parsing-nested-attributes.patch -bugfix/x86/kvm-vmx-more-complete-state-update-on-apicv-on-off.patch -bugfix/all/usb-usbfs-fix-potential-infoleak-in-devio.patch -bugfix/all/alsa-timer-fix-leak-in-sndrv_timer_ioctl_params.patch -bugfix/all/alsa-timer-fix-leak-in-events-via-snd_timer_user_cca.patch -bugfix/all/alsa-timer-fix-leak-in-events-via-snd_timer_user_tin.patch # Tools bug fixes bugfix/all/usbip-document-tcp-wrappers.patch @@ -126,6 +110,5 @@ bugfix/alpha/alpha-uapi-add-support-for-__sane_userspace_types__.patch bugfix/x86/revert-perf-tools-x86-build-perf-on-older-user-space.patch bugfix/all/lockdep-add-missing-macros.patch bugfix/all/tools-build-remove-bpf-run-time-check-at-build-time.patch -bugfix/all/power-cpupower-fix-manpages-NAME.patch bugfix/all/tools-lib-traceevent-fix-use-of-uninitialized-variables.patch bugfix/all/scripts-fix-x.509-pem-support-in-sign-file.patch