From 79f636b4bf7edcbf7c4194b93e4c4fef43b13e1c Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 4 Aug 2015 01:30:23 +0000 Subject: [PATCH 01/53] Update to 4.2-rc5 Refresh/drop patches as needed. svn path=/dists/trunk/linux/; revision=22909 --- debian/changelog | 6 + ...-redundant-log-messages-from-drivers.patch | 76 ++--- ...eturn-specific-errors-from-file-read.patch | 14 +- ...he-assoc-array-edit-if-edit-is-valid.patch | 39 --- ...-use-kzalloc-when-bitmap-is-disabled.patch | 9 +- .../bugfix/mips/disable-advansys.patch | 9 +- ...g-facility-check-to-init_cache_level.patch | 51 ---- ...-Remove-pointless-jump-to-irq_return.patch | 47 --- ...ested-do_nmi-handling-for-64-bit-ker.patch | 191 ------------ ...mi-64-Remove-asm-code-that-saves-cr2.patch | 53 ---- ...Switch-stacks-on-userspace-NMI-entry.patch | 112 ------- ...6-nmi-64-Improve-nested-NMI-comments.patch | 286 ------------------ ...x86-nmi-64-Reorder-nested-NMI-checks.patch | 91 ------ ...F-to-avoid-userspace-RSP-confusing-n.patch | 90 ------ ...apic_has_events-to-check-for-null-po.patch | 24 -- ...ink-security-restrictions-by-default.patch | 4 +- .../debian/yama-disable-by-default.patch | 12 +- .../features/all/aufs4/aufs4-mmap.patch | 89 ++---- .../features/all/aufs4/aufs4-standalone.patch | 113 +++---- ...Add-Loongson-LS3A-RS780E-1-way-machi.patch | 22 +- ...make-x32-syscall-support-conditional.patch | 70 ++--- debian/patches/series | 10 - 22 files changed, 187 insertions(+), 1231 deletions(-) delete mode 100644 debian/patches/bugfix/all/keys-ensure-we-free-the-assoc-array-edit-if-edit-is-valid.patch delete mode 100644 debian/patches/bugfix/s390/s390-cachinfo-add-missing-facility-check-to-init_cache_level.patch delete mode 100644 debian/patches/bugfix/x86/0003-x86-asm-entry-64-Remove-pointless-jump-to-irq_return.patch delete mode 100644 debian/patches/bugfix/x86/0004-x86-nmi-Enable-nested-do_nmi-handling-for-64-bit-ker.patch delete mode 100644 debian/patches/bugfix/x86/0005-x86-nmi-64-Remove-asm-code-that-saves-cr2.patch delete mode 100644 debian/patches/bugfix/x86/0006-x86-nmi-64-Switch-stacks-on-userspace-NMI-entry.patch delete mode 100644 debian/patches/bugfix/x86/0007-x86-nmi-64-Improve-nested-NMI-comments.patch delete mode 100644 debian/patches/bugfix/x86/0008-x86-nmi-64-Reorder-nested-NMI-checks.patch delete mode 100644 debian/patches/bugfix/x86/0009-x86-nmi-64-Use-DF-to-avoid-userspace-RSP-confusing-n.patch delete mode 100644 debian/patches/bugfix/x86/kvm-x86-fix-kvm_apic_has_events-to-check-for-null-po.patch diff --git a/debian/changelog b/debian/changelog index e2b2de889..711ce162c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +linux (4.2~rc5-1~exp1) UNRELEASED; urgency=medium + + * New upstream release candidate + + -- Ben Hutchings Tue, 04 Aug 2015 01:47:47 +0100 + linux (4.1.3-1) unstable; urgency=medium * New upstream stable update: 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 b8f6f85e0..24a426d81 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 -@@ -398,10 +398,8 @@ static int ath3k_load_patch(struct usb_d +@@ -404,10 +404,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); -@@ -461,10 +459,8 @@ static int ath3k_load_syscfg(struct usb_ +@@ -467,10 +465,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); @@ -154,7 +154,7 @@ upstream submission. --- a/drivers/bluetooth/bt3c_cs.c +++ b/drivers/bluetooth/bt3c_cs.c -@@ -568,10 +568,8 @@ static int bt3c_open(struct bt3c_info *i +@@ -567,10 +567,8 @@ static int bt3c_open(struct bt3c_info *i /* Load firmware */ err = request_firmware(&firmware, "BT3CPCC.bin", &info->p_dev->dev); @@ -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 -@@ -1521,10 +1521,8 @@ gf100_gr_ctor_fw(struct gf100_gr_priv *p +@@ -1558,10 +1558,8 @@ gf100_gr_ctor_fw(struct gf100_gr_priv *p if (ret) { snprintf(f, sizeof(f), "nouveau/%s", fwname); ret = request_firmware(&fw, f, nv_device_base(device)); @@ -262,7 +262,7 @@ upstream submission. printk(KERN_ERR --- a/drivers/gpu/drm/radeon/ni.c +++ b/drivers/gpu/drm/radeon/ni.c -@@ -812,10 +812,6 @@ int ni_init_microcode(struct radeon_devi +@@ -837,10 +837,6 @@ int ni_init_microcode(struct radeon_devi out: if (err) { @@ -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 -@@ -2545,10 +2545,6 @@ int r600_init_microcode(struct radeon_de +@@ -2592,10 +2592,6 @@ int r600_init_microcode(struct radeon_de out: if (err) { @@ -457,7 +457,7 @@ upstream submission. if (!buf) { --- a/drivers/media/usb/dvb-usb/opera1.c +++ b/drivers/media/usb/dvb-usb/opera1.c -@@ -452,9 +452,6 @@ static int opera1_xilinx_load_firmware(s +@@ -453,9 +453,6 @@ static int opera1_xilinx_load_firmware(s info("start downloading fpga firmware %s",filename); if ((ret = request_firmware(&fw, filename, &dev->dev)) != 0) { @@ -469,7 +469,7 @@ upstream submission. p = kmalloc(fw->size, GFP_KERNEL); --- a/drivers/media/dvb-frontends/af9013.c +++ b/drivers/media/dvb-frontends/af9013.c -@@ -1372,16 +1372,8 @@ static int af9013_download_firmware(stru +@@ -1376,16 +1376,8 @@ static int af9013_download_firmware(stru /* request the firmware, this will block and timeout */ ret = request_firmware(&fw, fw_file, state->i2c->dev.parent); @@ -504,7 +504,7 @@ upstream submission. b = fw->data; --- a/drivers/media/dvb-frontends/cx24116.c +++ b/drivers/media/dvb-frontends/cx24116.c -@@ -493,13 +493,8 @@ static int cx24116_firmware_ondemand(str +@@ -495,13 +495,8 @@ static int cx24116_firmware_ondemand(str __func__, CX24116_DEFAULT_FIRMWARE); ret = request_firmware(&fw, CX24116_DEFAULT_FIRMWARE, state->i2c->dev.parent); @@ -535,7 +535,7 @@ upstream submission. if (state->microcode == NULL) { --- a/drivers/media/dvb-frontends/drxk_hard.c +++ b/drivers/media/dvb-frontends/drxk_hard.c -@@ -6283,10 +6283,6 @@ static void load_firmware_cb(const struc +@@ -6284,10 +6284,6 @@ static void load_firmware_cb(const struc dprintk(1, ": %s\n", fw ? "firmware loaded" : "firmware not loaded"); if (!fw) { @@ -1216,7 +1216,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 -@@ -12981,11 +12981,8 @@ static int bnx2x_init_firmware(struct bn +@@ -13003,11 +13003,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); @@ -1251,7 +1251,7 @@ upstream submission. u32 n; - if (request_firmware(&fw, fw_name, &pdev->dev)) { -- pr_alert("Can't locate firmware %s\n", fw_name); +- dev_alert(&pdev->dev, "can't load firmware %s\n", fw_name); + if (request_firmware(&fw, fw_name, &pdev->dev)) goto error; - } @@ -1261,13 +1261,13 @@ upstream submission. --- a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c +++ b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c @@ -1034,12 +1034,8 @@ int t3_get_edc_fw(struct cphy *phy, int - snprintf(buf, sizeof(buf), get_edc_fw_name(edc_idx)); - - ret = request_firmware(&fw, buf, &adapter->pdev->dev); + fw_name = get_edc_fw_name(edc_idx); + if (fw_name) + ret = request_firmware(&fw, fw_name, &adapter->pdev->dev); - if (ret < 0) { - dev_err(&adapter->pdev->dev, - "could not upgrade firmware: unable to load %s\n", -- buf); +- fw_name); + if (ret) return ret; - } @@ -1440,7 +1440,7 @@ upstream submission. &hif_dev->udev->dev); --- a/drivers/net/wireless/ath/carl9170/usb.c +++ b/drivers/net/wireless/ath/carl9170/usb.c -@@ -1032,7 +1032,6 @@ static void carl9170_usb_firmware_step2( +@@ -1033,7 +1033,6 @@ static void carl9170_usb_firmware_step2( return; } @@ -1504,7 +1504,7 @@ upstream submission. hdr = (struct b43legacy_fw_header *)((*fw)->data); --- a/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c +++ b/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c -@@ -379,19 +379,13 @@ static int brcms_request_fw(struct brcms +@@ -378,19 +378,13 @@ static int brcms_request_fw(struct brcms sprintf(fw_name, "%s-%d.fw", brcms_firmwares[i], UCODE_LOADER_API_VER); status = request_firmware(&wl->fw.fw_bin[i], fw_name, device); @@ -1568,7 +1568,7 @@ upstream submission. else --- a/drivers/net/wireless/iwlwifi/iwl-drv.c +++ b/drivers/net/wireless/iwlwifi/iwl-drv.c -@@ -1119,13 +1119,8 @@ static void iwl_req_fw_callback(const st +@@ -1131,13 +1131,8 @@ static void iwl_req_fw_callback(const st if (!pieces) return; @@ -1586,23 +1586,23 @@ upstream submission. --- a/drivers/net/wireless/libertas_tf/if_usb.c +++ b/drivers/net/wireless/libertas_tf/if_usb.c @@ -824,8 +824,6 @@ static int if_usb_prog_firmware(struct i - kparam_block_sysfs_write(fw_name); + kernel_param_lock(THIS_MODULE); ret = request_firmware(&cardp->fw, lbtf_fw_name, &cardp->udev->dev); if (ret < 0) { - pr_err("request_firmware() failed with %#x\n", ret); - pr_err("firmware %s not found\n", lbtf_fw_name); - kparam_unblock_sysfs_write(fw_name); + kernel_param_unlock(THIS_MODULE); goto done; } --- a/drivers/net/wireless/mwifiex/main.c +++ b/drivers/net/wireless/mwifiex/main.c -@@ -454,11 +454,8 @@ static void mwifiex_fw_dpc(const struct +@@ -459,11 +459,8 @@ static void mwifiex_fw_dpc(const struct bool init_failed = false; struct wireless_dev *wdev; - if (!firmware) { -- dev_err(adapter->dev, -- "Failed to get firmware %s\n", adapter->fw_name); +- mwifiex_dbg(adapter, ERROR, +- "Failed to get firmware %s\n", adapter->fw_name); + if (!firmware) goto err_dnld_fw; - } @@ -1856,7 +1856,7 @@ upstream submission. static inline u16 get_bcdDevice(const struct usb_device *udev) --- a/drivers/scsi/advansys.c +++ b/drivers/scsi/advansys.c -@@ -4280,8 +4280,6 @@ static ushort AscInitAsc1000Driver(ASC_D +@@ -4107,8 +4107,6 @@ static int AscInitAsc1000Driver(ASC_DVC_ err = request_firmware(&fw, fwname, asc_dvc->drv_ptr->dev); if (err) { @@ -1865,7 +1865,7 @@ upstream submission. asc_dvc->err_code |= ASC_IERR_MCODE_CHKSUM; return err; } -@@ -4613,8 +4611,6 @@ static int AdvInitAsc3550Driver(ADV_DVC_ +@@ -4473,8 +4471,6 @@ static int AdvInitAsc3550Driver(ADV_DVC_ err = request_firmware(&fw, fwname, asc_dvc->drv_ptr->dev); if (err) { @@ -1874,7 +1874,7 @@ upstream submission. asc_dvc->err_code = ASC_IERR_MCODE_CHKSUM; return err; } -@@ -5129,8 +5125,6 @@ static int AdvInitAsc38C0800Driver(ADV_D +@@ -4973,8 +4969,6 @@ static int AdvInitAsc38C0800Driver(ADV_D err = request_firmware(&fw, fwname, asc_dvc->drv_ptr->dev); if (err) { @@ -1883,7 +1883,7 @@ upstream submission. asc_dvc->err_code = ASC_IERR_MCODE_CHKSUM; return err; } -@@ -5631,8 +5625,6 @@ static int AdvInitAsc38C1600Driver(ADV_D +@@ -5461,8 +5455,6 @@ static int AdvInitAsc38C1600Driver(ADV_D err = request_firmware(&fw, fwname, asc_dvc->drv_ptr->dev); if (err) { @@ -1894,7 +1894,7 @@ upstream submission. } --- a/drivers/scsi/aic94xx/aic94xx_init.c +++ b/drivers/scsi/aic94xx/aic94xx_init.c -@@ -390,8 +390,6 @@ static ssize_t asd_store_update_bios(str +@@ -389,8 +389,6 @@ static ssize_t asd_store_update_bios(str filename_ptr, &asd_ha->pcidev->dev); if (err) { @@ -1930,7 +1930,7 @@ upstream submission. } --- a/drivers/scsi/ipr.c +++ b/drivers/scsi/ipr.c -@@ -4004,10 +4004,8 @@ static ssize_t ipr_store_update_fw(struc +@@ -4010,10 +4010,8 @@ static ssize_t ipr_store_update_fw(struc len = snprintf(fname, 99, "%s", buf); fname[len-1] = '\0'; @@ -1968,7 +1968,7 @@ upstream submission. } --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c -@@ -5414,8 +5414,6 @@ qla2x00_load_risc(scsi_qla_host_t *vha, +@@ -5524,8 +5524,6 @@ qla2x00_load_risc(scsi_qla_host_t *vha, /* Load firmware blob. */ blob = qla2x00_request_firmware(vha); if (!blob) { @@ -1977,7 +1977,7 @@ upstream submission. ql_log(ql_log_info, vha, 0x0084, "Firmware images can be retrieved from: "QLA_FW_URL ".\n"); return QLA_FUNCTION_FAILED; -@@ -5517,8 +5515,6 @@ qla24xx_load_risc_blob(scsi_qla_host_t * +@@ -5627,8 +5625,6 @@ qla24xx_load_risc_blob(scsi_qla_host_t * /* Load firmware blob. */ blob = qla2x00_request_firmware(vha); if (!blob) { @@ -2003,7 +2003,7 @@ upstream submission. if (qla82xx_validate_firmware_blob(vha, --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c -@@ -5356,8 +5356,6 @@ qla2x00_request_firmware(scsi_qla_host_t +@@ -5369,8 +5369,6 @@ qla2x00_request_firmware(scsi_qla_host_t goto out; if (request_firmware(&blob->fw, blob->name, &ha->pdev->dev)) { @@ -2052,7 +2052,7 @@ upstream submission. ft1000_enable_interrupts(dev); --- a/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c +++ b/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c -@@ -135,10 +135,8 @@ static int ft1000_probe(struct usb_inter +@@ -133,10 +133,8 @@ static int ft1000_probe(struct usb_inter ft1000dev->bulk_out_endpointAddr); ret = request_firmware(&dsp_fw, "ft3000.img", &dev->dev); @@ -2161,7 +2161,7 @@ upstream submission. MODULE_FIRMWARE("rtlwifi/rtl8712u.bin"); --- a/drivers/staging/slicoss/slicoss.c +++ b/drivers/staging/slicoss/slicoss.c -@@ -391,11 +391,8 @@ static int slic_card_download_gbrcv(stru +@@ -388,11 +388,8 @@ static int slic_card_download_gbrcv(stru } ret = request_firmware(&fw, file, &adapter->pcidev->dev); @@ -2174,7 +2174,7 @@ upstream submission. rcvucodelen = *(u32 *)(fw->data + index); index += 4; -@@ -469,11 +466,8 @@ static int slic_card_download(struct ada +@@ -466,11 +463,8 @@ static int slic_card_download(struct ada return -ENOENT; } ret = request_firmware(&fw, file, &adapter->pcidev->dev); @@ -2205,7 +2205,7 @@ upstream submission. if (!buffer) --- a/drivers/tty/cyclades.c +++ b/drivers/tty/cyclades.c -@@ -3522,10 +3522,8 @@ static int cyz_load_fw(struct pci_dev *p +@@ -3518,10 +3518,8 @@ static int cyz_load_fw(struct pci_dev *p int retval; retval = request_firmware(&fw, "cyzfirm.bin", &pdev->dev); @@ -2610,7 +2610,7 @@ upstream submission. filename, emu->firmware->size); --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c -@@ -1619,10 +1619,8 @@ static void azx_firmware_cb(const struct +@@ -1734,10 +1734,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/firmware_class-return-specific-errors-from-file-read.patch b/debian/patches/bugfix/all/firmware_class-return-specific-errors-from-file-read.patch index 0c8c66b3f..46a3fe5cc 100644 --- a/debian/patches/bugfix/all/firmware_class-return-specific-errors-from-file-read.patch +++ b/debian/patches/bugfix/all/firmware_class-return-specific-errors-from-file-read.patch @@ -18,7 +18,7 @@ Signed-off-by: Ben Hutchings --- --- a/drivers/base/firmware_class.c +++ b/drivers/base/firmware_class.c -@@ -293,7 +293,7 @@ static int fw_read_file_contents(struct +@@ -298,7 +298,7 @@ static int fw_read_file_contents(struct int rc; if (!S_ISREG(file_inode(file)->i_mode)) @@ -27,7 +27,7 @@ Signed-off-by: Ben Hutchings size = i_size_read(file_inode(file)); if (size <= 0) return -EINVAL; -@@ -302,7 +302,7 @@ static int fw_read_file_contents(struct +@@ -307,7 +307,7 @@ static int fw_read_file_contents(struct return -ENOMEM; rc = kernel_read(file, 0, buf, size); if (rc != size) { @@ -36,8 +36,8 @@ Signed-off-by: Ben Hutchings rc = -EIO; goto fail; } -@@ -334,8 +334,10 @@ static int fw_get_filesystem_firmware(st - snprintf(path, PATH_MAX, "%s/%s", fw_path[i], buf->fw_id); +@@ -348,8 +348,10 @@ static int fw_get_filesystem_firmware(st + } file = filp_open(path, O_RDONLY, 0); - if (IS_ERR(file)) @@ -48,7 +48,7 @@ Signed-off-by: Ben Hutchings rc = fw_read_file_contents(file, buf); fput(file); if (rc) -@@ -974,13 +976,6 @@ static void kill_requests_without_uevent +@@ -994,13 +996,6 @@ static void kill_requests_without_uevent #endif #else /* CONFIG_FW_LOADER_USER_HELPER */ @@ -62,7 +62,7 @@ Signed-off-by: Ben Hutchings /* No abort during direct loading */ #define is_fw_load_aborted(buf) false -@@ -1129,6 +1124,7 @@ _request_firmware(const struct firmware +@@ -1152,6 +1147,7 @@ _request_firmware(const struct firmware } ret = fw_get_filesystem_firmware(device, fw->priv); @@ -70,7 +70,7 @@ Signed-off-by: Ben Hutchings if (ret) { if (!(opt_flags & FW_OPT_NO_WARN)) dev_warn(device, -@@ -1140,6 +1136,7 @@ _request_firmware(const struct firmware +@@ -1163,6 +1159,7 @@ _request_firmware(const struct firmware opt_flags, timeout); } } diff --git a/debian/patches/bugfix/all/keys-ensure-we-free-the-assoc-array-edit-if-edit-is-valid.patch b/debian/patches/bugfix/all/keys-ensure-we-free-the-assoc-array-edit-if-edit-is-valid.patch deleted file mode 100644 index 2eff4b90f..000000000 --- a/debian/patches/bugfix/all/keys-ensure-we-free-the-assoc-array-edit-if-edit-is-valid.patch +++ /dev/null @@ -1,39 +0,0 @@ -From: Colin Ian King -Subject: [PATCH] KEYS: ensure we free the assoc array edit if edit is valid -Origin: https://marc.info/?l=oss-security&m=143800676725867&w=2 - -__key_link_end is not freeing the associated array edit structure -and this leads to a 512 byte memory leak each time an identical -existing key is added with add_key(). - -The reason the add_key() system call returns okay is that -key_create_or_update() calls __key_link_begin() before checking to see -whether it can update a key directly rather than adding/replacing - which -it turns out it can. Thus __key_link() is not called through -__key_instantiate_and_link() and __key_link_end() must cancel the edit. - -CVE-2015-1333 - -Signed-off-by: Colin Ian King -Signed-off-by: David Howells ---- - -diff --git a/security/keys/keyring.c b/security/keys/keyring.c -index e72548b5897e..d33437007ad2 100644 ---- a/security/keys/keyring.c -+++ b/security/keys/keyring.c -@@ -1181,9 +1181,11 @@ void __key_link_end(struct key *keyring, - if (index_key->type == &key_type_keyring) - up_write(&keyring_serialise_link_sem); - -- if (edit && !edit->dead_leaf) { -- key_payload_reserve(keyring, -- keyring->datalen - KEYQUOTA_LINK_BYTES); -+ if (edit) { -+ if (!edit->dead_leaf) { -+ key_payload_reserve(keyring, -+ keyring->datalen - KEYQUOTA_LINK_BYTES); -+ } - assoc_array_cancel_edit(edit); - } - up_write(&keyring->sem); diff --git a/debian/patches/bugfix/all/md-use-kzalloc-when-bitmap-is-disabled.patch b/debian/patches/bugfix/all/md-use-kzalloc-when-bitmap-is-disabled.patch index 5a7e204ae..9fbf18af9 100644 --- a/debian/patches/bugfix/all/md-use-kzalloc-when-bitmap-is-disabled.patch +++ b/debian/patches/bugfix/all/md-use-kzalloc-when-bitmap-is-disabled.patch @@ -26,14 +26,13 @@ space memory from user space. This is an information leak. Signed-off-by: Benjamin Randazzo Signed-off-by: NeilBrown -[bwh: Backported to 4.1: using d_path() instead of file_path()] --- drivers/md/md.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) --- a/drivers/md/md.c +++ b/drivers/md/md.c -@@ -5735,22 +5735,22 @@ static int get_bitmap_file(struct mddev +@@ -5759,22 +5759,22 @@ static int get_bitmap_file(struct mddev char *ptr; int err; @@ -47,7 +46,7 @@ Signed-off-by: NeilBrown - /* bitmap disabled, zero the first byte and copy out */ - if (!mddev->bitmap_info.file) - file->pathname[0] = '\0'; -- else if ((ptr = d_path(&mddev->bitmap_info.file->f_path, +- else if ((ptr = file_path(mddev->bitmap_info.file, - file->pathname, sizeof(file->pathname))), - IS_ERR(ptr)) - err = PTR_ERR(ptr); @@ -56,8 +55,8 @@ Signed-off-by: NeilBrown - sizeof(file->pathname)-(ptr-file->pathname)); + /* bitmap enabled */ + if (mddev->bitmap_info.file) { -+ ptr = d_path(&mddev->bitmap_info.file->f_path, file->pathname, -+ sizeof(file->pathname)); ++ ptr = file_path(mddev->bitmap_info.file, file->pathname, ++ sizeof(file->pathname)); + if (IS_ERR(ptr)) + err = PTR_ERR(ptr); + else diff --git a/debian/patches/bugfix/mips/disable-advansys.patch b/debian/patches/bugfix/mips/disable-advansys.patch index d49cc6d89..1b7afcc3d 100644 --- a/debian/patches/bugfix/mips/disable-advansys.patch +++ b/debian/patches/bugfix/mips/disable-advansys.patch @@ -1,6 +1,6 @@ From: Martin Michlmayr Date: Sat, 19 Jan 2008 18:25:02 +0000 -Subject: [arm, mips] Disable Advansys +Subject: [mips] Disable Advansys Forwarded: http://thread.gmane.org/gmane.linux.scsi/57291 Florian Lohoff reports the following build failure on IP32: @@ -12,14 +12,11 @@ make[5]: *** [__modpost] Error 1 But report: http://www.mail-archive.com/linux-scsi@vger.kernel.org/msg12773.html -[bwh: Upstream finally accepted this was broken on ARM! But MIPS has - the same problem still.] - --- a/drivers/scsi/Kconfig +++ b/drivers/scsi/Kconfig -@@ -495,6 +495,7 @@ config SCSI_ADVANSYS +@@ -505,6 +505,7 @@ config SCSI_ADVANSYS tristate "AdvanSys SCSI support" - depends on SCSI && VIRT_TO_BUS && !ARM + depends on SCSI depends on ISA || EISA || PCI + depends on !MIPS || BROKEN help diff --git a/debian/patches/bugfix/s390/s390-cachinfo-add-missing-facility-check-to-init_cache_level.patch b/debian/patches/bugfix/s390/s390-cachinfo-add-missing-facility-check-to-init_cache_level.patch deleted file mode 100644 index 69fee010c..000000000 --- a/debian/patches/bugfix/s390/s390-cachinfo-add-missing-facility-check-to-init_cache_level.patch +++ /dev/null @@ -1,51 +0,0 @@ -From: Heiko Carstens -Date: Mon, 27 Jul 2015 09:53:49 +0200 -Subject: s390/cachinfo: add missing facility check to init_cache_level() -Origin: https://git.kernel.org/cgit/linux/kernel/git/s390/linux.git/commit/?id=0b991f5cdcd6201e5401f83ca3a672343c3bfc49 -Bug-Debian: https://bugs.debian.org/793929 - -Stephen Powell reported the following crash on a z890 machine: - -Kernel BUG at 00000000001219d0 [verbose debug info unavailable] -illegal operation: 0001 ilc:3 [#1] SMP -Krnl PSW : 0704e00180000000 00000000001219d0 (init_cache_level+0x38/0xe0) - R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:2 PM:0 EA:3 -Krnl Code: 00000000001219c2: a7840056 brc 8,121a6e - 00000000001219c6: a7190000 lghi %r1,0 - #00000000001219ca: eb101000004c ecag %r1,%r0,0(%r1) - >00000000001219d0: a7390000 lghi %r3,0 - 00000000001219d4: e310f0a00024 stg %r1,160(%r15) - 00000000001219da: a7080000 lhi %r0,0 - 00000000001219de: a7b9f000 lghi %r11,-4096 - 00000000001219e2: c0a0002899d9 larl %r10,634d94 -Call Trace: - [<0000000000478ee2>] detect_cache_attributes+0x2a/0x2b8 - [<000000000097c9b0>] cacheinfo_sysfs_init+0x60/0xc8 - [<00000000001001c0>] do_one_initcall+0x98/0x1c8 - [<000000000094fdc2>] kernel_init_freeable+0x212/0x2d8 - [<000000000062352e>] kernel_init+0x26/0x118 - [<000000000062fd2e>] kernel_thread_starter+0x6/0xc - -The illegal operation was executed because of a missing facility check, -which should have made sure that the ECAG execution would only be executed -on machines which have the general-instructions-extension facility -installed. - -Reported-and-tested-by: Stephen Powell -Cc: stable@vger.kernel.org # v4.0+ -Signed-off-by: Heiko Carstens -Signed-off-by: Martin Schwidefsky - -diff --git a/arch/s390/kernel/cache.c b/arch/s390/kernel/cache.c -index bff5e3b..8ba3243 100644 ---- a/arch/s390/kernel/cache.c -+++ b/arch/s390/kernel/cache.c -@@ -138,6 +138,8 @@ int init_cache_level(unsigned int cpu) - union cache_topology ct; - enum cache_type ctype; - -+ if (!test_facility(34)) -+ return -EOPNOTSUPP; - if (!this_cpu_ci) - return -EINVAL; - ct.raw = ecag(EXTRACT_TOPOLOGY, 0, 0); diff --git a/debian/patches/bugfix/x86/0003-x86-asm-entry-64-Remove-pointless-jump-to-irq_return.patch b/debian/patches/bugfix/x86/0003-x86-asm-entry-64-Remove-pointless-jump-to-irq_return.patch deleted file mode 100644 index 2865c6f08..000000000 --- a/debian/patches/bugfix/x86/0003-x86-asm-entry-64-Remove-pointless-jump-to-irq_return.patch +++ /dev/null @@ -1,47 +0,0 @@ -From: Andy Lutomirski -Date: Thu, 4 Jun 2015 13:24:29 -0700 -Subject: [3/9] x86/asm/entry/64: Remove pointless jump to irq_return -Origin: https://git.kernel.org/linus/5ca6f70f387b4f82903037cc3c5488e2c97dcdbc - -INTERRUPT_RETURN turns into a jmp instruction. There's no need -for extra indirection. - -Signed-off-by: Andy Lutomirski -Cc: -Cc: Andrew Morton -Cc: Andy Lutomirski -Cc: Borislav Petkov -Cc: Brian Gerst -Cc: Denys Vlasenko -Cc: H. Peter Anvin -Cc: Linus Torvalds -Cc: Peter Zijlstra -Cc: Thomas Gleixner -Link: http://lkml.kernel.org/r/2f2318653dbad284a59311f13f08cea71298fd7c.1433449436.git.luto@kernel.org -Signed-off-by: Ingo Molnar -[bwh: Backported to 4.1: adjust filename, context] -Signed-off-by: Ben Hutchings ---- - arch/x86/kernel/entry_64.S | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - ---- a/arch/x86/kernel/entry_64.S -+++ b/arch/x86/kernel/entry_64.S -@@ -811,8 +811,6 @@ retint_kernel: - restore_c_regs_and_iret: - RESTORE_C_REGS - REMOVE_PT_GPREGS_FROM_STACK 8 -- --irq_return: - INTERRUPT_RETURN - - ENTRY(native_iret) -@@ -1658,7 +1656,7 @@ nmi_restore: - - /* Clear the NMI executing stack variable */ - movq $0, 5*8(%rsp) -- jmp irq_return -+ INTERRUPT_RETURN - CFI_ENDPROC - END(nmi) - diff --git a/debian/patches/bugfix/x86/0004-x86-nmi-Enable-nested-do_nmi-handling-for-64-bit-ker.patch b/debian/patches/bugfix/x86/0004-x86-nmi-Enable-nested-do_nmi-handling-for-64-bit-ker.patch deleted file mode 100644 index cb18ec247..000000000 --- a/debian/patches/bugfix/x86/0004-x86-nmi-Enable-nested-do_nmi-handling-for-64-bit-ker.patch +++ /dev/null @@ -1,191 +0,0 @@ -From: Andy Lutomirski -Date: Wed, 15 Jul 2015 10:29:33 -0700 -Subject: [4/9] x86/nmi: Enable nested do_nmi() handling for 64-bit kernels -Origin: https://git.kernel.org/linus/9d05041679904b12c12421cbcf9cb5f4860a8d7b - -32-bit kernels handle nested NMIs in C. Enable the exact same -handling on 64-bit kernels as well. This isn't currently -necessary, but it will become necessary once the asm code starts -allowing limited nesting. - -Signed-off-by: Andy Lutomirski -Reviewed-by: Steven Rostedt -Cc: Borislav Petkov -Cc: Linus Torvalds -Cc: Peter Zijlstra -Cc: Thomas Gleixner -Cc: stable@vger.kernel.org -Signed-off-by: Ingo Molnar ---- - arch/x86/kernel/nmi.c | 123 +++++++++++++++++++++----------------------------- - 1 file changed, 52 insertions(+), 71 deletions(-) - ---- a/arch/x86/kernel/nmi.c -+++ b/arch/x86/kernel/nmi.c -@@ -408,15 +408,15 @@ static void default_do_nmi(struct pt_reg - NOKPROBE_SYMBOL(default_do_nmi); - - /* -- * NMIs can hit breakpoints which will cause it to lose its -- * NMI context with the CPU when the breakpoint does an iret. -- */ --#ifdef CONFIG_X86_32 --/* -- * For i386, NMIs use the same stack as the kernel, and we can -- * add a workaround to the iret problem in C (preventing nested -- * NMIs if an NMI takes a trap). Simply have 3 states the NMI -- * can be in: -+ * NMIs can hit breakpoints which will cause it to lose its NMI context -+ * with the CPU when the breakpoint or page fault does an IRET. -+ * -+ * As a result, NMIs can nest if NMIs get unmasked due an IRET during -+ * NMI processing. On x86_64, the asm glue protects us from nested NMIs -+ * if the outer NMI came from kernel mode, but we can still nest if the -+ * outer NMI came from user mode. -+ * -+ * To handle these nested NMIs, we have three states: - * - * 1) not running - * 2) executing -@@ -430,15 +430,14 @@ NOKPROBE_SYMBOL(default_do_nmi); - * (Note, the latch is binary, thus multiple NMIs triggering, - * when one is running, are ignored. Only one NMI is restarted.) - * -- * If an NMI hits a breakpoint that executes an iret, another -- * NMI can preempt it. We do not want to allow this new NMI -- * to run, but we want to execute it when the first one finishes. -- * We set the state to "latched", and the exit of the first NMI will -- * perform a dec_return, if the result is zero (NOT_RUNNING), then -- * it will simply exit the NMI handler. If not, the dec_return -- * would have set the state to NMI_EXECUTING (what we want it to -- * be when we are running). In this case, we simply jump back -- * to rerun the NMI handler again, and restart the 'latched' NMI. -+ * If an NMI executes an iret, another NMI can preempt it. We do not -+ * want to allow this new NMI to run, but we want to execute it when the -+ * first one finishes. We set the state to "latched", and the exit of -+ * the first NMI will perform a dec_return, if the result is zero -+ * (NOT_RUNNING), then it will simply exit the NMI handler. If not, the -+ * dec_return would have set the state to NMI_EXECUTING (what we want it -+ * to be when we are running). In this case, we simply jump back to -+ * rerun the NMI handler again, and restart the 'latched' NMI. - * - * No trap (breakpoint or page fault) should be hit before nmi_restart, - * thus there is no race between the first check of state for NOT_RUNNING -@@ -461,49 +460,36 @@ enum nmi_states { - static DEFINE_PER_CPU(enum nmi_states, nmi_state); - static DEFINE_PER_CPU(unsigned long, nmi_cr2); - --#define nmi_nesting_preprocess(regs) \ -- do { \ -- if (this_cpu_read(nmi_state) != NMI_NOT_RUNNING) { \ -- this_cpu_write(nmi_state, NMI_LATCHED); \ -- return; \ -- } \ -- this_cpu_write(nmi_state, NMI_EXECUTING); \ -- this_cpu_write(nmi_cr2, read_cr2()); \ -- } while (0); \ -- nmi_restart: -- --#define nmi_nesting_postprocess() \ -- do { \ -- if (unlikely(this_cpu_read(nmi_cr2) != read_cr2())) \ -- write_cr2(this_cpu_read(nmi_cr2)); \ -- if (this_cpu_dec_return(nmi_state)) \ -- goto nmi_restart; \ -- } while (0) --#else /* x86_64 */ -+#ifdef CONFIG_X86_64 - /* -- * In x86_64 things are a bit more difficult. This has the same problem -- * where an NMI hitting a breakpoint that calls iret will remove the -- * NMI context, allowing a nested NMI to enter. What makes this more -- * difficult is that both NMIs and breakpoints have their own stack. -- * When a new NMI or breakpoint is executed, the stack is set to a fixed -- * point. If an NMI is nested, it will have its stack set at that same -- * fixed address that the first NMI had, and will start corrupting the -- * stack. This is handled in entry_64.S, but the same problem exists with -- * the breakpoint stack. -- * -- * If a breakpoint is being processed, and the debug stack is being used, -- * if an NMI comes in and also hits a breakpoint, the stack pointer -- * will be set to the same fixed address as the breakpoint that was -- * interrupted, causing that stack to be corrupted. To handle this case, -- * check if the stack that was interrupted is the debug stack, and if -- * so, change the IDT so that new breakpoints will use the current stack -- * and not switch to the fixed address. On return of the NMI, switch back -- * to the original IDT. -+ * In x86_64, we need to handle breakpoint -> NMI -> breakpoint. Without -+ * some care, the inner breakpoint will clobber the outer breakpoint's -+ * stack. -+ * -+ * If a breakpoint is being processed, and the debug stack is being -+ * used, if an NMI comes in and also hits a breakpoint, the stack -+ * pointer will be set to the same fixed address as the breakpoint that -+ * was interrupted, causing that stack to be corrupted. To handle this -+ * case, check if the stack that was interrupted is the debug stack, and -+ * if so, change the IDT so that new breakpoints will use the current -+ * stack and not switch to the fixed address. On return of the NMI, -+ * switch back to the original IDT. - */ - static DEFINE_PER_CPU(int, update_debug_stack); -+#endif - --static inline void nmi_nesting_preprocess(struct pt_regs *regs) -+dotraplinkage notrace void -+do_nmi(struct pt_regs *regs, long error_code) - { -+ if (this_cpu_read(nmi_state) != NMI_NOT_RUNNING) { -+ this_cpu_write(nmi_state, NMI_LATCHED); -+ return; -+ } -+ this_cpu_write(nmi_state, NMI_EXECUTING); -+ this_cpu_write(nmi_cr2, read_cr2()); -+nmi_restart: -+ -+#ifdef CONFIG_X86_64 - /* - * If we interrupted a breakpoint, it is possible that - * the nmi handler will have breakpoints too. We need to -@@ -514,22 +500,8 @@ static inline void nmi_nesting_preproces - debug_stack_set_zero(); - this_cpu_write(update_debug_stack, 1); - } --} -- --static inline void nmi_nesting_postprocess(void) --{ -- if (unlikely(this_cpu_read(update_debug_stack))) { -- debug_stack_reset(); -- this_cpu_write(update_debug_stack, 0); -- } --} - #endif - --dotraplinkage notrace void --do_nmi(struct pt_regs *regs, long error_code) --{ -- nmi_nesting_preprocess(regs); -- - nmi_enter(); - - inc_irq_stat(__nmi_count); -@@ -539,8 +511,17 @@ do_nmi(struct pt_regs *regs, long error_ - - nmi_exit(); - -- /* On i386, may loop back to preprocess */ -- nmi_nesting_postprocess(); -+#ifdef CONFIG_X86_64 -+ if (unlikely(this_cpu_read(update_debug_stack))) { -+ debug_stack_reset(); -+ this_cpu_write(update_debug_stack, 0); -+ } -+#endif -+ -+ if (unlikely(this_cpu_read(nmi_cr2) != read_cr2())) -+ write_cr2(this_cpu_read(nmi_cr2)); -+ if (this_cpu_dec_return(nmi_state)) -+ goto nmi_restart; - } - NOKPROBE_SYMBOL(do_nmi); - diff --git a/debian/patches/bugfix/x86/0005-x86-nmi-64-Remove-asm-code-that-saves-cr2.patch b/debian/patches/bugfix/x86/0005-x86-nmi-64-Remove-asm-code-that-saves-cr2.patch deleted file mode 100644 index 32985d13e..000000000 --- a/debian/patches/bugfix/x86/0005-x86-nmi-64-Remove-asm-code-that-saves-cr2.patch +++ /dev/null @@ -1,53 +0,0 @@ -From: Andy Lutomirski -Date: Wed, 15 Jul 2015 10:29:34 -0700 -Subject: [5/9] x86/nmi/64: Remove asm code that saves CR2 -Origin: https://git.kernel.org/linus/0e181bb58143cb4a2e8f01c281b0816cd0e4798e - -Now that do_nmi saves CR2, we don't need to save it in asm. - -Signed-off-by: Andy Lutomirski -Reviewed-by: Steven Rostedt -Acked-by: Borislav Petkov -Cc: Linus Torvalds -Cc: Peter Zijlstra -Cc: Thomas Gleixner -Cc: stable@vger.kernel.org -Signed-off-by: Ingo Molnar -[bwh: Backported to 4.0: adjust filename, context] -Signed-off-by: Ben Hutchings ---- - arch/x86/kernel/entry_64.S | 18 ------------------ - 1 file changed, 18 deletions(-) - ---- a/arch/x86/kernel/entry_64.S -+++ b/arch/x86/kernel/entry_64.S -@@ -1621,29 +1621,11 @@ end_repeat_nmi: - call paranoid_entry - DEFAULT_FRAME 0 - -- /* -- * Save off the CR2 register. If we take a page fault in the NMI then -- * it could corrupt the CR2 value. If the NMI preempts a page fault -- * handler before it was able to read the CR2 register, and then the -- * NMI itself takes a page fault, the page fault that was preempted -- * will read the information from the NMI page fault and not the -- * origin fault. Save it off and restore it if it changes. -- * Use the r12 callee-saved register. -- */ -- movq %cr2, %r12 -- - /* paranoidentry do_nmi, 0; without TRACE_IRQS_OFF */ - movq %rsp,%rdi - movq $-1,%rsi - call do_nmi - -- /* Did the NMI take a page fault? Restore cr2 if it did */ -- movq %cr2, %rcx -- cmpq %rcx, %r12 -- je 1f -- movq %r12, %cr2 --1: -- - testl %ebx,%ebx /* swapgs needed? */ - jnz nmi_restore - nmi_swapgs: diff --git a/debian/patches/bugfix/x86/0006-x86-nmi-64-Switch-stacks-on-userspace-NMI-entry.patch b/debian/patches/bugfix/x86/0006-x86-nmi-64-Switch-stacks-on-userspace-NMI-entry.patch deleted file mode 100644 index 0e85fc428..000000000 --- a/debian/patches/bugfix/x86/0006-x86-nmi-64-Switch-stacks-on-userspace-NMI-entry.patch +++ /dev/null @@ -1,112 +0,0 @@ -From: Andy Lutomirski -Date: Wed, 15 Jul 2015 10:29:35 -0700 -Subject: [6/9] x86/nmi/64: Switch stacks on userspace NMI entry -Origin: https://git.kernel.org/linus/9b6e6a8334d56354853f9c255d1395c2ba570e0a - -Returning to userspace is tricky: IRET can fail, and ESPFIX can -rearrange the stack prior to IRET. - -The NMI nesting fixup relies on a precise stack layout and -atomic IRET. Rather than trying to teach the NMI nesting fixup -to handle ESPFIX and failed IRET, punt: run NMIs that came from -user mode on the normal kernel stack. - -This will make some nested NMIs visible to C code, but the C -code is okay with that. - -As a side effect, this should speed up perf: it eliminates an -RDMSR when NMIs come from user mode. - -Signed-off-by: Andy Lutomirski -Reviewed-by: Steven Rostedt -Reviewed-by: Borislav Petkov -Cc: Linus Torvalds -Cc: Peter Zijlstra -Cc: Thomas Gleixner -Cc: stable@vger.kernel.org -Signed-off-by: Ingo Molnar -[bwh: Backported to 4.1: - - Adjust filename, context - - Use kernel_stack instead of cpu_current_top_of_stack] -Signed-off-by: Ben Hutchings ---- ---- a/arch/x86/kernel/entry_64.S -+++ b/arch/x86/kernel/entry_64.S -@@ -1442,19 +1442,73 @@ ENTRY(nmi) - * a nested NMI that updated the copy interrupt stack frame, a - * jump will be made to the repeat_nmi code that will handle the second - * NMI. -+ * -+ * However, espfix prevents us from directly returning to userspace -+ * with a single IRET instruction. Similarly, IRET to user mode -+ * can fault. We therefore handle NMIs from user space like -+ * other IST entries. - */ - - /* Use %rdx as our temp variable throughout */ - pushq_cfi %rdx - CFI_REL_OFFSET rdx, 0 - -+ testb $3, CS-RIP+8(%rsp) -+ jz .Lnmi_from_kernel -+ -+ /* -+ * NMI from user mode. We need to run on the thread stack, but we -+ * can't go through the normal entry paths: NMIs are masked, and -+ * we don't want to enable interrupts, because then we'll end -+ * up in an awkward situation in which IRQs are on but NMIs -+ * are off. -+ */ -+ -+ SWAPGS -+ cld -+ movq %rsp, %rdx -+ movq PER_CPU_VAR(kernel_stack), %rsp -+ pushq 5*8(%rdx) /* pt_regs->ss */ -+ pushq 4*8(%rdx) /* pt_regs->rsp */ -+ pushq 3*8(%rdx) /* pt_regs->flags */ -+ pushq 2*8(%rdx) /* pt_regs->cs */ -+ pushq 1*8(%rdx) /* pt_regs->rip */ -+ pushq $-1 /* pt_regs->orig_ax */ -+ pushq %rdi /* pt_regs->di */ -+ pushq %rsi /* pt_regs->si */ -+ pushq (%rdx) /* pt_regs->dx */ -+ pushq %rcx /* pt_regs->cx */ -+ pushq %rax /* pt_regs->ax */ -+ pushq %r8 /* pt_regs->r8 */ -+ pushq %r9 /* pt_regs->r9 */ -+ pushq %r10 /* pt_regs->r10 */ -+ pushq %r11 /* pt_regs->r11 */ -+ pushq %rbx /* pt_regs->rbx */ -+ pushq %rbp /* pt_regs->rbp */ -+ pushq %r12 /* pt_regs->r12 */ -+ pushq %r13 /* pt_regs->r13 */ -+ pushq %r14 /* pt_regs->r14 */ -+ pushq %r15 /* pt_regs->r15 */ -+ -+ /* -+ * At this point we no longer need to worry about stack damage -+ * due to nesting -- we're on the normal thread stack and we're -+ * done with the NMI stack. -+ */ -+ -+ movq %rsp, %rdi -+ movq $-1, %rsi -+ call do_nmi -+ - /* -- * If %cs was not the kernel segment, then the NMI triggered in user -- * space, which means it is definitely not nested. -+ * Return back to user mode. We must *not* do the normal exit -+ * work, because we don't want to enable interrupts. Fortunately, -+ * do_nmi doesn't modify pt_regs. - */ -- cmpl $__KERNEL_CS, 16(%rsp) -- jne first_nmi -+ SWAPGS -+ jmp restore_c_regs_and_iret - -+.Lnmi_from_kernel: - /* - * Check the special variable on the stack to see if NMIs are - * executing. diff --git a/debian/patches/bugfix/x86/0007-x86-nmi-64-Improve-nested-NMI-comments.patch b/debian/patches/bugfix/x86/0007-x86-nmi-64-Improve-nested-NMI-comments.patch deleted file mode 100644 index 24d04f15d..000000000 --- a/debian/patches/bugfix/x86/0007-x86-nmi-64-Improve-nested-NMI-comments.patch +++ /dev/null @@ -1,286 +0,0 @@ -From: Andy Lutomirski -Date: Wed, 15 Jul 2015 10:29:36 -0700 -Subject: [7/9] x86/nmi/64: Improve nested NMI comments -Origin: https://git.kernel.org/linus/0b22930ebad563ae97ff3f8d7b9f12060b4c6e6b - -I found the nested NMI documentation to be difficult to follow. -Improve the comments. - -Signed-off-by: Andy Lutomirski -Reviewed-by: Steven Rostedt -Cc: Borislav Petkov -Cc: Linus Torvalds -Cc: Peter Zijlstra -Cc: Thomas Gleixner -Cc: stable@vger.kernel.org -Signed-off-by: Ingo Molnar -[bwh: Backported to 4.1: adjust filename, context] -Signed-off-by: Ben Hutchings ---- - arch/x86/kernel/entry_64.S | 159 ++++++++++++++++++++++++++------------------- - arch/x86/kernel/nmi.c | 4 +- - 2 files changed, 93 insertions(+), 70 deletions(-) - ---- a/arch/x86/kernel/entry_64.S -+++ b/arch/x86/kernel/entry_64.S -@@ -1429,11 +1429,12 @@ ENTRY(nmi) - * If the variable is not set and the stack is not the NMI - * stack then: - * o Set the special variable on the stack -- * o Copy the interrupt frame into a "saved" location on the stack -- * o Copy the interrupt frame into a "copy" location on the stack -+ * o Copy the interrupt frame into an "outermost" location on the -+ * stack -+ * o Copy the interrupt frame into an "iret" location on the stack - * o Continue processing the NMI - * If the variable is set or the previous stack is the NMI stack: -- * o Modify the "copy" location to jump to the repeate_nmi -+ * o Modify the "iret" location to jump to the repeat_nmi - * o return back to the first NMI - * - * Now on exit of the first NMI, we first clear the stack variable -@@ -1510,18 +1511,60 @@ ENTRY(nmi) - - .Lnmi_from_kernel: - /* -- * Check the special variable on the stack to see if NMIs are -- * executing. -+ * Here's what our stack frame will look like: -+ * +---------------------------------------------------------+ -+ * | original SS | -+ * | original Return RSP | -+ * | original RFLAGS | -+ * | original CS | -+ * | original RIP | -+ * +---------------------------------------------------------+ -+ * | temp storage for rdx | -+ * +---------------------------------------------------------+ -+ * | "NMI executing" variable | -+ * +---------------------------------------------------------+ -+ * | iret SS } Copied from "outermost" frame | -+ * | iret Return RSP } on each loop iteration; overwritten | -+ * | iret RFLAGS } by a nested NMI to force another | -+ * | iret CS } iteration if needed. | -+ * | iret RIP } | -+ * +---------------------------------------------------------+ -+ * | outermost SS } initialized in first_nmi; | -+ * | outermost Return RSP } will not be changed before | -+ * | outermost RFLAGS } NMI processing is done. | -+ * | outermost CS } Copied to "iret" frame on each | -+ * | outermost RIP } iteration. | -+ * +---------------------------------------------------------+ -+ * | pt_regs | -+ * +---------------------------------------------------------+ -+ * -+ * The "original" frame is used by hardware. Before re-enabling -+ * NMIs, we need to be done with it, and we need to leave enough -+ * space for the asm code here. -+ * -+ * We return by executing IRET while RSP points to the "iret" frame. -+ * That will either return for real or it will loop back into NMI -+ * processing. -+ * -+ * The "outermost" frame is copied to the "iret" frame on each -+ * iteration of the loop, so each iteration starts with the "iret" -+ * frame pointing to the final return target. -+ */ -+ -+ /* -+ * Determine whether we're a nested NMI. -+ * -+ * First check "NMI executing". If it's set, then we're nested. -+ * This will not detect if we interrupted an outer NMI just -+ * before IRET. - */ - cmpl $1, -8(%rsp) - je nested_nmi - - /* -- * Now test if the previous stack was an NMI stack. -- * We need the double check. We check the NMI stack to satisfy the -- * race when the first NMI clears the variable before returning. -- * We check the variable because the first NMI could be in a -- * breakpoint routine using a breakpoint stack. -+ * Now test if the previous stack was an NMI stack. This covers -+ * the case where we interrupt an outer NMI after it clears -+ * "NMI executing" but before IRET. - */ - lea 6*8(%rsp), %rdx - /* Compare the NMI stack (rdx) with the stack we came from (4*8(%rsp)) */ -@@ -1538,9 +1581,11 @@ ENTRY(nmi) - - nested_nmi: - /* -- * Do nothing if we interrupted the fixup in repeat_nmi. -- * It's about to repeat the NMI handler, so we are fine -- * with ignoring this one. -+ * If we interrupted an NMI that is between repeat_nmi and -+ * end_repeat_nmi, then we must not modify the "iret" frame -+ * because it's being written by the outer NMI. That's okay; -+ * the outer NMI handler is about to call do_nmi anyway, -+ * so we can just resume the outer NMI. - */ - movq $repeat_nmi, %rdx - cmpq 8(%rsp), %rdx -@@ -1550,7 +1595,10 @@ nested_nmi: - ja nested_nmi_out - - 1: -- /* Set up the interrupted NMIs stack to jump to repeat_nmi */ -+ /* -+ * Modify the "iret" frame to point to repeat_nmi, forcing another -+ * iteration of NMI handling. -+ */ - leaq -1*8(%rsp), %rdx - movq %rdx, %rsp - CFI_ADJUST_CFA_OFFSET 1*8 -@@ -1569,60 +1617,23 @@ nested_nmi_out: - popq_cfi %rdx - CFI_RESTORE rdx - -- /* No need to check faults here */ -+ /* We are returning to kernel mode, so this cannot result in a fault. */ - INTERRUPT_RETURN - - CFI_RESTORE_STATE - first_nmi: -- /* -- * Because nested NMIs will use the pushed location that we -- * stored in rdx, we must keep that space available. -- * Here's what our stack frame will look like: -- * +-------------------------+ -- * | original SS | -- * | original Return RSP | -- * | original RFLAGS | -- * | original CS | -- * | original RIP | -- * +-------------------------+ -- * | temp storage for rdx | -- * +-------------------------+ -- * | NMI executing variable | -- * +-------------------------+ -- * | copied SS | -- * | copied Return RSP | -- * | copied RFLAGS | -- * | copied CS | -- * | copied RIP | -- * +-------------------------+ -- * | Saved SS | -- * | Saved Return RSP | -- * | Saved RFLAGS | -- * | Saved CS | -- * | Saved RIP | -- * +-------------------------+ -- * | pt_regs | -- * +-------------------------+ -- * -- * The saved stack frame is used to fix up the copied stack frame -- * that a nested NMI may change to make the interrupted NMI iret jump -- * to the repeat_nmi. The original stack frame and the temp storage -- * is also used by nested NMIs and can not be trusted on exit. -- */ -- /* Do not pop rdx, nested NMIs will corrupt that part of the stack */ -+ /* Restore rdx. */ - movq (%rsp), %rdx - CFI_RESTORE rdx - -- /* Set the NMI executing variable on the stack. */ -+ /* Set "NMI executing" on the stack. */ - pushq_cfi $1 - -- /* -- * Leave room for the "copied" frame -- */ -+ /* Leave room for the "iret" frame */ - subq $(5*8), %rsp - CFI_ADJUST_CFA_OFFSET 5*8 - -- /* Copy the stack frame to the Saved frame */ -+ /* Copy the "original" frame to the "outermost" frame */ - .rept 5 - pushq_cfi 11*8(%rsp) - .endr -@@ -1630,6 +1641,7 @@ first_nmi: - - /* Everything up to here is safe from nested NMIs */ - -+repeat_nmi: - /* - * If there was a nested NMI, the first NMI's iret will return - * here. But NMIs are still enabled and we can take another -@@ -1638,16 +1650,21 @@ first_nmi: - * it will just return, as we are about to repeat an NMI anyway. - * This makes it safe to copy to the stack frame that a nested - * NMI will update. -- */ --repeat_nmi: -- /* -- * Update the stack variable to say we are still in NMI (the update -- * is benign for the non-repeat case, where 1 was pushed just above -- * to this very stack slot). -+ * -+ * RSP is pointing to "outermost RIP". gsbase is unknown, but, if -+ * we're repeating an NMI, gsbase has the same value that it had on -+ * the first iteration. paranoid_entry will load the kernel -+ * gsbase if needed before we call do_nmi. -+ * -+ * Set "NMI executing" in case we came back here via IRET. - */ - movq $1, 10*8(%rsp) - -- /* Make another copy, this one may be modified by nested NMIs */ -+ /* -+ * Copy the "outermost" frame to the "iret" frame. NMIs that nest -+ * here must not modify the "iret" frame while we're writing to -+ * it or it will end up containing garbage. -+ */ - addq $(10*8), %rsp - CFI_ADJUST_CFA_OFFSET -10*8 - .rept 5 -@@ -1658,9 +1675,9 @@ repeat_nmi: - end_repeat_nmi: - - /* -- * Everything below this point can be preempted by a nested -- * NMI if the first NMI took an exception and reset our iret stack -- * so that we repeat another NMI. -+ * Everything below this point can be preempted by a nested NMI. -+ * If this happens, then the inner NMI will change the "iret" -+ * frame to point back to repeat_nmi. - */ - pushq_cfi $-1 /* ORIG_RAX: no syscall to restart */ - ALLOC_PT_GPREGS_ON_STACK -@@ -1687,11 +1704,18 @@ nmi_swapgs: - nmi_restore: - RESTORE_EXTRA_REGS - RESTORE_C_REGS -- /* Pop the extra iret frame at once */ -+ -+ /* Point RSP at the "iret" frame. */ - REMOVE_PT_GPREGS_FROM_STACK 6*8 - -- /* Clear the NMI executing stack variable */ -+ /* Clear "NMI executing". */ - movq $0, 5*8(%rsp) -+ -+ /* -+ * INTERRUPT_RETURN reads the "iret" frame and exits the NMI -+ * stack in a single instruction. We are returning to kernel -+ * mode, so this cannot result in a fault. -+ */ - INTERRUPT_RETURN - CFI_ENDPROC - END(nmi) ---- a/arch/x86/kernel/nmi.c -+++ b/arch/x86/kernel/nmi.c -@@ -408,8 +408,8 @@ static void default_do_nmi(struct pt_reg - NOKPROBE_SYMBOL(default_do_nmi); - - /* -- * NMIs can hit breakpoints which will cause it to lose its NMI context -- * with the CPU when the breakpoint or page fault does an IRET. -+ * NMIs can page fault or hit breakpoints which will cause it to lose -+ * its NMI context with the CPU when the breakpoint or page fault does an IRET. - * - * As a result, NMIs can nest if NMIs get unmasked due an IRET during - * NMI processing. On x86_64, the asm glue protects us from nested NMIs diff --git a/debian/patches/bugfix/x86/0008-x86-nmi-64-Reorder-nested-NMI-checks.patch b/debian/patches/bugfix/x86/0008-x86-nmi-64-Reorder-nested-NMI-checks.patch deleted file mode 100644 index d010de02d..000000000 --- a/debian/patches/bugfix/x86/0008-x86-nmi-64-Reorder-nested-NMI-checks.patch +++ /dev/null @@ -1,91 +0,0 @@ -From: Andy Lutomirski -Date: Wed, 15 Jul 2015 10:29:37 -0700 -Subject: [8/9] x86/nmi/64: Reorder nested NMI checks -Origin: https://git.kernel.org/linus/a27507ca2d796cfa8d907de31ad730359c8a6d06 - -Check the repeat_nmi .. end_repeat_nmi special case first. The -next patch will rework the RSP check and, as a side effect, the -RSP check will no longer detect repeat_nmi .. end_repeat_nmi, so -we'll need this ordering of the checks. - -Note: this is more subtle than it appears. The check for -repeat_nmi .. end_repeat_nmi jumps straight out of the NMI code -instead of adjusting the "iret" frame to force a repeat. This -is necessary, because the code between repeat_nmi and -end_repeat_nmi sets "NMI executing" and then writes to the -"iret" frame itself. If a nested NMI comes in and modifies the -"iret" frame while repeat_nmi is also modifying it, we'll end up -with garbage. The old code got this right, as does the new -code, but the new code is a bit more explicit. - -If we were to move the check right after the "NMI executing" -check, then we'd get it wrong and have random crashes. - -( Because the "NMI executing" check would jump to the code that would - modify the "iret" frame without checking if the interrupted NMI was - currently modifying it. ) - -Signed-off-by: Andy Lutomirski -Reviewed-by: Steven Rostedt -Cc: Borislav Petkov -Cc: Linus Torvalds -Cc: Peter Zijlstra -Cc: Thomas Gleixner -Cc: stable@vger.kernel.org -Signed-off-by: Ingo Molnar -[bwh: Backported to 4.1: adjust filename, spacing] -Signed-off-by: Ben Hutchings ---- - arch/x86/kernel/entry_64.S | 34 ++++++++++++++++++---------------- - 1 file changed, 18 insertions(+), 16 deletions(-) - ---- a/arch/x86/kernel/entry_64.S -+++ b/arch/x86/kernel/entry_64.S -@@ -1554,7 +1554,24 @@ ENTRY(nmi) - /* - * Determine whether we're a nested NMI. - * -- * First check "NMI executing". If it's set, then we're nested. -+ * If we interrupted kernel code between repeat_nmi and -+ * end_repeat_nmi, then we are a nested NMI. We must not -+ * modify the "iret" frame because it's being written by -+ * the outer NMI. That's okay; the outer NMI handler is -+ * about to about to call do_nmi anyway, so we can just -+ * resume the outer NMI. -+ */ -+ -+ movq $repeat_nmi, %rdx -+ cmpq 8(%rsp), %rdx -+ ja 1f -+ movq $end_repeat_nmi, %rdx -+ cmpq 8(%rsp), %rdx -+ ja nested_nmi_out -+1: -+ -+ /* -+ * Now check "NMI executing". If it's set, then we're nested. - * This will not detect if we interrupted an outer NMI just - * before IRET. - */ -@@ -1581,21 +1598,6 @@ ENTRY(nmi) - - nested_nmi: - /* -- * If we interrupted an NMI that is between repeat_nmi and -- * end_repeat_nmi, then we must not modify the "iret" frame -- * because it's being written by the outer NMI. That's okay; -- * the outer NMI handler is about to call do_nmi anyway, -- * so we can just resume the outer NMI. -- */ -- movq $repeat_nmi, %rdx -- cmpq 8(%rsp), %rdx -- ja 1f -- movq $end_repeat_nmi, %rdx -- cmpq 8(%rsp), %rdx -- ja nested_nmi_out -- --1: -- /* - * Modify the "iret" frame to point to repeat_nmi, forcing another - * iteration of NMI handling. - */ diff --git a/debian/patches/bugfix/x86/0009-x86-nmi-64-Use-DF-to-avoid-userspace-RSP-confusing-n.patch b/debian/patches/bugfix/x86/0009-x86-nmi-64-Use-DF-to-avoid-userspace-RSP-confusing-n.patch deleted file mode 100644 index 60e0bda4b..000000000 --- a/debian/patches/bugfix/x86/0009-x86-nmi-64-Use-DF-to-avoid-userspace-RSP-confusing-n.patch +++ /dev/null @@ -1,90 +0,0 @@ -From: Andy Lutomirski -Date: Wed, 15 Jul 2015 10:29:38 -0700 -Subject: x86/nmi/64: Use DF to avoid userspace RSP confusing nested NMI - detection -Origin: https://git.kernel.org/linus/810bc075f78ff2c221536eb3008eac6a492dba2d - -We have a tricky bug in the nested NMI code: if we see RSP -pointing to the NMI stack on NMI entry from kernel mode, we -assume that we are executing a nested NMI. - -This isn't quite true. A malicious userspace program can point -RSP at the NMI stack, issue SYSCALL, and arrange for an NMI to -happen while RSP is still pointing at the NMI stack. - -Fix it with a sneaky trick. Set DF in the region of code that -the RSP check is intended to detect. IRET will clear DF -atomically. - -( Note: other than paravirt, there's little need for all this - complexity. We could check RIP instead of RSP. ) - -Signed-off-by: Andy Lutomirski -Reviewed-by: Steven Rostedt -Cc: Borislav Petkov -Cc: Linus Torvalds -Cc: Peter Zijlstra -Cc: Thomas Gleixner -Cc: stable@vger.kernel.org -Signed-off-by: Ingo Molnar -[bwh: Backported to 4.1: adjust filename, context] -Signed-off-by: Ben Hutchings ---- - arch/x86/kernel/entry_64.S | 29 +++++++++++++++++++++++++---- - 1 file changed, 25 insertions(+), 4 deletions(-) - ---- a/arch/x86/kernel/entry_64.S -+++ b/arch/x86/kernel/entry_64.S -@@ -1581,7 +1581,14 @@ ENTRY(nmi) - /* - * Now test if the previous stack was an NMI stack. This covers - * the case where we interrupt an outer NMI after it clears -- * "NMI executing" but before IRET. -+ * "NMI executing" but before IRET. We need to be careful, though: -+ * there is one case in which RSP could point to the NMI stack -+ * despite there being no NMI active: naughty userspace controls -+ * RSP at the very beginning of the SYSCALL targets. We can -+ * pull a fast one on naughty userspace, though: we program -+ * SYSCALL to mask DF, so userspace cannot cause DF to be set -+ * if it controls the kernel's RSP. We set DF before we clear -+ * "NMI executing". - */ - lea 6*8(%rsp), %rdx - /* Compare the NMI stack (rdx) with the stack we came from (4*8(%rsp)) */ -@@ -1592,10 +1599,16 @@ ENTRY(nmi) - cmpq %rdx, 4*8(%rsp) - /* If it is below the NMI stack, it is a normal NMI */ - jb first_nmi -- /* Ah, it is within the NMI stack, treat it as nested */ -+ -+ /* Ah, it is within the NMI stack. */ -+ -+ testb $(X86_EFLAGS_DF >> 8), (3*8 + 1)(%rsp) -+ jz first_nmi /* RSP was user controlled. */ - - CFI_REMEMBER_STATE - -+ /* This is a nested NMI. */ -+ - nested_nmi: - /* - * Modify the "iret" frame to point to repeat_nmi, forcing another -@@ -1710,8 +1723,16 @@ nmi_restore: - /* Point RSP at the "iret" frame. */ - REMOVE_PT_GPREGS_FROM_STACK 6*8 - -- /* Clear "NMI executing". */ -- movq $0, 5*8(%rsp) -+ /* -+ * Clear "NMI executing". Set DF first so that we can easily -+ * distinguish the remaining code between here and IRET from -+ * the SYSCALL entry and exit paths. On a native kernel, we -+ * could just inspect RIP, but, on paravirt kernels, -+ * INTERRUPT_RETURN can translate into a jump into a -+ * hypercall page. -+ */ -+ std -+ movq $0, 5*8(%rsp) /* clear "NMI executing" */ - - /* - * INTERRUPT_RETURN reads the "iret" frame and exits the NMI diff --git a/debian/patches/bugfix/x86/kvm-x86-fix-kvm_apic_has_events-to-check-for-null-po.patch b/debian/patches/bugfix/x86/kvm-x86-fix-kvm_apic_has_events-to-check-for-null-po.patch deleted file mode 100644 index 47de607da..000000000 --- a/debian/patches/bugfix/x86/kvm-x86-fix-kvm_apic_has_events-to-check-for-null-po.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Paolo Bonzini -Date: Sat, 30 May 2015 14:31:24 +0200 -Subject: kvm: x86: fix kvm_apic_has_events to check for NULL pointer -Origin: https://git.kernel.org/linus/ce40cd3fc7fa40a6119e5fe6c0f2bc0eb4541009 - -Malicious (or egregiously buggy) userspace can trigger it, but it -should never happen in normal operation. - -Signed-off-by: Paolo Bonzini ---- - arch/x86/kvm/lapic.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/arch/x86/kvm/lapic.h -+++ b/arch/x86/kvm/lapic.h -@@ -165,7 +165,7 @@ static inline u16 apic_logical_id(struct - - static inline bool kvm_apic_has_events(struct kvm_vcpu *vcpu) - { -- return vcpu->arch.apic->pending_events; -+ return kvm_vcpu_has_lapic(vcpu) && vcpu->arch.apic->pending_events; - } - - bool kvm_apic_pending_eoi(struct kvm_vcpu *vcpu, int vector); diff --git a/debian/patches/debian/fs-enable-link-security-restrictions-by-default.patch b/debian/patches/debian/fs-enable-link-security-restrictions-by-default.patch index 639fb3c34..d487c87f4 100644 --- a/debian/patches/debian/fs-enable-link-security-restrictions-by-default.patch +++ b/debian/patches/debian/fs-enable-link-security-restrictions-by-default.patch @@ -9,8 +9,8 @@ This reverts commit 561ec64ae67ef25cac8d72bb9c4bfc955edfd415 --- a/fs/namei.c +++ b/fs/namei.c -@@ -651,8 +651,8 @@ static inline void put_link(struct namei - path_put(link); +@@ -847,8 +847,8 @@ static inline void put_link(struct namei + path_put(&last->link); } -int sysctl_protected_symlinks __read_mostly = 0; diff --git a/debian/patches/debian/yama-disable-by-default.patch b/debian/patches/debian/yama-disable-by-default.patch index f217a22b3..8477b5678 100644 --- a/debian/patches/debian/yama-disable-by-default.patch +++ b/debian/patches/debian/yama-disable-by-default.patch @@ -15,12 +15,12 @@ Forwarded: not-needed /* describe a ptrace relationship for potential exception */ struct ptrace_relation { -@@ -425,7 +425,7 @@ static __init int yama_init(void) +@@ -407,7 +407,7 @@ static __init int yama_init(void) + if (!security_module_enable("yama")) return 0; #endif +- pr_info("Yama: becoming mindful.\n"); ++ pr_info("Yama: disabled by default; enable with sysctl kernel.yama.*\n"); -- printk(KERN_INFO "Yama: becoming mindful.\n"); -+ printk(KERN_INFO "Yama: disabled by default; enable with sysctl kernel.yama.*\n"); - - #ifndef CONFIG_SECURITY_YAMA_STACKED - if (register_security(&yama_ops)) + #ifdef CONFIG_SYSCTL + if (!register_sysctl_paths(yama_sysctl_path, yama_sysctl_table)) diff --git a/debian/patches/features/all/aufs4/aufs4-mmap.patch b/debian/patches/features/all/aufs4/aufs4-mmap.patch index 2901e0d5f..eee90c7f2 100644 --- a/debian/patches/features/all/aufs4/aufs4-mmap.patch +++ b/debian/patches/features/all/aufs4/aufs4-mmap.patch @@ -8,11 +8,11 @@ Patch headers added by debian/patches/features/all/aufs4/gen-patch aufs4.x-rcN mmap patch -diff --git a/fs/buffer.c b/fs/buffer.c -index c7a5602..8c50a22 100644 +[bwh: Adjusted context for 4.2] + --- a/fs/buffer.c +++ b/fs/buffer.c -@@ -2450,7 +2450,7 @@ int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf, +@@ -2473,7 +2473,7 @@ int block_page_mkwrite(struct vm_area_st * Update file times before taking page lock. We may end up failing the * fault so this update may be superfluous but who really cares... */ @@ -21,11 +21,9 @@ index c7a5602..8c50a22 100644 ret = __block_page_mkwrite(vma, vmf, get_block); sb_end_pagefault(sb); -diff --git a/fs/proc/base.c b/fs/proc/base.c -index 093ca14..fc1ac03 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c -@@ -1744,7 +1744,7 @@ static int proc_map_files_get_link(struct dentry *dentry, struct path *path) +@@ -1939,7 +1939,7 @@ static int proc_map_files_get_link(struc down_read(&mm->mmap_sem); vma = find_exact_vma(mm, vm_start, vm_end); if (vma && vma->vm_file) { @@ -34,11 +32,9 @@ index 093ca14..fc1ac03 100644 path_get(path); rc = 0; } -diff --git a/fs/proc/nommu.c b/fs/proc/nommu.c -index d4a3574..1397181 100644 --- a/fs/proc/nommu.c +++ b/fs/proc/nommu.c -@@ -45,7 +45,10 @@ static int nommu_region_show(struct seq_file *m, struct vm_region *region) +@@ -45,7 +45,10 @@ static int nommu_region_show(struct seq_ file = region->vm_file; if (file) { @@ -50,11 +46,9 @@ index d4a3574..1397181 100644 dev = inode->i_sb->s_dev; ino = inode->i_ino; } -diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c -index 6dee68d..9afa35d 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c -@@ -279,7 +279,10 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma, int is_pid) +@@ -279,7 +279,10 @@ show_map_vma(struct seq_file *m, struct const char *name = NULL; if (file) { @@ -66,7 +60,7 @@ index 6dee68d..9afa35d 100644 dev = inode->i_sb->s_dev; ino = inode->i_ino; pgoff = ((loff_t)vma->vm_pgoff) << PAGE_SHIFT; -@@ -1479,7 +1482,7 @@ static int show_numa_map(struct seq_file *m, void *v, int is_pid) +@@ -1479,7 +1482,7 @@ static int show_numa_map(struct seq_file struct proc_maps_private *proc_priv = &numa_priv->proc_maps; struct vm_area_struct *vma = v; struct numa_maps *md = &numa_priv->md; @@ -75,11 +69,9 @@ index 6dee68d..9afa35d 100644 struct mm_struct *mm = vma->vm_mm; struct mm_walk walk = { .hugetlb_entry = gather_hugetlb_stats, -diff --git a/fs/proc/task_nommu.c b/fs/proc/task_nommu.c -index 599ec2e..de6cd6e 100644 --- a/fs/proc/task_nommu.c +++ b/fs/proc/task_nommu.c -@@ -160,7 +160,10 @@ static int nommu_vma_show(struct seq_file *m, struct vm_area_struct *vma, +@@ -160,7 +160,10 @@ static int nommu_vma_show(struct seq_fil file = vma->vm_file; if (file) { @@ -91,11 +83,9 @@ index 599ec2e..de6cd6e 100644 dev = inode->i_sb->s_dev; ino = inode->i_ino; pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT; -diff --git a/include/linux/mm.h b/include/linux/mm.h -index 0755b9f..073d61e 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h -@@ -1172,6 +1172,28 @@ static inline int fixup_user_fault(struct task_struct *tsk, +@@ -1173,6 +1173,28 @@ static inline int fixup_user_fault(struc } #endif @@ -124,11 +114,9 @@ index 0755b9f..073d61e 100644 extern int access_process_vm(struct task_struct *tsk, unsigned long addr, void *buf, int len, int write); extern int access_remote_vm(struct mm_struct *mm, unsigned long addr, void *buf, int len, int write); -diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h -index 8d37e26..ce89d4c 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h -@@ -241,6 +241,7 @@ struct vm_region { +@@ -259,6 +259,7 @@ struct vm_region { unsigned long vm_top; /* region allocated to here */ unsigned long vm_pgoff; /* the offset in vm_file corresponding to vm_start */ struct file *vm_file; /* the backing file or NULL */ @@ -136,7 +124,7 @@ index 8d37e26..ce89d4c 100644 int vm_usage; /* region usage count (access under nommu_region_sem) */ bool vm_icache_flushed : 1; /* true if the icache has been flushed for -@@ -305,6 +306,7 @@ struct vm_area_struct { +@@ -323,6 +324,7 @@ struct vm_area_struct { unsigned long vm_pgoff; /* Offset (within vm_file) in PAGE_SIZE units, *not* PAGE_CACHE_SIZE */ struct file * vm_file; /* File we map to (can be NULL). */ @@ -144,11 +132,9 @@ index 8d37e26..ce89d4c 100644 void * vm_private_data; /* was vm_pte (shared mem) */ #ifndef CONFIG_MMU -diff --git a/kernel/fork.c b/kernel/fork.c -index 03c1eaa..7e215ba 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -456,7 +456,7 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) +@@ -461,7 +461,7 @@ static int dup_mmap(struct mm_struct *mm struct inode *inode = file_inode(file); struct address_space *mapping = file->f_mapping; @@ -157,11 +143,9 @@ index 03c1eaa..7e215ba 100644 if (tmp->vm_flags & VM_DENYWRITE) atomic_dec(&inode->i_writecount); i_mmap_lock_write(mapping); -diff --git a/mm/Makefile b/mm/Makefile -index 98c4eae..3f0c9b9 100644 --- a/mm/Makefile +++ b/mm/Makefile -@@ -21,7 +21,7 @@ obj-y := filemap.o mempool.o oom_kill.o \ +@@ -21,7 +21,7 @@ obj-y := filemap.o mempool.o oom_kill. mm_init.o mmu_context.o percpu.o slab_common.o \ compaction.o vmacache.o \ interval_tree.o list_lru.o workingset.o \ @@ -170,11 +154,9 @@ index 98c4eae..3f0c9b9 100644 obj-y += init-mm.o -diff --git a/mm/filemap.c b/mm/filemap.c -index 6bf5e42..a863d0f 100644 --- a/mm/filemap.c +++ b/mm/filemap.c -@@ -2062,7 +2062,7 @@ int filemap_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf) +@@ -2089,7 +2089,7 @@ int filemap_page_mkwrite(struct vm_area_ int ret = VM_FAULT_LOCKED; sb_start_pagefault(inode->i_sb); @@ -183,11 +165,9 @@ index 6bf5e42..a863d0f 100644 lock_page(page); if (page->mapping != inode->i_mapping) { unlock_page(page); -diff --git a/mm/madvise.c b/mm/madvise.c -index d551475..1ebf71b 100644 --- a/mm/madvise.c +++ b/mm/madvise.c -@@ -320,12 +320,12 @@ static long madvise_remove(struct vm_area_struct *vma, +@@ -321,12 +321,12 @@ static long madvise_remove(struct vm_are * vma's reference to the file) can go away as soon as we drop * mmap_sem. */ @@ -202,11 +182,9 @@ index d551475..1ebf71b 100644 down_read(¤t->mm->mmap_sem); return error; } -diff --git a/mm/memory.c b/mm/memory.c -index 22e037e..62096a2 100644 --- a/mm/memory.c +++ b/mm/memory.c -@@ -2034,7 +2034,7 @@ static inline int wp_page_reuse(struct mm_struct *mm, +@@ -2034,7 +2034,7 @@ static inline int wp_page_reuse(struct m } if (!page_mkwrite) @@ -215,11 +193,9 @@ index 22e037e..62096a2 100644 } return VM_FAULT_WRITE; -diff --git a/mm/mmap.c b/mm/mmap.c -index bb50cac..1ab5e596 100644 --- a/mm/mmap.c +++ b/mm/mmap.c -@@ -274,7 +274,7 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma) +@@ -274,7 +274,7 @@ static struct vm_area_struct *remove_vma if (vma->vm_ops && vma->vm_ops->close) vma->vm_ops->close(vma); if (vma->vm_file) @@ -228,7 +204,7 @@ index bb50cac..1ab5e596 100644 mpol_put(vma_policy(vma)); kmem_cache_free(vm_area_cachep, vma); return next; -@@ -886,7 +886,7 @@ again: remove_next = 1 + (end > next->vm_end); +@@ -886,7 +886,7 @@ again: remove_next = 1 + (end > next-> if (remove_next) { if (file) { uprobe_munmap(next, next->vm_start, next->vm_end); @@ -247,7 +223,7 @@ index bb50cac..1ab5e596 100644 /* Undo any partial mapping done by a device driver. */ unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end); -@@ -2473,7 +2473,7 @@ static int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma, +@@ -2473,7 +2473,7 @@ static int __split_vma(struct mm_struct goto out_free_mpol; if (new->vm_file) @@ -256,7 +232,7 @@ index bb50cac..1ab5e596 100644 if (new->vm_ops && new->vm_ops->open) new->vm_ops->open(new); -@@ -2492,7 +2492,7 @@ static int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma, +@@ -2492,7 +2492,7 @@ static int __split_vma(struct mm_struct if (new->vm_ops && new->vm_ops->close) new->vm_ops->close(new); if (new->vm_file) @@ -265,7 +241,7 @@ index bb50cac..1ab5e596 100644 unlink_anon_vmas(new); out_free_mpol: mpol_put(vma_policy(new)); -@@ -2635,7 +2635,6 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size, +@@ -2635,7 +2635,6 @@ SYSCALL_DEFINE5(remap_file_pages, unsign struct vm_area_struct *vma; unsigned long populate = 0; unsigned long ret = -EINVAL; @@ -273,7 +249,7 @@ index bb50cac..1ab5e596 100644 pr_warn_once("%s (%d) uses deprecated remap_file_pages() syscall. " "See Documentation/vm/remap_file_pages.txt.\n", -@@ -2679,10 +2678,10 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size, +@@ -2679,10 +2678,10 @@ SYSCALL_DEFINE5(remap_file_pages, unsign munlock_vma_pages_range(vma, start, start + size); } @@ -286,7 +262,7 @@ index bb50cac..1ab5e596 100644 out: up_write(&mm->mmap_sem); if (populate) -@@ -2949,7 +2948,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, +@@ -2949,7 +2948,7 @@ struct vm_area_struct *copy_vma(struct v if (anon_vma_clone(new_vma, vma)) goto out_free_mempol; if (new_vma->vm_file) @@ -295,11 +271,9 @@ index bb50cac..1ab5e596 100644 if (new_vma->vm_ops && new_vma->vm_ops->open) new_vma->vm_ops->open(new_vma); vma_link(mm, new_vma, prev, rb_link, rb_parent); -diff --git a/mm/msync.c b/mm/msync.c -index bb04d53..5c24c54 100644 --- a/mm/msync.c +++ b/mm/msync.c -@@ -84,10 +84,10 @@ SYSCALL_DEFINE3(msync, unsigned long, start, size_t, len, int, flags) +@@ -84,10 +84,10 @@ SYSCALL_DEFINE3(msync, unsigned long, st start = vma->vm_end; if ((flags & MS_SYNC) && file && (vma->vm_flags & VM_SHARED)) { @@ -312,11 +286,9 @@ index bb04d53..5c24c54 100644 if (error || start >= end) goto out; down_read(&mm->mmap_sem); -diff --git a/mm/nommu.c b/mm/nommu.c -index e544508..dd6f74a 100644 --- a/mm/nommu.c +++ b/mm/nommu.c -@@ -693,7 +693,7 @@ static void __put_nommu_region(struct vm_region *region) +@@ -671,7 +671,7 @@ static void __put_nommu_region(struct vm up_write(&nommu_region_sem); if (region->vm_file) @@ -325,7 +297,7 @@ index e544508..dd6f74a 100644 /* IO memory and memory shared directly out of the pagecache * from ramfs/tmpfs mustn't be released here */ -@@ -858,7 +858,7 @@ static void delete_vma(struct mm_struct *mm, struct vm_area_struct *vma) +@@ -829,7 +829,7 @@ static void delete_vma(struct mm_struct if (vma->vm_ops && vma->vm_ops->close) vma->vm_ops->close(vma); if (vma->vm_file) @@ -334,7 +306,7 @@ index e544508..dd6f74a 100644 put_nommu_region(vma->vm_region); kmem_cache_free(vm_area_cachep, vma); } -@@ -1398,7 +1398,7 @@ unsigned long do_mmap_pgoff(struct file *file, +@@ -1354,7 +1354,7 @@ unsigned long do_mmap_pgoff(struct file goto error_just_free; } } @@ -343,7 +315,7 @@ index e544508..dd6f74a 100644 kmem_cache_free(vm_region_jar, region); region = pregion; result = start; -@@ -1474,10 +1474,10 @@ error_just_free: +@@ -1429,10 +1429,10 @@ error_just_free: up_write(&nommu_region_sem); error: if (region->vm_file) @@ -354,11 +326,8 @@ index e544508..dd6f74a 100644 - fput(vma->vm_file); + vma_fput(vma); kmem_cache_free(vm_area_cachep, vma); - kleave(" = %d", ret); return ret; -diff --git a/mm/prfile.c b/mm/prfile.c -new file mode 100644 -index 0000000..6c145eb + --- /dev/null +++ b/mm/prfile.c @@ -0,0 +1,86 @@ diff --git a/debian/patches/features/all/aufs4/aufs4-standalone.patch b/debian/patches/features/all/aufs4/aufs4-standalone.patch index 1729e1329..c69921b69 100644 --- a/debian/patches/features/all/aufs4/aufs4-standalone.patch +++ b/debian/patches/features/all/aufs4/aufs4-standalone.patch @@ -8,11 +8,11 @@ Patch headers added by debian/patches/features/all/aufs4/gen-patch aufs4.x-rcN standalone patch -diff --git a/fs/dcache.c b/fs/dcache.c -index bc261e2..8d7951d 100644 +[bwh: Adjusted context for 4.2] + --- a/fs/dcache.c +++ b/fs/dcache.c -@@ -1269,6 +1269,7 @@ rename_retry: +@@ -1272,6 +1272,7 @@ rename_retry: seq = 1; goto again; } @@ -20,11 +20,9 @@ index bc261e2..8d7951d 100644 /* * Search for at least 1 mount point in the dentry's subdirs. -diff --git a/fs/file_table.c b/fs/file_table.c -index 294174d..3cea027 100644 --- a/fs/file_table.c +++ b/fs/file_table.c -@@ -147,6 +147,7 @@ over: +@@ -146,6 +146,7 @@ over: } return ERR_PTR(-ENFILE); } @@ -32,7 +30,7 @@ index 294174d..3cea027 100644 /** * alloc_file - allocate and initialize a 'struct file' -@@ -308,6 +309,7 @@ void put_filp(struct file *file) +@@ -307,6 +308,7 @@ void put_filp(struct file *file) file_free(file); } } @@ -40,11 +38,9 @@ index 294174d..3cea027 100644 void __init files_init(unsigned long mempages) { -diff --git a/fs/inode.c b/fs/inode.c -index ea37cd1..58f5f58 100644 --- a/fs/inode.c +++ b/fs/inode.c -@@ -58,6 +58,7 @@ static struct hlist_head *inode_hashtable __read_mostly; +@@ -58,6 +58,7 @@ static struct hlist_head *inode_hashtabl static __cacheline_aligned_in_smp DEFINE_SPINLOCK(inode_hash_lock); __cacheline_aligned_in_smp DEFINE_SPINLOCK(inode_sb_list_lock); @@ -52,11 +48,9 @@ index ea37cd1..58f5f58 100644 /* * Empty aops. Can be used for the cases where the user does not -diff --git a/fs/namespace.c b/fs/namespace.c -index 1b9e111..d45b81b 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(); } @@ -64,7 +58,7 @@ index 1b9e111..d45b81b 100644 /** * mnt_drop_write - give up write access to a mount -@@ -1768,6 +1769,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg, +@@ -1803,6 +1804,7 @@ int iterate_mounts(int (*f)(struct vfsmo } return 0; } @@ -72,8 +66,6 @@ index 1b9e111..d45b81b 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..06ca6bc 100644 --- a/fs/notify/group.c +++ b/fs/notify/group.c @@ -22,6 +22,7 @@ @@ -84,7 +76,7 @@ index d16b62c..06ca6bc 100644 #include #include "fsnotify.h" -@@ -72,6 +73,7 @@ void fsnotify_get_group(struct fsnotify_group *group) +@@ -72,6 +73,7 @@ void fsnotify_get_group(struct fsnotify_ { atomic_inc(&group->refcnt); } @@ -92,7 +84,7 @@ index d16b62c..06ca6bc 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) +@@ -81,6 +83,7 @@ void fsnotify_put_group(struct fsnotify_ if (atomic_dec_and_test(&group->refcnt)) fsnotify_final_destroy_group(group); } @@ -100,7 +92,7 @@ index d16b62c..06ca6bc 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) +@@ -109,6 +112,7 @@ struct fsnotify_group *fsnotify_alloc_gr return group; } @@ -108,11 +100,9 @@ index d16b62c..06ca6bc 100644 int fsnotify_fasync(int fd, struct file *file, int on) { -diff --git a/fs/notify/mark.c b/fs/notify/mark.c -index 92e48c7..d2c4b68 100644 --- a/fs/notify/mark.c +++ b/fs/notify/mark.c -@@ -109,6 +109,7 @@ void fsnotify_put_mark(struct fsnotify_mark *mark) +@@ -109,6 +109,7 @@ void fsnotify_put_mark(struct fsnotify_m mark->free_mark(mark); } } @@ -120,7 +110,7 @@ index 92e48c7..d2c4b68 100644 /* Calculate mask of events for a list of marks */ u32 fsnotify_recalc_mask(struct hlist_head *head) -@@ -202,6 +203,7 @@ void fsnotify_destroy_mark(struct fsnotify_mark *mark, +@@ -202,6 +203,7 @@ void fsnotify_destroy_mark(struct fsnoti fsnotify_destroy_mark_locked(mark, group); mutex_unlock(&group->mark_mutex); } @@ -136,7 +126,7 @@ index 92e48c7..d2c4b68 100644 int fsnotify_add_mark(struct fsnotify_mark *mark, struct fsnotify_group *group, struct inode *inode, struct vfsmount *mnt, int allow_dups) -@@ -455,6 +458,7 @@ void fsnotify_init_mark(struct fsnotify_mark *mark, +@@ -455,6 +458,7 @@ void fsnotify_init_mark(struct fsnotify_ atomic_set(&mark->refcnt, 1); mark->free_mark = free_mark; } @@ -144,11 +134,9 @@ index 92e48c7..d2c4b68 100644 static int fsnotify_mark_destroy(void *ignored) { -diff --git a/fs/open.c b/fs/open.c -index 98e5a52..a94e2e7 100644 --- a/fs/open.c +++ b/fs/open.c -@@ -62,6 +62,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 mutex_unlock(&dentry->d_inode->i_mutex); return ret; } @@ -156,16 +144,14 @@ index 98e5a52..a94e2e7 100644 long vfs_truncate(struct path *path, loff_t length) { -@@ -676,6 +677,7 @@ int open_check_o_direct(struct file *f) +@@ -678,6 +679,7 @@ int open_check_o_direct(struct file *f) } return 0; } +EXPORT_SYMBOL_GPL(open_check_o_direct); static int do_dentry_open(struct file *f, - int (*open)(struct inode *, struct file *), -diff --git a/fs/read_write.c b/fs/read_write.c -index fd0414e..8ace6ec 100644 + struct inode *inode, --- a/fs/read_write.c +++ b/fs/read_write.c @@ -504,6 +504,7 @@ vfs_readf_t vfs_readf(struct file *file) @@ -176,7 +162,7 @@ index fd0414e..8ace6ec 100644 vfs_writef_t vfs_writef(struct file *file) { -@@ -515,6 +516,7 @@ vfs_writef_t vfs_writef(struct file *file) +@@ -515,6 +516,7 @@ vfs_writef_t vfs_writef(struct file *fil return new_sync_write; return ERR_PTR(-ENOSYS); } @@ -184,11 +170,9 @@ index fd0414e..8ace6ec 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 fa5eee5..bfb3324 100644 --- a/fs/splice.c +++ b/fs/splice.c -@@ -1114,6 +1114,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out, +@@ -1115,6 +1115,7 @@ long do_splice_from(struct pipe_inode_in return splice_write(pipe, out, ppos, len, flags); } @@ -196,7 +180,7 @@ index fa5eee5..bfb3324 100644 /* * Attempt to initiate a splice from a file to a pipe. -@@ -1140,6 +1141,7 @@ long do_splice_to(struct file *in, loff_t *ppos, +@@ -1141,6 +1142,7 @@ long do_splice_to(struct file *in, loff_ return splice_read(in, ppos, pipe, len, flags); } @@ -204,11 +188,9 @@ index fa5eee5..bfb3324 100644 /** * splice_direct_to_actor - splices data directly between two non-pipes -diff --git a/fs/xattr.c b/fs/xattr.c -index 4ef6985..6bb6303 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; } @@ -216,11 +198,9 @@ index 4ef6985..6bb6303 100644 /* Compare an extended attribute value with the given value */ int vfs_xattr_cmp(struct dentry *dentry, const char *xattr_name, -diff --git a/security/commoncap.c b/security/commoncap.c -index f2875cd..ebf06ec 100644 --- a/security/commoncap.c +++ b/security/commoncap.c -@@ -975,9 +975,11 @@ int cap_mmap_addr(unsigned long addr) +@@ -970,12 +970,14 @@ int cap_mmap_addr(unsigned long addr) } return ret; } @@ -232,8 +212,9 @@ index f2875cd..ebf06ec 100644 return 0; } +EXPORT_SYMBOL_GPL(cap_mmap_file); -diff --git a/security/device_cgroup.c b/security/device_cgroup.c -index 188c1d2..426d9af 100644 + + #ifdef CONFIG_SECURITY + --- a/security/device_cgroup.c +++ b/security/device_cgroup.c @@ -7,6 +7,7 @@ @@ -244,7 +225,7 @@ index 188c1d2..426d9af 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); } @@ -252,75 +233,73 @@ index 188c1d2..426d9af 100644 int devcgroup_inode_mknod(int mode, dev_t dev) { -diff --git a/security/security.c b/security/security.c -index 8e9b1f4..c1c7cd1 100644 --- a/security/security.c +++ b/security/security.c -@@ -430,6 +430,7 @@ int security_path_rmdir(struct path *dir, struct dentry *dentry) +@@ -438,6 +438,7 @@ int security_path_rmdir(struct path *dir return 0; - return security_ops->path_rmdir(dir, dentry); + 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) { -@@ -446,6 +447,7 @@ int security_path_symlink(struct path *dir, struct dentry *dentry, +@@ -454,6 +455,7 @@ int security_path_symlink(struct path *d return 0; - return security_ops->path_symlink(dir, dentry, old_name); + 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, struct dentry *new_dentry) -@@ -454,6 +456,7 @@ int security_path_link(struct dentry *old_dentry, struct path *new_dir, +@@ -462,6 +464,7 @@ int security_path_link(struct dentry *ol return 0; - return security_ops->path_link(old_dentry, new_dir, new_dentry); + 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, -@@ -481,6 +484,7 @@ int security_path_truncate(struct path *path) +@@ -489,6 +492,7 @@ int security_path_truncate(struct path * return 0; - return security_ops->path_truncate(path); + return call_int_hook(path_truncate, 0, path); } +EXPORT_SYMBOL_GPL(security_path_truncate); int security_path_chmod(struct path *path, umode_t mode) { -@@ -488,6 +492,7 @@ int security_path_chmod(struct path *path, umode_t mode) +@@ -496,6 +500,7 @@ int security_path_chmod(struct path *pat return 0; - return security_ops->path_chmod(path, mode); + 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) { -@@ -495,6 +500,7 @@ int security_path_chown(struct path *path, kuid_t uid, kgid_t gid) +@@ -503,6 +508,7 @@ int security_path_chown(struct path *pat return 0; - return security_ops->path_chown(path, uid, gid); + return call_int_hook(path_chown, 0, path, uid, gid); } +EXPORT_SYMBOL_GPL(security_path_chown); int security_path_chroot(struct path *path) { -@@ -580,6 +586,7 @@ int security_inode_readlink(struct dentry *dentry) +@@ -588,6 +594,7 @@ int security_inode_readlink(struct dentr return 0; - return security_ops->inode_readlink(dentry); + return call_int_hook(inode_readlink, 0, dentry); } +EXPORT_SYMBOL_GPL(security_inode_readlink); - int security_inode_follow_link(struct dentry *dentry, struct nameidata *nd) - { -@@ -594,6 +601,7 @@ int security_inode_permission(struct inode *inode, int mask) + int security_inode_follow_link(struct dentry *dentry, struct inode *inode, + bool rcu) +@@ -603,6 +610,7 @@ int security_inode_permission(struct ino return 0; - return security_ops->inode_permission(inode, mask); + return call_int_hook(inode_permission, 0, inode, mask); } +EXPORT_SYMBOL_GPL(security_inode_permission); int security_inode_setattr(struct dentry *dentry, struct iattr *attr) { -@@ -716,6 +724,7 @@ int security_file_permission(struct file *file, int mask) +@@ -741,6 +749,7 @@ int security_file_permission(struct file return fsnotify_perm(file, mask); } @@ -328,7 +307,7 @@ index 8e9b1f4..c1c7cd1 100644 int security_file_alloc(struct file *file) { -@@ -775,6 +784,7 @@ int security_mmap_file(struct file *file, unsigned long prot, +@@ -800,6 +809,7 @@ int security_mmap_file(struct file *file return ret; return ima_file_mmap(file, prot); } diff --git a/debian/patches/features/mips/MIPS-Loongson-3-Add-Loongson-LS3A-RS780E-1-way-machi.patch b/debian/patches/features/mips/MIPS-Loongson-3-Add-Loongson-LS3A-RS780E-1-way-machi.patch index cab021749..a40d273dc 100644 --- a/debian/patches/features/mips/MIPS-Loongson-3-Add-Loongson-LS3A-RS780E-1-way-machi.patch +++ b/debian/patches/features/mips/MIPS-Loongson-3-Add-Loongson-LS3A-RS780E-1-way-machi.patch @@ -7,12 +7,12 @@ Add a Loongson LS3A RS780E 1-way machine definition, which only differs from other Loongson 3 based machines by the UART base clock speed. Signed-off-by: Aurelien Jarno -[bwh: Forward-ported to 3.19] +[bwh: Forward-ported to 4.2] --- - arch/mips/include/asm/bootinfo.h | 1 + - arch/mips/loongson/common/machtype.c | 1 + - arch/mips/loongson/common/serial.c | 1 + - arch/mips/loongson/common/uart_base.c | 1 + + arch/mips/include/asm/bootinfo.h | 1 + + arch/mips/loongson64/common/machtype.c | 1 + + arch/mips/loongson64/common/serial.c | 1 + + arch/mips/loongson64/common/uart_base.c | 1 + 4 files changed, 4 insertions(+) --- a/arch/mips/include/asm/bootinfo.h @@ -25,8 +25,8 @@ Signed-off-by: Aurelien Jarno MACH_LOONGSON_END }; ---- a/arch/mips/loongson/common/machtype.c -+++ b/arch/mips/loongson/common/machtype.c +--- a/arch/mips/loongson64/common/machtype.c ++++ b/arch/mips/loongson64/common/machtype.c @@ -28,6 +28,7 @@ static const char *system_types[] = { [MACH_LEMOTE_NAS] = "lemote-nas-2f", [MACH_LEMOTE_LL2F] = "lemote-lynloong-2f", @@ -35,8 +35,8 @@ Signed-off-by: Aurelien Jarno [MACH_LOONGSON_END] = NULL, }; ---- a/arch/mips/loongson/common/serial.c -+++ b/arch/mips/loongson/common/serial.c +--- a/arch/mips/loongson64/common/serial.c ++++ b/arch/mips/loongson64/common/serial.c @@ -48,6 +48,7 @@ static struct plat_serial8250_port uart8 [MACH_LEMOTE_NAS] = {PORT_M(3, 3686400), {} }, [MACH_LEMOTE_LL2F] = {PORT(3, 1843200), {} }, @@ -45,8 +45,8 @@ Signed-off-by: Aurelien Jarno [MACH_LOONGSON_END] = {}, }; ---- a/arch/mips/loongson/common/uart_base.c -+++ b/arch/mips/loongson/common/uart_base.c +--- a/arch/mips/loongson64/common/uart_base.c ++++ b/arch/mips/loongson64/common/uart_base.c @@ -25,6 +25,7 @@ void prom_init_loongson_uart_base(void) { switch (mips_machtype) { 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 db6c72442..5bf7cf467 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 @@ -22,13 +22,13 @@ Signed-off-by: Ben Hutchings Documentation/kernel-parameters.txt | 4 ++++ arch/x86/Kconfig | 8 +++++++ arch/x86/include/asm/elf.h | 8 ++++++- - arch/x86/kernel/entry_64.S | 36 ++++++++++++++++++++++--------- - arch/x86/kernel/syscall_64.c | 43 +++++++++++++++++++++++++++++++++++++ + arch/x86/entry/entry_64.S | 36 ++++++++++++++++++++++--------- + arch/x86/entry/syscall_64.c | 43 +++++++++++++++++++++++++++++++++++++ 5 files changed, 88 insertions(+), 11 deletions(-) --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt -@@ -3516,6 +3516,10 @@ bytes respectively. Such letter suffixes +@@ -3580,6 +3580,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 -@@ -2540,6 +2540,14 @@ config X86_X32 +@@ -2547,6 +2547,14 @@ config X86_X32 elf32_x86_64 support enabled to compile a kernel with this option set. @@ -80,57 +80,57 @@ Signed-off-by: Ben Hutchings #if __USER32_DS != __USER_DS # error "The following code assumes __USER32_DS == __USER_DS" ---- a/arch/x86/kernel/entry_64.S -+++ b/arch/x86/kernel/entry_64.S -@@ -252,8 +252,12 @@ system_call_fastpath: +--- a/arch/x86/entry/entry_64.S ++++ b/arch/x86/entry/entry_64.S +@@ -178,8 +178,12 @@ entry_SYSCALL_64_fastpath: #if __SYSCALL_MASK == ~0 - cmpq $__NR_syscall_max,%rax + cmpq $__NR_syscall_max, %rax #else -- andl $__SYSCALL_MASK,%eax -- cmpl $__NR_syscall_max,%eax -+ .globl system_call_fast_compare -+ .globl system_call_fast_compare_end +- andl $__SYSCALL_MASK, %eax +- cmpl $__NR_syscall_max, %eax ++.global system_call_fast_compare ++.global system_call_fast_compare_end +system_call_fast_compare: -+ cmpq $511,%rax /* x32 syscalls start at 512 */ -+ .byte P6_NOP4 ++ cmpq $511, %rax /* x32 syscalls start at 512 */ ++ .byte P6_NOP4 +system_call_fast_compare_end: #endif - ja 1f /* return -ENOSYS (already in pt_regs->ax) */ - movq %r10,%rcx -@@ -337,8 +341,12 @@ tracesys_phase2: + ja 1f /* return -ENOSYS (already in pt_regs->ax) */ + movq %r10, %rcx +@@ -257,8 +261,12 @@ tracesys_phase2: #if __SYSCALL_MASK == ~0 - cmpq $__NR_syscall_max,%rax + cmpq $__NR_syscall_max, %rax #else -- andl $__SYSCALL_MASK,%eax -- cmpl $__NR_syscall_max,%eax -+ .globl system_call_trace_compare -+ .globl system_call_trace_compare_end +- andl $__SYSCALL_MASK, %eax +- cmpl $__NR_syscall_max, %eax ++.global system_call_trace_compare ++.global system_call_trace_compare_end +system_call_trace_compare: -+ cmpq $511,%rax /* x32 syscalls start at 512 */ -+ .byte P6_NOP4 ++ cmpq $511, %rax /* x32 syscalls start at 512 */ ++ .byte P6_NOP4 +system_call_trace_compare_end: #endif - ja 1f /* return -ENOSYS (already in pt_regs->ax) */ - movq %r10,%rcx /* fixup for C */ -@@ -488,6 +496,16 @@ opportunistic_sysret_failed: - END(system_call) + ja 1f /* return -ENOSYS (already in pt_regs->ax) */ + movq %r10, %rcx /* fixup for C */ +@@ -410,6 +418,16 @@ opportunistic_sysret_failed: + END(entry_SYSCALL_64) +#if __SYSCALL_MASK != ~0 + /* This replaces the usual comparisons if syscall.x32 is set */ -+ .globl system_call_mask_compare -+ .globl system_call_mask_compare_end ++.global system_call_mask_compare ++.global system_call_mask_compare_end +system_call_mask_compare: -+ andl $__SYSCALL_MASK,%eax -+ cmpl $__NR_syscall_max,%eax ++ andl $__SYSCALL_MASK, %eax ++ cmpl $__NR_syscall_max, %eax +system_call_mask_compare_end: +#endif + .macro FORK_LIKE func ENTRY(stub_\func) - CFI_STARTPROC ---- a/arch/x86/kernel/syscall_64.c -+++ b/arch/x86/kernel/syscall_64.c + SAVE_EXTRA_REGS 8 +--- a/arch/x86/entry/syscall_64.c ++++ b/arch/x86/entry/syscall_64.c @@ -3,8 +3,14 @@ #include #include diff --git a/debian/patches/series b/debian/patches/series index c5e94517f..f76418e29 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -79,16 +79,6 @@ bugfix/all/kernel-doc-set-man-page-date.patch # Miscellaneous features features/all/efi-autoload-efi-pstore.patch -bugfix/x86/kvm-x86-fix-kvm_apic_has_events-to-check-for-null-po.patch -bugfix/x86/0003-x86-asm-entry-64-Remove-pointless-jump-to-irq_return.patch -bugfix/x86/0004-x86-nmi-Enable-nested-do_nmi-handling-for-64-bit-ker.patch -bugfix/x86/0005-x86-nmi-64-Remove-asm-code-that-saves-cr2.patch -bugfix/x86/0006-x86-nmi-64-Switch-stacks-on-userspace-NMI-entry.patch -bugfix/x86/0007-x86-nmi-64-Improve-nested-NMI-comments.patch -bugfix/x86/0008-x86-nmi-64-Reorder-nested-NMI-checks.patch -bugfix/x86/0009-x86-nmi-64-Use-DF-to-avoid-userspace-RSP-confusing-n.patch -bugfix/all/keys-ensure-we-free-the-assoc-array-edit-if-edit-is-valid.patch -bugfix/s390/s390-cachinfo-add-missing-facility-check-to-init_cache_level.patch bugfix/all/md-use-kzalloc-when-bitmap-is-disabled.patch # Hardening from grsecurity From 55cf50555a83206dc3e3676a0e6daf00be218a4a Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 11 Aug 2015 18:07:21 +0200 Subject: [PATCH 02/53] Update .gitignore files based on svn:ignore properties For the top-level .gitignore, do this via the existing patch. --- debian/.gitignore | 13 +++++++++++++ debian/changelog | 4 ++++ debian/patches/debian/gitignore.patch | 14 +++++++++++++- 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/debian/.gitignore b/debian/.gitignore index 29359e31f..9df6faf1e 100644 --- a/debian/.gitignore +++ b/debian/.gitignore @@ -1,5 +1,18 @@ !/patches !*.patch !*.diff +*.debhelper* +*.local *.pyc +*.substvars +*-di +/build/ +/config.defines.dump +/control +/control.md5sum +/files +/linux-* /po/ +/rules.gen +/stamps/ +/xen-linux-system-* diff --git a/debian/changelog b/debian/changelog index 711ce162c..4c67d15a1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,10 @@ linux (4.2~rc5-1~exp1) UNRELEASED; urgency=medium * New upstream release candidate + [ Ben Hutchings ] + * Adjust for migration to git: + - Update .gitignore files + -- Ben Hutchings Tue, 04 Aug 2015 01:47:47 +0100 linux (4.1.3-1) unstable; urgency=medium diff --git a/debian/patches/debian/gitignore.patch b/debian/patches/debian/gitignore.patch index 2dc995449..85e2740ea 100644 --- a/debian/patches/debian/gitignore.patch +++ b/debian/patches/debian/gitignore.patch @@ -3,9 +3,11 @@ Date: Thu, 17 Jan 2013 08:55:21 +0000 Subject: Tweak gitignore for Debian pkg-kernel using git svn. Forwarded: not-needed +[bwh: Tweak further for pure git] + --- a/.gitignore +++ b/.gitignore -@@ -49,22 +49,11 @@ Module.symvers +@@ -50,22 +50,11 @@ Module.symvers /Module.markers # @@ -28,3 +30,13 @@ Forwarded: not-needed # Generated include files # include/config +@@ -106,3 +95,9 @@ all.config + + # Kdevelop4 + *.kdev4 ++ ++# ++# Debian packaging: ignore everything at the top level, since it isn't ++# included in our repository ++# ++/* From c388a4feaeaaa3c12eafb47ab4e01988a535db93 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 11 Aug 2015 18:15:33 +0200 Subject: [PATCH 03/53] Update Vcs-* fields to point to git --- debian/changelog | 1 + debian/templates/control.source.in | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 4c67d15a1..266f155fa 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,7 @@ linux (4.2~rc5-1~exp1) UNRELEASED; urgency=medium [ Ben Hutchings ] * Adjust for migration to git: - Update .gitignore files + - debian/control: Update Vcs-* fields -- Ben Hutchings Tue, 04 Aug 2015 01:47:47 +0100 diff --git a/debian/templates/control.source.in b/debian/templates/control.source.in index 1f0d56c78..78e070862 100644 --- a/debian/templates/control.source.in +++ b/debian/templates/control.source.in @@ -5,6 +5,6 @@ Uploaders: Bastian Blank , Frederik Schüler , Standards-Version: 3.9.5 Build-Depends: debhelper, cpio, kmod, python, python-six, lzma [armel], kernel-wedge, quilt, patchutils, bc Build-Depends-Indep: xz-utils, xmlto -Vcs-Svn: svn://anonscm.debian.org/svn/kernel/dists/trunk/linux/ -Vcs-Browser: http://anonscm.debian.org/viewvc/kernel/dists/trunk/linux/ +Vcs-Git: https://anonscm.debian.org/git/kernel/linux.git +Vcs-Browser: https://anonscm.debian.org/cgit/kernel/linux.git Homepage: https://www.kernel.org/ From 3925828ee5669f3f85f7d2846b7049558e3a942d Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 11 Aug 2015 18:20:05 +0200 Subject: [PATCH 04/53] README.Debian, README.source: Update references to svn --- debian/README.Debian | 2 +- debian/README.source | 2 +- debian/changelog | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/debian/README.Debian b/debian/README.Debian index c32fe8b54..5b769462f 100644 --- a/debian/README.Debian +++ b/debian/README.Debian @@ -6,7 +6,7 @@ Patches Debian applies small changes to the kernel source. These are split up into separated patches addressing individual problems. Each of the patch files contains a description and mentions the author. The patches can be found -at http://svn.debian.org/wsvn/kernel/dists/trunk/linux/debian/patches/. +at https://anonscm.debian.org/cgit/kernel/linux.git/tree/debian/patches. Config Files ------------ diff --git a/debian/README.source b/debian/README.source index ad841face..9a4df4a7f 100644 --- a/debian/README.source +++ b/debian/README.source @@ -15,7 +15,7 @@ Updating the upstream source installed) 3) Unpack linux_.orig.tar.gz, cd into the new directory, - and do a 'svn export' to get the debian/ subdirectory. + and do a 'git archive' to get the debian/ subdirectory. Alternatively unpack using "make -f debian/rules orig". (the orig target of the Makefiles requires rsync) diff --git a/debian/changelog b/debian/changelog index 266f155fa..33114808a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,7 @@ linux (4.2~rc5-1~exp1) UNRELEASED; urgency=medium * Adjust for migration to git: - Update .gitignore files - debian/control: Update Vcs-* fields + - README.Debian, README.source: Update references to svn -- Ben Hutchings Tue, 04 Aug 2015 01:47:47 +0100 From 76e21fd6a2db230636520832d78f68a86b148a50 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 11 Aug 2015 19:02:25 +0200 Subject: [PATCH 05/53] Exclude debian directory in .gitignore I didn't think this was necessary as the debian directory is already present in the repo. But without this, git will ignore all new files under it. --- debian/patches/debian/gitignore.patch | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/debian/patches/debian/gitignore.patch b/debian/patches/debian/gitignore.patch index 85e2740ea..eb713482f 100644 --- a/debian/patches/debian/gitignore.patch +++ b/debian/patches/debian/gitignore.patch @@ -30,7 +30,7 @@ Forwarded: not-needed # Generated include files # include/config -@@ -106,3 +95,9 @@ all.config +@@ -106,3 +95,10 @@ all.config # Kdevelop4 *.kdev4 @@ -40,3 +40,4 @@ Forwarded: not-needed +# included in our repository +# +/* ++!/debian/ From 5058702df6b973247922d70b6517a1cf365ecca5 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 11 Aug 2015 20:20:40 +0200 Subject: [PATCH 06/53] Update to 4.2-rc6 --- debian/changelog | 2 +- ...-use-kzalloc-when-bitmap-is-disabled.patch | 68 ------------------- .../debian/yama-disable-by-default.patch | 4 +- .../features/all/aufs4/aufs4-standalone.patch | 8 +-- .../grsecurity/grkernsec_perf_harden.patch | 6 +- debian/patches/series | 2 - 6 files changed, 10 insertions(+), 80 deletions(-) delete mode 100644 debian/patches/bugfix/all/md-use-kzalloc-when-bitmap-is-disabled.patch diff --git a/debian/changelog b/debian/changelog index 33114808a..87a6523dd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -linux (4.2~rc5-1~exp1) UNRELEASED; urgency=medium +linux (4.2~rc6-1~exp1) UNRELEASED; urgency=medium * New upstream release candidate diff --git a/debian/patches/bugfix/all/md-use-kzalloc-when-bitmap-is-disabled.patch b/debian/patches/bugfix/all/md-use-kzalloc-when-bitmap-is-disabled.patch deleted file mode 100644 index 9fbf18af9..000000000 --- a/debian/patches/bugfix/all/md-use-kzalloc-when-bitmap-is-disabled.patch +++ /dev/null @@ -1,68 +0,0 @@ -From: Benjamin Randazzo -Date: Sat, 25 Jul 2015 16:36:50 +0200 -Subject: md: use kzalloc() when bitmap is disabled -Origin: http://git.neil.brown.name/?p=md.git;a=commit;h=77ba0569d4c8389c0a2162ab0c7c16a6f3b199e4 - -In drivers/md/md.c get_bitmap_file() uses kmalloc() for creating a -mdu_bitmap_file_t called "file". - -5769 file = kmalloc(sizeof(*file), GFP_NOIO); -5770 if (!file) -5771 return -ENOMEM; - -This structure is copied to user space at the end of the function. - -5786 if (err == 0 && -5787 copy_to_user(arg, file, sizeof(*file))) -5788 err = -EFAULT - -But if bitmap is disabled only the first byte of "file" is initialized -with zero, so it's possible to read some bytes (up to 4095) of kernel -space memory from user space. This is an information leak. - -5775 /* bitmap disabled, zero the first byte and copy out */ -5776 if (!mddev->bitmap_info.file) -5777 file->pathname[0] = '\0'; - -Signed-off-by: Benjamin Randazzo -Signed-off-by: NeilBrown ---- - drivers/md/md.c | 22 +++++++++++----------- - 1 file changed, 11 insertions(+), 11 deletions(-) - ---- a/drivers/md/md.c -+++ b/drivers/md/md.c -@@ -5759,22 +5759,22 @@ static int get_bitmap_file(struct mddev - char *ptr; - int err; - -- file = kmalloc(sizeof(*file), GFP_NOIO); -+ file = kzalloc(sizeof(*file), GFP_NOIO); - if (!file) - return -ENOMEM; - - err = 0; - spin_lock(&mddev->lock); -- /* bitmap disabled, zero the first byte and copy out */ -- if (!mddev->bitmap_info.file) -- file->pathname[0] = '\0'; -- else if ((ptr = file_path(mddev->bitmap_info.file, -- file->pathname, sizeof(file->pathname))), -- IS_ERR(ptr)) -- err = PTR_ERR(ptr); -- else -- memmove(file->pathname, ptr, -- sizeof(file->pathname)-(ptr-file->pathname)); -+ /* bitmap enabled */ -+ if (mddev->bitmap_info.file) { -+ ptr = file_path(mddev->bitmap_info.file, file->pathname, -+ sizeof(file->pathname)); -+ if (IS_ERR(ptr)) -+ err = PTR_ERR(ptr); -+ else -+ memmove(file->pathname, ptr, -+ sizeof(file->pathname)-(ptr-file->pathname)); -+ } - spin_unlock(&mddev->lock); - - if (err == 0 && diff --git a/debian/patches/debian/yama-disable-by-default.patch b/debian/patches/debian/yama-disable-by-default.patch index 8477b5678..cc5392f08 100644 --- a/debian/patches/debian/yama-disable-by-default.patch +++ b/debian/patches/debian/yama-disable-by-default.patch @@ -15,9 +15,9 @@ Forwarded: not-needed /* describe a ptrace relationship for potential exception */ struct ptrace_relation { -@@ -407,7 +407,7 @@ static __init int yama_init(void) - if (!security_module_enable("yama")) +@@ -408,7 +408,7 @@ static __init int yama_init(void) return 0; + yama_add_hooks(); #endif - pr_info("Yama: becoming mindful.\n"); + pr_info("Yama: disabled by default; enable with sysctl kernel.yama.*\n"); diff --git a/debian/patches/features/all/aufs4/aufs4-standalone.patch b/debian/patches/features/all/aufs4/aufs4-standalone.patch index c69921b69..2bdc0a40b 100644 --- a/debian/patches/features/all/aufs4/aufs4-standalone.patch +++ b/debian/patches/features/all/aufs4/aufs4-standalone.patch @@ -22,7 +22,7 @@ aufs4.x-rcN standalone patch * Search for at least 1 mount point in the dentry's subdirs. --- a/fs/file_table.c +++ b/fs/file_table.c -@@ -146,6 +146,7 @@ over: +@@ -147,6 +147,7 @@ over: } return ERR_PTR(-ENFILE); } @@ -30,13 +30,13 @@ aufs4.x-rcN standalone patch /** * alloc_file - allocate and initialize a 'struct file' -@@ -307,6 +308,7 @@ void put_filp(struct file *file) +@@ -308,6 +309,7 @@ void put_filp(struct file *file) file_free(file); } } +EXPORT_SYMBOL_GPL(put_filp); - void __init files_init(unsigned long mempages) + void __init files_init(void) { --- a/fs/inode.c +++ b/fs/inode.c @@ -126,7 +126,7 @@ aufs4.x-rcN standalone patch int fsnotify_add_mark(struct fsnotify_mark *mark, struct fsnotify_group *group, struct inode *inode, struct vfsmount *mnt, int allow_dups) -@@ -455,6 +458,7 @@ void fsnotify_init_mark(struct fsnotify_ +@@ -475,6 +478,7 @@ void fsnotify_init_mark(struct fsnotify_ atomic_set(&mark->refcnt, 1); mark->free_mark = free_mark; } diff --git a/debian/patches/features/all/grsecurity/grkernsec_perf_harden.patch b/debian/patches/features/all/grsecurity/grkernsec_perf_harden.patch index 6b1622ac4..d178bcc73 100644 --- a/debian/patches/features/all/grsecurity/grkernsec_perf_harden.patch +++ b/debian/patches/features/all/grsecurity/grkernsec_perf_harden.patch @@ -10,7 +10,7 @@ This standalone version doesn't include making the variable read-only --- --- a/include/linux/perf_event.h +++ b/include/linux/perf_event.h -@@ -851,6 +851,11 @@ extern int perf_cpu_time_max_percent_han +@@ -898,6 +898,11 @@ extern int perf_cpu_time_max_percent_han loff_t *ppos); @@ -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 -@@ -172,8 +172,13 @@ static struct srcu_struct pmus_srcu; +@@ -174,8 +174,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 */ -@@ -7892,6 +7897,11 @@ SYSCALL_DEFINE5(perf_event_open, +@@ -7904,6 +7909,11 @@ SYSCALL_DEFINE5(perf_event_open, if (flags & ~PERF_FLAG_ALL) return -EINVAL; diff --git a/debian/patches/series b/debian/patches/series index f76418e29..b6c1074d0 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -79,8 +79,6 @@ bugfix/all/kernel-doc-set-man-page-date.patch # Miscellaneous features features/all/efi-autoload-efi-pstore.patch -bugfix/all/md-use-kzalloc-when-bitmap-is-disabled.patch - # Hardening from grsecurity features/all/grsecurity/grsecurity-kconfig.patch # Disabled until we add code into the grsecurity/ directory From c97aa4ac683851e6883bf7ed4da3bcb2986ab594 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 11 Aug 2015 20:26:50 +0200 Subject: [PATCH 07/53] [rt] Disable until it is updated for 4.2 or later --- debian/changelog | 1 + debian/config/defines | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 87a6523dd..270e5dbf4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,7 @@ linux (4.2~rc6-1~exp1) UNRELEASED; urgency=medium - Update .gitignore files - debian/control: Update Vcs-* fields - README.Debian, README.source: Update references to svn + * [rt] Disable until it is updated for 4.2 or later -- Ben Hutchings Tue, 04 Aug 2015 01:47:47 +0100 diff --git a/debian/config/defines b/debian/config/defines index 9adc1c52b..cf6d73f6f 100644 --- a/debian/config/defines +++ b/debian/config/defines @@ -33,7 +33,7 @@ featuresets: rt [featureset-rt_base] -enabled: true +enabled: false [description] part-long-up: This kernel is not suitable for SMP (multi-processor, From 098767bfb67c8e434113a856e8b46adb420b0093 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Wed, 12 Aug 2015 20:45:37 +0200 Subject: [PATCH 08/53] =?UTF-8?q?debian/control:=20Drop=20Frederik=20Sch?= =?UTF-8?q?=C3=BCler=20from=20Uploaders?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit He hasn't been active on this package for many years. --- debian/changelog | 1 + debian/templates/control.source.in | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 270e5dbf4..687a47379 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,7 @@ linux (4.2~rc6-1~exp1) UNRELEASED; urgency=medium - debian/control: Update Vcs-* fields - README.Debian, README.source: Update references to svn * [rt] Disable until it is updated for 4.2 or later + * debian/control: Drop Frederik Schüler from Uploaders -- Ben Hutchings Tue, 04 Aug 2015 01:47:47 +0100 diff --git a/debian/templates/control.source.in b/debian/templates/control.source.in index 78e070862..8f966f407 100644 --- a/debian/templates/control.source.in +++ b/debian/templates/control.source.in @@ -1,7 +1,7 @@ Section: kernel Priority: optional Maintainer: Debian Kernel Team -Uploaders: Bastian Blank , Frederik Schüler , maximilian attems , Ben Hutchings +Uploaders: Bastian Blank , maximilian attems , Ben Hutchings Standards-Version: 3.9.5 Build-Depends: debhelper, cpio, kmod, python, python-six, lzma [armel], kernel-wedge, quilt, patchutils, bc Build-Depends-Indep: xz-utils, xmlto From 7e2d688bdef89e32543c3dc1309e87e3d7b5fabc Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Wed, 12 Aug 2015 20:48:06 +0200 Subject: [PATCH 09/53] Prepare to release linux (4.2~rc6-1~exp1). --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 687a47379..728f57d13 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -linux (4.2~rc6-1~exp1) UNRELEASED; urgency=medium +linux (4.2~rc6-1~exp1) experimental; urgency=medium * New upstream release candidate @@ -10,7 +10,7 @@ linux (4.2~rc6-1~exp1) UNRELEASED; urgency=medium * [rt] Disable until it is updated for 4.2 or later * debian/control: Drop Frederik Schüler from Uploaders - -- Ben Hutchings Tue, 04 Aug 2015 01:47:47 +0100 + -- Ben Hutchings Wed, 12 Aug 2015 20:48:00 +0200 linux (4.1.3-1) unstable; urgency=medium From d97fca4d0aa617022d66d7cd338a4953e0eaca7e Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sun, 16 Aug 2015 21:19:41 +0200 Subject: [PATCH 10/53] Update patches for reproducible doc builds to match upstream --- ...ore-mtime-or-name-in-compressed-man-.patch | 31 +++++ .../all/docbook-fix-duplicate-man-pages.patch | 125 ------------------ ...determinstic-installation-of-duplica.patch | 50 +++++++ .../all/docbook-generate-consistent-ids.patch | 18 ++- ...ghlights-deterministic-in-kernel-doc.patch | 24 ---- ...timestamps-from-compressed-man-pages.patch | 16 --- ...oc-parse-kernel-doc-deterministicall.patch | 34 +++++ ...c-use-kbuild_build_timestamp-as-man.patch} | 14 +- debian/patches/series | 8 +- 9 files changed, 147 insertions(+), 173 deletions(-) create mode 100644 debian/patches/bugfix/all/docbook-don-t-store-mtime-or-name-in-compressed-man-.patch delete mode 100644 debian/patches/bugfix/all/docbook-fix-duplicate-man-pages.patch create mode 100644 debian/patches/bugfix/all/docbook-fix-non-determinstic-installation-of-duplica.patch delete mode 100644 debian/patches/bugfix/all/make-highlights-deterministic-in-kernel-doc.patch delete mode 100644 debian/patches/bugfix/all/remove-timestamps-from-compressed-man-pages.patch create mode 100644 debian/patches/bugfix/all/scripts-kernel-doc-parse-kernel-doc-deterministicall.patch rename debian/patches/bugfix/all/{kernel-doc-set-man-page-date.patch => scripts-kernel-doc-use-kbuild_build_timestamp-as-man.patch} (66%) diff --git a/debian/patches/bugfix/all/docbook-don-t-store-mtime-or-name-in-compressed-man-.patch b/debian/patches/bugfix/all/docbook-don-t-store-mtime-or-name-in-compressed-man-.patch new file mode 100644 index 000000000..73c370138 --- /dev/null +++ b/debian/patches/bugfix/all/docbook-don-t-store-mtime-or-name-in-compressed-man-.patch @@ -0,0 +1,31 @@ +From: Ben Hutchings +Date: Wed, 8 Jul 2015 20:06:44 +0100 +Subject: DocBook: Don't store mtime (or name) in compressed man pages +Bug-Debian: https://bugs.debian.org/769844 +Forwarded: http://thread.gmane.org/gmane.linux.documentation/31870/focus=31872 + +The mtime on a man page is the build time. As gzip stores the mtime +and original name in the compressed file by default, this makes +compressed man pages unreproducible. Neither of these are important +metadata in this case, so turn this off. + +Reported-by: Jérémy Bobbio +Signed-off-by: Ben Hutchings +Signed-off-by: Jonathan Corbet +--- + Documentation/DocBook/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile +index b6a6a2e..11a4145 100644 +--- a/Documentation/DocBook/Makefile ++++ b/Documentation/DocBook/Makefile +@@ -56,7 +56,7 @@ htmldocs: $(HTML) + + MAN := $(patsubst %.xml, %.9, $(BOOKS)) + mandocs: $(MAN) +- find $(obj)/man -name '*.9' | xargs gzip -f ++ find $(obj)/man -name '*.9' | xargs gzip -nf + + installmandocs: mandocs + mkdir -p /usr/local/man/man9/ diff --git a/debian/patches/bugfix/all/docbook-fix-duplicate-man-pages.patch b/debian/patches/bugfix/all/docbook-fix-duplicate-man-pages.patch deleted file mode 100644 index dbd2e2479..000000000 --- a/debian/patches/bugfix/all/docbook-fix-duplicate-man-pages.patch +++ /dev/null @@ -1,125 +0,0 @@ -From: Ben Hutchings -Date: Wed, 08 Jul 2015 00:32:38 +0100 -Subject: DocBook: Fix duplicate man pages -Bug-Debian: https://bugs.debian.org/769844 - -Some kernel-doc sections are included in multiple DocBook files. This -means the mandocs target will generate the same manual page multiple -times with different metadata (author name/address and manual title, -taken from the including DocBook file). If it's invoked in a parallel -build, the output is nondeterminstic. - -For each section that is duplicated, mark the less specific manual's -inclusion as 'extra' and exclude it during conversion to manual pages. -Use xmlif for this, as that is bundled with xmlto which we already -use. - -I would have preferred to use more conventional markup for this, but -each of the following approaches failed: - -1. Wrap the extra inclusions with a new element and add a template to - the stylesheet to include/exclude them. Unfortunately DocBook XSL - doesn't seem to support foreign elements at an intermediate level - in the document tree. -2. Use DocBook profiling. This works but requires passing an absolute - path to the profile stylesheet to xmlto, so it's not portable. -3. Use SGML marked sections. docbook2x can handle these but xmlto - chokes on them. - -Signed-off-by: Ben Hutchings ---- ---- a/Documentation/DocBook/Makefile -+++ b/Documentation/DocBook/Makefile -@@ -56,6 +56,13 @@ htmldocs: $(HTML) - - MAN := $(patsubst %.xml, %.9, $(BOOKS)) - mandocs: $(MAN) -+ @dups=$$(sed -n 's/.*\([^<]*\)<\/refname>.*/\1/p' \ -+ $(obj)/*.xml.noextra | sort | uniq -d); \ -+ if [ -n "$$dups" ]; then \ -+ echo >&2 "The following manual pages are generated more than once:"; \ -+ printf >&2 '%s\n' "$$dups"; \ -+ exit 1; \ -+ fi - find $(obj)/man -name '*.9' | xargs gzip -nf - - installmandocs: mandocs -@@ -150,7 +157,7 @@ quiet_cmd_db2html = HTML $@ - cp $(PNG-$(basename $(notdir $@))) $(patsubst %.html,%,$@); fi - - quiet_cmd_db2man = MAN $@ -- cmd_db2man = if grep -q refentry $<; then xmlto man $(XMLTOFLAGS) -o $(obj)/man $< ; fi -+ cmd_db2man = if grep -q refentry $<; then xmlif excludeextra=1 <$< >$<.noextra && xmlto man $(XMLTOFLAGS) -o $(obj)/man $<.noextra ; fi - %.9 : %.xml - @(which xmlto > /dev/null 2>&1) || \ - (echo "*** You need to install xmlto ***"; \ -@@ -217,6 +224,7 @@ clean-files := $(DOCBOOKS) \ - $(patsubst %.xml, %.ps, $(DOCBOOKS)) \ - $(patsubst %.xml, %.pdf, $(DOCBOOKS)) \ - $(patsubst %.xml, %.html, $(DOCBOOKS)) \ -+ $(patsubst %, %.noextra, $(DOCBOOKS)) \ - $(patsubst %.xml, %.9, $(DOCBOOKS)) \ - $(index) - ---- a/Documentation/DocBook/gadget.tmpl -+++ b/Documentation/DocBook/gadget.tmpl -@@ -488,7 +488,10 @@ These are the same types and constants u - side drivers (and usbcore). - - -+ -+ - !Iinclude/linux/usb/ch9.h -+ - - - Core Objects and Methods ---- a/Documentation/DocBook/kernel-api.tmpl -+++ b/Documentation/DocBook/kernel-api.tmpl -@@ -58,8 +58,11 @@ - - String Conversions - !Elib/vsprintf.c -+ -+ - !Finclude/linux/kernel.h kstrtol - !Finclude/linux/kernel.h kstrtoul -+ - !Elib/kstrtox.c - - String Manipulation -@@ -178,7 +181,10 @@ X!Ekernel/module.c - - Hardware Interfaces - Interrupt Handling -+ -+ - !Ekernel/irq/manage.c -+ - - - DMA Channels ---- a/Documentation/DocBook/device-drivers.tmpl -+++ b/Documentation/DocBook/device-drivers.tmpl -@@ -194,8 +194,13 @@ X!Edrivers/pnp/system.c - - - Sound Devices -+ -+ - !Iinclude/sound/core.h -+ - !Esound/sound_core.c -+ -+ - !Iinclude/sound/pcm.h - !Esound/core/pcm.c - !Esound/core/device.c -@@ -211,6 +216,7 @@ X!Edrivers/pnp/system.c - !Esound/core/hwdep.c - !Esound/core/pcm_native.c - !Esound/core/memalloc.c -+ - diff --git a/debian/patches/bugfix/all/docbook-fix-non-determinstic-installation-of-duplica.patch b/debian/patches/bugfix/all/docbook-fix-non-determinstic-installation-of-duplica.patch new file mode 100644 index 000000000..3fbabcc99 --- /dev/null +++ b/debian/patches/bugfix/all/docbook-fix-non-determinstic-installation-of-duplica.patch @@ -0,0 +1,50 @@ +From: Ben Hutchings +Date: Thu, 6 Aug 2015 22:18:32 +0100 +Subject: DocBook: Fix non-determinstic installation of duplicate man pages +Bug-Debian: https://bugs.debian.org/769844 +Forwarded: http://thread.gmane.org/gmane.linux.kernel/1997951/focus=32450 + +Some kernel-doc sections are included in multiple DocBook files. This +means the mandocs target will generate the same manual page multiple +times with different metadata (author name/address and manual title, +taken from the including DocBook file). If it's invoked in a parallel +build, the output is non-determinstic. + +Build the manual pages in a separate subdirectory per DocBook file, +then sort and de-duplicate when installing them (which is serialised). + +Signed-off-by: Ben Hutchings +--- + Documentation/DocBook/Makefile | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile +index 11a4145..198e9b5 100644 +--- a/Documentation/DocBook/Makefile ++++ b/Documentation/DocBook/Makefile +@@ -60,7 +60,9 @@ mandocs: $(MAN) + + installmandocs: mandocs + mkdir -p /usr/local/man/man9/ +- install $(obj)/man/*.9.gz /usr/local/man/man9/ ++ find $(obj)/man -name '*.9.gz' -printf '%h %f\n' | \ ++ sort -k 2 -k 1 | uniq -f 1 | sed -e 's: :/:' | \ ++ xargs install -t /usr/local/man/man9/ + + ### + #External programs used +@@ -150,12 +152,12 @@ quiet_cmd_db2html = HTML $@ + cp $(PNG-$(basename $(notdir $@))) $(patsubst %.html,%,$@); fi + + quiet_cmd_db2man = MAN $@ +- cmd_db2man = if grep -q refentry $<; then xmlto man $(XMLTOFLAGS) -o $(obj)/man $< ; fi ++ cmd_db2man = if grep -q refentry $<; then xmlto man $(XMLTOFLAGS) -o $(obj)/man/$(*F) $< ; fi + %.9 : %.xml + @(which xmlto > /dev/null 2>&1) || \ + (echo "*** You need to install xmlto ***"; \ + exit 1) +- $(Q)mkdir -p $(obj)/man ++ $(Q)mkdir -p $(obj)/man/$(*F) + $(call cmd,db2man) + @touch $@ + diff --git a/debian/patches/bugfix/all/docbook-generate-consistent-ids.patch b/debian/patches/bugfix/all/docbook-generate-consistent-ids.patch index 34cd5b1f8..d0b084d92 100644 --- a/debian/patches/bugfix/all/docbook-generate-consistent-ids.patch +++ b/debian/patches/bugfix/all/docbook-generate-consistent-ids.patch @@ -1,10 +1,24 @@ From: Ben Hutchings -Date: Tue, 07 Jul 2015 17:23:54 +0100 -Subject: DocBook: generate consistent IDs +Date: Wed, 8 Jul 2015 20:06:51 +0100 +Subject: DocBook: Generate consistent IDs Bug-Debian: https://bugs.debian.org/769844 +Forwarded: http://thread.gmane.org/gmane.linux.documentation/31870/focus=31873 +By default, DocBook XSL uses a non-deterministic function to generate +IDs for HTML elements where it can't take a name from the input +document. However, it has the option to generate 'consistent' +(deterministic) IDs instead. Enable this to make the HTML pages +reproducible. + +Reported-by: Jérémy Bobbio Signed-off-by: Ben Hutchings +Signed-off-by: Jonathan Corbet --- + Documentation/DocBook/stylesheet.xsl | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Documentation/DocBook/stylesheet.xsl b/Documentation/DocBook/stylesheet.xsl +index 85b2527..3bf4ecf 100644 --- a/Documentation/DocBook/stylesheet.xsl +++ b/Documentation/DocBook/stylesheet.xsl @@ -5,6 +5,7 @@ diff --git a/debian/patches/bugfix/all/make-highlights-deterministic-in-kernel-doc.patch b/debian/patches/bugfix/all/make-highlights-deterministic-in-kernel-doc.patch deleted file mode 100644 index 410bd1bfb..000000000 --- a/debian/patches/bugfix/all/make-highlights-deterministic-in-kernel-doc.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Jérémy Bobbio -Date: Wed, 7 Jan 2015 20:49:51 +0100 -Subject: parse kernel-doc deterministically -Bug-Debian: https://bugs.debian.org/769844 - -Regular expressions for highlights in kernel-doc are stored in a Perl -hash. These hashes are ordered differently for each Perl run. This will -prevent kernel-doc to behave deterministically when parsing -“@foo()” as in some runs it will be interpreted as a parameter and -in the others it will be interpreted as a function. - -We now sort the %highlights hash to get the same behavior on every run. - ---- a/scripts/kernel-doc -+++ b/scripts/kernel-doc -@@ -2587,7 +2587,7 @@ $kernelversion = get_kernel_version(); - - # generate a sequence of code that will splice in highlighting information - # using the s// operator. --foreach my $pattern (keys %highlights) { -+foreach my $pattern (sort keys %highlights) { - # print STDERR "scanning pattern:$pattern, highlight:($highlights{$pattern})\n"; - $dohighlight .= "\$contents =~ s:$pattern:$highlights{$pattern}:gs;\n"; - } diff --git a/debian/patches/bugfix/all/remove-timestamps-from-compressed-man-pages.patch b/debian/patches/bugfix/all/remove-timestamps-from-compressed-man-pages.patch deleted file mode 100644 index d74ab419a..000000000 --- a/debian/patches/bugfix/all/remove-timestamps-from-compressed-man-pages.patch +++ /dev/null @@ -1,16 +0,0 @@ -From: Ben Hutchings -Date: Mon, 06 Jul 2015 23:34:54 +0100 -Subject: remove timestamps from compressed man pages -Bug-Debian: https://bugs.debian.org/769844 - ---- a/Documentation/DocBook/Makefile -+++ b/Documentation/DocBook/Makefile -@@ -56,7 +56,7 @@ htmldocs: $(HTML) - - MAN := $(patsubst %.xml, %.9, $(BOOKS)) - mandocs: $(MAN) -- find $(obj)/man -name '*.9' | xargs gzip -f -+ find $(obj)/man -name '*.9' | xargs gzip -nf - - installmandocs: mandocs - mkdir -p /usr/local/man/man9/ diff --git a/debian/patches/bugfix/all/scripts-kernel-doc-parse-kernel-doc-deterministicall.patch b/debian/patches/bugfix/all/scripts-kernel-doc-parse-kernel-doc-deterministicall.patch new file mode 100644 index 000000000..3c835fbde --- /dev/null +++ b/debian/patches/bugfix/all/scripts-kernel-doc-parse-kernel-doc-deterministicall.patch @@ -0,0 +1,34 @@ +From: Jérémy Bobbio +Date: Wed, 8 Jul 2015 20:06:33 +0100 +Subject: scripts/kernel-doc: parse kernel-doc deterministically +Bug-Debian: https://bugs.debian.org/769844 +Forwarded: http://thread.gmane.org/gmane.linux.documentation/31870/focus=31871 + +Regular expressions for highlights in kernel-doc are stored in a Perl +hash. These hashes are ordered differently for each Perl run. This will +prevent kernel-doc to behave deterministically when parsing “@foo()” as +in some runs it will be interpreted as a parameter and in the others it +will be interpreted as a function. + +We now sort the %highlights hash to get the same behavior on every run. + +Signed-off-by: Jérémy Bobbio +Signed-off-by: Ben Hutchings +Signed-off-by: Jonathan Corbet +--- + scripts/kernel-doc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/scripts/kernel-doc b/scripts/kernel-doc +index 9922e66..71ada00 100755 +--- a/scripts/kernel-doc ++++ b/scripts/kernel-doc +@@ -2587,7 +2587,7 @@ $kernelversion = get_kernel_version(); + + # generate a sequence of code that will splice in highlighting information + # using the s// operator. +-foreach my $pattern (keys %highlights) { ++foreach my $pattern (sort keys %highlights) { + # print STDERR "scanning pattern:$pattern, highlight:($highlights{$pattern})\n"; + $dohighlight .= "\$contents =~ s:$pattern:$highlights{$pattern}:gs;\n"; + } diff --git a/debian/patches/bugfix/all/kernel-doc-set-man-page-date.patch b/debian/patches/bugfix/all/scripts-kernel-doc-use-kbuild_build_timestamp-as-man.patch similarity index 66% rename from debian/patches/bugfix/all/kernel-doc-set-man-page-date.patch rename to debian/patches/bugfix/all/scripts-kernel-doc-use-kbuild_build_timestamp-as-man.patch index 447ba907a..e4385f637 100644 --- a/debian/patches/bugfix/all/kernel-doc-set-man-page-date.patch +++ b/debian/patches/bugfix/all/scripts-kernel-doc-use-kbuild_build_timestamp-as-man.patch @@ -1,10 +1,20 @@ From: Ben Hutchings -Date: Wed, 08 Jul 2015 02:37:21 +0100 -Subject: kernel-doc: Use $KBUILD_BUILD_TIMESTAMP as man page date +Date: Wed, 8 Jul 2015 20:07:16 +0100 +Subject: scripts/kernel-doc: Use $KBUILD_BUILD_TIMESTAMP as man page date Bug-Debian: https://bugs.debian.org/769844 +Forwarded: http://thread.gmane.org/gmane.linux.documentation/31870/focus=31875 + +Together with the preceding changes, this allows man pages to be built +reproducibly. Signed-off-by: Ben Hutchings +Signed-off-by: Jonathan Corbet --- + scripts/kernel-doc | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +diff --git a/scripts/kernel-doc b/scripts/kernel-doc +index 71ada00..0ac1a07 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc @@ -253,11 +253,20 @@ my %highlights = %highlights_man; diff --git a/debian/patches/series b/debian/patches/series index b6c1074d0..eaa0aca04 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -70,11 +70,11 @@ bugfix/all/net-mv643xx-disable-tso-by-default.patch debian/emmc-don-t-initialize-partitions-on-rpmb-flagged-areas.patch # Reproducible docs -bugfix/all/make-highlights-deterministic-in-kernel-doc.patch -bugfix/all/remove-timestamps-from-compressed-man-pages.patch +bugfix/all/scripts-kernel-doc-parse-kernel-doc-deterministicall.patch +bugfix/all/docbook-don-t-store-mtime-or-name-in-compressed-man-.patch bugfix/all/docbook-generate-consistent-ids.patch -bugfix/all/docbook-fix-duplicate-man-pages.patch -bugfix/all/kernel-doc-set-man-page-date.patch +bugfix/all/docbook-fix-non-determinstic-installation-of-duplica.patch +bugfix/all/scripts-kernel-doc-use-kbuild_build_timestamp-as-man.patch # Miscellaneous features features/all/efi-autoload-efi-pstore.patch From 68176287bf1f035dfd79bc8002e834cb981a4d82 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Mon, 17 Aug 2015 10:39:21 +0200 Subject: [PATCH 11/53] Update to 4.2-rc7 --- debian/changelog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/debian/changelog b/debian/changelog index 728f57d13..6b56cb5da 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +linux (4.2~rc7-1~exp1) UNRELEASED; urgency=medium + + * New upstream release candidate + + -- Ben Hutchings Mon, 17 Aug 2015 10:28:46 +0200 + linux (4.2~rc6-1~exp1) experimental; urgency=medium * New upstream release candidate From 081ba19db9d87cb2e64e3fb4dce431071763fffa Mon Sep 17 00:00:00 2001 From: Aurelien Jarno Date: Tue, 18 Aug 2015 11:38:30 +0200 Subject: [PATCH 12/53] [mips*] Build ext4 as module. Add core-modules and ext4-modules udeb. Fixes FTBFS. --- debian/changelog | 4 ++++ debian/config/kernelarch-mips/config | 5 ----- debian/installer/mips/modules/mips-4kc-malta/core-modules | 1 + debian/installer/mips/modules/mips-4kc-malta/ext4-modules | 1 + debian/installer/mips/modules/mips-octeon/core-modules | 1 + debian/installer/mips/modules/mips-octeon/ext4-modules | 1 + .../installer/mips/modules/mips-sb1-bcm91250a/core-modules | 1 + .../installer/mips/modules/mips-sb1-bcm91250a/ext4-modules | 1 + debian/installer/mips/modules/mips/core-modules | 1 + debian/installer/mips/modules/mips/ext4-modules | 1 + debian/installer/mips/package-list | 6 +++--- debian/installer/mips64/package-list | 2 +- debian/installer/mips64el/package-list | 2 +- .../mipsel/modules/mipsel-loongson-2e/core-modules | 1 + .../mipsel/modules/mipsel-loongson-2e/ext4-modules | 1 + .../mipsel/modules/mipsel-loongson-2f/core-modules | 1 + .../mipsel/modules/mipsel-loongson-2f/ext4-modules | 1 + .../installer/mipsel/modules/mipsel-loongson-3/core-modules | 1 + .../installer/mipsel/modules/mipsel-loongson-3/ext4-modules | 1 + debian/installer/mipsel/package-list | 2 +- 20 files changed, 24 insertions(+), 11 deletions(-) create mode 100644 debian/installer/mips/modules/mips-4kc-malta/core-modules create mode 100644 debian/installer/mips/modules/mips-4kc-malta/ext4-modules create mode 100644 debian/installer/mips/modules/mips-octeon/core-modules create mode 100644 debian/installer/mips/modules/mips-octeon/ext4-modules create mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/core-modules create mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/ext4-modules create mode 100644 debian/installer/mips/modules/mips/core-modules create mode 100644 debian/installer/mips/modules/mips/ext4-modules create mode 100644 debian/installer/mipsel/modules/mipsel-loongson-2e/core-modules create mode 100644 debian/installer/mipsel/modules/mipsel-loongson-2e/ext4-modules create mode 100644 debian/installer/mipsel/modules/mipsel-loongson-2f/core-modules create mode 100644 debian/installer/mipsel/modules/mipsel-loongson-2f/ext4-modules create mode 100644 debian/installer/mipsel/modules/mipsel-loongson-3/core-modules create mode 100644 debian/installer/mipsel/modules/mipsel-loongson-3/ext4-modules diff --git a/debian/changelog b/debian/changelog index 6b56cb5da..d1dfd1766 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,10 @@ linux (4.2~rc7-1~exp1) UNRELEASED; urgency=medium * New upstream release candidate + [ Aurelien Jarno ] + * [mips*] Build ext4 as module. Add core-modules and ext4-modules udeb. + Fixes FTBFS. + -- Ben Hutchings Mon, 17 Aug 2015 10:28:46 +0200 linux (4.2~rc6-1~exp1) experimental; urgency=medium diff --git a/debian/config/kernelarch-mips/config b/debian/config/kernelarch-mips/config index 17c1f56e9..5372e403a 100644 --- a/debian/config/kernelarch-mips/config +++ b/debian/config/kernelarch-mips/config @@ -26,11 +26,6 @@ CONFIG_BLK_DEV_SD=y ## # CONFIG_VGA_CONSOLE is not set -## -## file: fs/ext4/Kconfig -## -CONFIG_EXT4_FS=y - ## ## file: init/Kconfig ## diff --git a/debian/installer/mips/modules/mips-4kc-malta/core-modules b/debian/installer/mips/modules/mips-4kc-malta/core-modules new file mode 100644 index 000000000..f05d06298 --- /dev/null +++ b/debian/installer/mips/modules/mips-4kc-malta/core-modules @@ -0,0 +1 @@ +#include diff --git a/debian/installer/mips/modules/mips-4kc-malta/ext4-modules b/debian/installer/mips/modules/mips-4kc-malta/ext4-modules new file mode 100644 index 000000000..394c577ce --- /dev/null +++ b/debian/installer/mips/modules/mips-4kc-malta/ext4-modules @@ -0,0 +1 @@ +#include diff --git a/debian/installer/mips/modules/mips-octeon/core-modules b/debian/installer/mips/modules/mips-octeon/core-modules new file mode 100644 index 000000000..f05d06298 --- /dev/null +++ b/debian/installer/mips/modules/mips-octeon/core-modules @@ -0,0 +1 @@ +#include diff --git a/debian/installer/mips/modules/mips-octeon/ext4-modules b/debian/installer/mips/modules/mips-octeon/ext4-modules new file mode 100644 index 000000000..394c577ce --- /dev/null +++ b/debian/installer/mips/modules/mips-octeon/ext4-modules @@ -0,0 +1 @@ +#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/core-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/core-modules new file mode 100644 index 000000000..f05d06298 --- /dev/null +++ b/debian/installer/mips/modules/mips-sb1-bcm91250a/core-modules @@ -0,0 +1 @@ +#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/ext4-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/ext4-modules new file mode 100644 index 000000000..394c577ce --- /dev/null +++ b/debian/installer/mips/modules/mips-sb1-bcm91250a/ext4-modules @@ -0,0 +1 @@ +#include diff --git a/debian/installer/mips/modules/mips/core-modules b/debian/installer/mips/modules/mips/core-modules new file mode 100644 index 000000000..f05d06298 --- /dev/null +++ b/debian/installer/mips/modules/mips/core-modules @@ -0,0 +1 @@ +#include diff --git a/debian/installer/mips/modules/mips/ext4-modules b/debian/installer/mips/modules/mips/ext4-modules new file mode 100644 index 000000000..394c577ce --- /dev/null +++ b/debian/installer/mips/modules/mips/ext4-modules @@ -0,0 +1 @@ +#include diff --git a/debian/installer/mips/package-list b/debian/installer/mips/package-list index 18d3d8620..6e25f0609 100644 --- a/debian/installer/mips/package-list +++ b/debian/installer/mips/package-list @@ -4,6 +4,6 @@ # It overwrites specifications from /usr/share/kernel-wedge/package-list. # Package: kernel-image -Provides: ata-modules, ext2-modules, ext3-modules, ext4-modules, rtc-modules -Provides_r4k-ip22: ext2-modules, ext3-modules, ext4-modules, rtc-modules -Provides_r5k-ip32: ext2-modules, ext3-modules, ext4-modules, rtc-modules +Provides: ata-modules, ext2-modules, ext3-modules, rtc-modules +Provides_r4k-ip22: rtc-modules +Provides_r5k-ip32: rtc-modules diff --git a/debian/installer/mips64/package-list b/debian/installer/mips64/package-list index c94fcfd67..193faf10e 100644 --- a/debian/installer/mips64/package-list +++ b/debian/installer/mips64/package-list @@ -4,4 +4,4 @@ # It overwrites specifications from /usr/share/kernel-wedge/package-list. # Package: kernel-image -Provides: ata-modules, ext2-modules, ext3-modules, ext4-modules, rtc-modules +Provides: ata-modules, rtc-modules diff --git a/debian/installer/mips64el/package-list b/debian/installer/mips64el/package-list index c94fcfd67..193faf10e 100644 --- a/debian/installer/mips64el/package-list +++ b/debian/installer/mips64el/package-list @@ -4,4 +4,4 @@ # It overwrites specifications from /usr/share/kernel-wedge/package-list. # Package: kernel-image -Provides: ata-modules, ext2-modules, ext3-modules, ext4-modules, rtc-modules +Provides: ata-modules, rtc-modules diff --git a/debian/installer/mipsel/modules/mipsel-loongson-2e/core-modules b/debian/installer/mipsel/modules/mipsel-loongson-2e/core-modules new file mode 100644 index 000000000..f05d06298 --- /dev/null +++ b/debian/installer/mipsel/modules/mipsel-loongson-2e/core-modules @@ -0,0 +1 @@ +#include diff --git a/debian/installer/mipsel/modules/mipsel-loongson-2e/ext4-modules b/debian/installer/mipsel/modules/mipsel-loongson-2e/ext4-modules new file mode 100644 index 000000000..394c577ce --- /dev/null +++ b/debian/installer/mipsel/modules/mipsel-loongson-2e/ext4-modules @@ -0,0 +1 @@ +#include diff --git a/debian/installer/mipsel/modules/mipsel-loongson-2f/core-modules b/debian/installer/mipsel/modules/mipsel-loongson-2f/core-modules new file mode 100644 index 000000000..f05d06298 --- /dev/null +++ b/debian/installer/mipsel/modules/mipsel-loongson-2f/core-modules @@ -0,0 +1 @@ +#include diff --git a/debian/installer/mipsel/modules/mipsel-loongson-2f/ext4-modules b/debian/installer/mipsel/modules/mipsel-loongson-2f/ext4-modules new file mode 100644 index 000000000..394c577ce --- /dev/null +++ b/debian/installer/mipsel/modules/mipsel-loongson-2f/ext4-modules @@ -0,0 +1 @@ +#include diff --git a/debian/installer/mipsel/modules/mipsel-loongson-3/core-modules b/debian/installer/mipsel/modules/mipsel-loongson-3/core-modules new file mode 100644 index 000000000..f05d06298 --- /dev/null +++ b/debian/installer/mipsel/modules/mipsel-loongson-3/core-modules @@ -0,0 +1 @@ +#include diff --git a/debian/installer/mipsel/modules/mipsel-loongson-3/ext4-modules b/debian/installer/mipsel/modules/mipsel-loongson-3/ext4-modules new file mode 100644 index 000000000..394c577ce --- /dev/null +++ b/debian/installer/mipsel/modules/mipsel-loongson-3/ext4-modules @@ -0,0 +1 @@ +#include diff --git a/debian/installer/mipsel/package-list b/debian/installer/mipsel/package-list index c94fcfd67..193faf10e 100644 --- a/debian/installer/mipsel/package-list +++ b/debian/installer/mipsel/package-list @@ -4,4 +4,4 @@ # It overwrites specifications from /usr/share/kernel-wedge/package-list. # Package: kernel-image -Provides: ata-modules, ext2-modules, ext3-modules, ext4-modules, rtc-modules +Provides: ata-modules, rtc-modules From 2b363f8a38d1e2ecc92d3451588b81655d443a1a Mon Sep 17 00:00:00 2001 From: Aurelien Jarno Date: Thu, 20 Aug 2015 23:05:44 +0200 Subject: [PATCH 13/53] mips: Remove r4k-ip22, r5k-ip32 and sb1-bcm91250a flavours. --- debian/changelog | 2 + debian/config/kernelarch-mips/config.r4k-ip22 | 147 ---------- debian/config/kernelarch-mips/config.r5k-ip32 | 268 ----------------- .../kernelarch-mips/config.sb1-bcm91250a | 273 ------------------ debian/config/mips/defines | 24 -- debian/config/mips64/defines | 8 - debian/config/mips64el/defines | 8 - debian/config/mipsel/defines | 8 - debian/installer/mips/kernel-versions | 3 - .../modules/mips-sb1-bcm91250a/affs-modules | 1 - .../modules/mips-sb1-bcm91250a/ata-modules | 1 - .../modules/mips-sb1-bcm91250a/btrfs-modules | 1 - .../mips-sb1-bcm91250a/cdrom-core-modules | 1 - .../modules/mips-sb1-bcm91250a/core-modules | 1 - .../modules/mips-sb1-bcm91250a/crc-modules | 1 - .../mips-sb1-bcm91250a/crypto-dm-modules | 1 - .../modules/mips-sb1-bcm91250a/crypto-modules | 1 - .../modules/mips-sb1-bcm91250a/event-modules | 1 - .../modules/mips-sb1-bcm91250a/ext4-modules | 1 - .../modules/mips-sb1-bcm91250a/fat-modules | 1 - .../modules/mips-sb1-bcm91250a/fuse-modules | 1 - .../modules/mips-sb1-bcm91250a/hfs-modules | 1 - .../modules/mips-sb1-bcm91250a/i2c-modules | 1 - .../modules/mips-sb1-bcm91250a/input-modules | 1 - .../modules/mips-sb1-bcm91250a/isofs-modules | 1 - .../modules/mips-sb1-bcm91250a/jfs-modules | 1 - .../modules/mips-sb1-bcm91250a/kernel-image | 1 - .../modules/mips-sb1-bcm91250a/loop-modules | 1 - .../modules/mips-sb1-bcm91250a/md-modules | 1 - .../modules/mips-sb1-bcm91250a/minix-modules | 1 - .../mips-sb1-bcm91250a/multipath-modules | 1 - .../modules/mips-sb1-bcm91250a/nbd-modules | 1 - .../modules/mips-sb1-bcm91250a/nic-modules | 11 - .../mips-sb1-bcm91250a/nic-shared-modules | 1 - .../mips-sb1-bcm91250a/nic-usb-modules | 1 - .../mips-sb1-bcm91250a/nic-wireless-modules | 1 - .../modules/mips-sb1-bcm91250a/ntfs-modules | 1 - .../modules/mips-sb1-bcm91250a/pata-modules | 1 - .../modules/mips-sb1-bcm91250a/ppp-modules | 1 - .../modules/mips-sb1-bcm91250a/qnx4-modules | 1 - .../modules/mips-sb1-bcm91250a/rtc-modules | 1 - .../modules/mips-sb1-bcm91250a/sata-modules | 1 - .../mips-sb1-bcm91250a/scsi-common-modules | 2 - .../mips-sb1-bcm91250a/scsi-core-modules | 1 - .../mips-sb1-bcm91250a/scsi-extra-modules | 4 - .../modules/mips-sb1-bcm91250a/scsi-modules | 1 - .../modules/mips-sb1-bcm91250a/sound-modules | 1 - .../mips-sb1-bcm91250a/squashfs-modules | 1 - .../modules/mips-sb1-bcm91250a/udf-modules | 1 - .../modules/mips-sb1-bcm91250a/usb-modules | 1 - .../mips-sb1-bcm91250a/usb-serial-modules | 1 - .../mips-sb1-bcm91250a/usb-storage-modules | 1 - .../modules/mips-sb1-bcm91250a/virtio-modules | 1 - .../modules/mips-sb1-bcm91250a/xfs-modules | 1 - .../modules/mips-sb1-bcm91250a/zlib-modules | 1 - debian/installer/mips/package-list | 2 - debian/installer/mips64/kernel-versions | 1 - .../mips64/modules/mips64-sb1-bcm91250a | 1 - debian/installer/mips64el/kernel-versions | 1 - .../mips64el/modules/mips64el-sb1-bcm91250a | 1 - debian/installer/mipsel/kernel-versions | 1 - .../mipsel/modules/mipsel-sb1-bcm91250a | 1 - 62 files changed, 2 insertions(+), 807 deletions(-) delete mode 100644 debian/config/kernelarch-mips/config.r4k-ip22 delete mode 100644 debian/config/kernelarch-mips/config.r5k-ip32 delete mode 100644 debian/config/kernelarch-mips/config.sb1-bcm91250a delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/affs-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/ata-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/btrfs-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/cdrom-core-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/core-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/crc-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/crypto-dm-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/crypto-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/event-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/ext4-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/fat-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/fuse-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/hfs-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/i2c-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/input-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/isofs-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/jfs-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/kernel-image delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/loop-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/md-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/minix-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/multipath-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/nbd-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/nic-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/nic-shared-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/nic-usb-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/nic-wireless-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/ntfs-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/pata-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/ppp-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/qnx4-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/rtc-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/sata-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/scsi-common-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/scsi-core-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/scsi-extra-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/scsi-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/sound-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/squashfs-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/udf-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/usb-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/usb-serial-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/usb-storage-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/virtio-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/xfs-modules delete mode 100644 debian/installer/mips/modules/mips-sb1-bcm91250a/zlib-modules delete mode 120000 debian/installer/mips64/modules/mips64-sb1-bcm91250a delete mode 120000 debian/installer/mips64el/modules/mips64el-sb1-bcm91250a delete mode 120000 debian/installer/mipsel/modules/mipsel-sb1-bcm91250a diff --git a/debian/changelog b/debian/changelog index d1dfd1766..1f681f16d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,8 @@ linux (4.2~rc7-1~exp1) UNRELEASED; urgency=medium [ Aurelien Jarno ] * [mips*] Build ext4 as module. Add core-modules and ext4-modules udeb. Fixes FTBFS. + * [mips,mips64] Remove r4k-ip22, r5k-ip32 and sb1-bcm91250a flavours. + * [mipsel,mips64el] Remove sb1-bcm91250a flavour. -- Ben Hutchings Mon, 17 Aug 2015 10:28:46 +0200 diff --git a/debian/config/kernelarch-mips/config.r4k-ip22 b/debian/config/kernelarch-mips/config.r4k-ip22 deleted file mode 100644 index 6c8717fa4..000000000 --- a/debian/config/kernelarch-mips/config.r4k-ip22 +++ /dev/null @@ -1,147 +0,0 @@ -## -## file: arch/mips/Kconfig -## -## choice: System type -CONFIG_SGI_IP22=y -## end choice -CONFIG_ARC_CONSOLE=y -## choice: CPU type -CONFIG_CPU_R4X00=y -## end choice -## choice: Kernel code model -CONFIG_64BIT=y -## end choice -## choice: Kernel page size -CONFIG_PAGE_SIZE_4KB=y -## end choice -CONFIG_EISA=y -CONFIG_MIPS32_O32=y -CONFIG_MIPS32_N32=y - -## -## file: block/partitions/Kconfig -## -CONFIG_SGI_PARTITION=y - -## -## file: drivers/ata/Kconfig -## -# CONFIG_ATA is not set - -## -## file: drivers/char/Kconfig -## -CONFIG_PRINTER=m - -## -## file: drivers/eisa/Kconfig -## -CONFIG_EISA_NAMES=y - -## -## file: drivers/hwmon/Kconfig -## -# CONFIG_SENSORS_ADM9240 is not set -# CONFIG_SENSORS_ATXP1 is not set -# CONFIG_SENSORS_W83792D is not set -# CONFIG_SENSORS_W83627EHF is not set - -## -## file: drivers/i2c/Kconfig -## -CONFIG_I2C=m -CONFIG_I2C_CHARDEV=m - -## -## file: drivers/input/Kconfig -## -# CONFIG_INPUT_JOYDEV is not set - -## -## file: drivers/input/serio/Kconfig -## -CONFIG_SERIO=y -CONFIG_SERIO_I8042=y -CONFIG_SERIO_SERPORT=y -CONFIG_SERIO_LIBPS2=y -CONFIG_SERIO_RAW=y - -## -## file: drivers/net/appletalk/Kconfig -## -# CONFIG_ATALK is not set - -## -## file: drivers/net/ethernet/8390/Kconfig -## -CONFIG_NE2000=m -CONFIG_ULTRA=m -CONFIG_WD80x3=m - -## -## file: drivers/net/ethernet/seeq/Kconfig -## -CONFIG_NET_VENDOR_SEEQ=y -CONFIG_SGISEEQ=y - -## -## file: drivers/net/ethernet/smsc/Kconfig -## -CONFIG_SMC9194=m -CONFIG_SMC91X=m - -## -## file: drivers/net/phy/Kconfig -## -# CONFIG_PHYLIB is not set - -## -## file: drivers/rtc/Kconfig -## -CONFIG_RTC_DRV_DS1286=y - -## -## file: drivers/scsi/Kconfig -## -CONFIG_BLK_DEV_SR=y -CONFIG_SGIWD93_SCSI=y -# CONFIG_SCSI_AHA1740 is not set - -## -## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx -## -# CONFIG_SCSI_AIC7XXX is not set - -## -## file: drivers/tty/serial/Kconfig -## -CONFIG_SERIAL_IP22_ZILOG=y -CONFIG_SERIAL_IP22_ZILOG_CONSOLE=y - -## -## file: drivers/video/console/Kconfig -## -CONFIG_SGI_NEWPORT_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE=y - -## -## file: drivers/video/fbdev/Kconfig -## -CONFIG_FB=y - -## -## file: drivers/w1/Kconfig -## -# CONFIG_W1 is not set - -## -## file: drivers/watchdog/Kconfig -## -CONFIG_INDYDOG=m - -## -## file: sound/mips/Kconfig -## -CONFIG_SND_MIPS=y -CONFIG_SND_SGI_HAL2=m - diff --git a/debian/config/kernelarch-mips/config.r5k-ip32 b/debian/config/kernelarch-mips/config.r5k-ip32 deleted file mode 100644 index f0780166c..000000000 --- a/debian/config/kernelarch-mips/config.r5k-ip32 +++ /dev/null @@ -1,268 +0,0 @@ -## -## file: arch/mips/Kconfig -## -## choice: System type -CONFIG_SGI_IP32=y -## end choice -## choice: CPU type -CONFIG_CPU_R5000=y -## end choice -## choice: Kernel code model -CONFIG_64BIT=y -## end choice -## choice: Kernel page size -CONFIG_PAGE_SIZE_4KB=y -## end choice -CONFIG_PCI=y -CONFIG_MIPS32_O32=y -CONFIG_MIPS32_N32=y - -## -## file: block/partitions/Kconfig -## -CONFIG_SGI_PARTITION=y - -## -## file: drivers/char/Kconfig -## -CONFIG_PRINTER=m - -## -## file: drivers/firewire/Kconfig -## -# CONFIG_FIREWIRE is not set - -## -## file: drivers/hwmon/Kconfig -## -# CONFIG_SENSORS_ADM9240 is not set -# CONFIG_SENSORS_ATXP1 is not set -# CONFIG_SENSORS_VT8231 is not set -# CONFIG_SENSORS_W83792D is not set -# CONFIG_SENSORS_W83627EHF is not set - -## -## file: drivers/i2c/Kconfig -## -CONFIG_I2C=m -CONFIG_I2C_CHARDEV=m - -## -## file: drivers/infiniband/Kconfig -## -# CONFIG_INFINIBAND is not set - -## -## file: drivers/input/Kconfig -## -# CONFIG_INPUT_JOYDEV is not set - -## -## file: drivers/input/misc/Kconfig -## -CONFIG_INPUT_MISC=y -CONFIG_INPUT_SGI_BTNS=m - -## -## file: drivers/input/mouse/Kconfig -## -CONFIG_INPUT_MOUSE=y -CONFIG_MOUSE_PS2=y - -## -## file: drivers/input/serio/Kconfig -## -CONFIG_SERIO=y -CONFIG_SERIO_SERPORT=y -CONFIG_SERIO_MACEPS2=y -CONFIG_SERIO_LIBPS2=y -CONFIG_SERIO_RAW=y - -## -## file: drivers/media/pci/bt8xx/Kconfig -## -# CONFIG_VIDEO_BT848 is not set - -## -## file: drivers/media/pci/cx88/Kconfig -## -# CONFIG_VIDEO_CX88 is not set - -## -## file: drivers/media/pci/saa7134/Kconfig -## -# CONFIG_VIDEO_SAA7134 is not set - -## -## file: drivers/media/pci/saa7146/Kconfig -## -# CONFIG_VIDEO_HEXIUM_GEMINI is not set -# CONFIG_VIDEO_HEXIUM_ORION is not set -# CONFIG_VIDEO_MXB is not set - -## -## file: drivers/message/fusion/Kconfig -## -# CONFIG_FUSION is not set - -## -## file: drivers/net/ethernet/broadcom/Kconfig -## -# CONFIG_BNX2 is not set -# CONFIG_TIGON3 is not set -# CONFIG_BNX2X is not set - -## -## file: drivers/net/ethernet/chelsio/Kconfig -## -# CONFIG_CHELSIO_T1 is not set - -## -## file: drivers/net/ethernet/dec/tulip/Kconfig -## -CONFIG_NET_TULIP=y -CONFIG_DE2104X=m -CONFIG_TULIP=m -CONFIG_WINBOND_840=m -CONFIG_DM9102=m - -## -## file: drivers/net/ethernet/intel/Kconfig -## -CONFIG_E100=m - -## -## file: drivers/net/ethernet/natsemi/Kconfig -## -# CONFIG_NS83820 is not set - -## -## file: drivers/net/ethernet/neterion/Kconfig -## -# CONFIG_S2IO is not set - -## -## file: drivers/net/ethernet/packetengines/Kconfig -## -# CONFIG_HAMACHI is not set -# CONFIG_YELLOWFIN is not set - -## -## file: drivers/net/ethernet/sgi/Kconfig -## -CONFIG_SGI_O2MACE_ETH=y - -## -## file: drivers/net/ethernet/sis/Kconfig -## -# CONFIG_SIS190 is not set - -## -## file: drivers/net/ethernet/sun/Kconfig -## -# CONFIG_CASSINI is not set - -## -## file: drivers/parport/Kconfig -## -CONFIG_PARPORT_IP32=m - -## -## file: drivers/pci/hotplug/Kconfig -## -# CONFIG_HOTPLUG_PCI is not set - -## -## file: drivers/pci/pcie/Kconfig -## -# CONFIG_PCIEPORTBUS is not set - -## -## file: drivers/rtc/Kconfig -## -CONFIG_RTC_DRV_CMOS=y - -## -## file: drivers/scsi/Kconfig -## -CONFIG_BLK_DEV_SR=y -# CONFIG_BLK_DEV_3W_XXXX_RAID is not set -# CONFIG_SCSI_3W_9XXX is not set -# CONFIG_SCSI_ACARD is not set -# CONFIG_SCSI_AACRAID is not set -# CONFIG_SCSI_LPFC is not set -# CONFIG_SCSI_DC395x is not set - -## -## file: drivers/scsi/aic7xxx/Kconfig.aic79xx -## -# CONFIG_SCSI_AIC79XX is not set - -## -## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx -## -CONFIG_SCSI_AIC7XXX=y - -## -## file: drivers/scsi/megaraid/Kconfig.megaraid -## -# CONFIG_MEGARAID_NEWGEN is not set -# CONFIG_MEGARAID_LEGACY is not set -# CONFIG_MEGARAID_SAS is not set - -## -## file: drivers/tty/serial/8250/Kconfig -## -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y - -## -## file: drivers/usb/Kconfig -## -CONFIG_USB=m - -## -## file: drivers/usb/host/Kconfig -## -CONFIG_USB_EHCI_HCD=m -CONFIG_USB_OHCI_HCD=m -CONFIG_USB_UHCI_HCD=m - -## -## file: drivers/video/console/Kconfig -## -CONFIG_FRAMEBUFFER_CONSOLE=y - -## -## file: drivers/video/fbdev/Kconfig -## -CONFIG_FB=y -CONFIG_FB_GBE=y -# CONFIG_FB_3DFX is not set - -## -## file: drivers/w1/Kconfig -## -# CONFIG_W1 is not set - -## -## file: net/ipv4/Kconfig -## -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=y -CONFIG_IP_PNP_BOOTP=y - -## -## file: sound/mips/Kconfig -## -CONFIG_SND_MIPS=y -CONFIG_SND_SGI_O2=m - -## -## file: sound/pci/Kconfig -## -# CONFIG_SND_AD1889 is not set -# CONFIG_SND_HDSPM is not set -CONFIG_SND_KORG1212=m -# CONFIG_SND_PCXHR is not set - diff --git a/debian/config/kernelarch-mips/config.sb1-bcm91250a b/debian/config/kernelarch-mips/config.sb1-bcm91250a deleted file mode 100644 index 74c4943af..000000000 --- a/debian/config/kernelarch-mips/config.sb1-bcm91250a +++ /dev/null @@ -1,273 +0,0 @@ -## -## file: arch/mips/Kconfig -## -## choice: System type -CONFIG_SIBYTE_SWARM=y -## end choice -## choice: CPU type -CONFIG_CPU_SB1=y -## end choice -## choice: Kernel code model -CONFIG_64BIT=y -## end choice -## choice: Kernel page size -CONFIG_PAGE_SIZE_4KB=y -## end choice -CONFIG_SMP=y -CONFIG_NR_CPUS=2 -CONFIG_PCI=y -CONFIG_MIPS32_O32=y -CONFIG_MIPS32_N32=y - -## -## file: arch/mips/sibyte/Kconfig -## -## choice: SiByte SOC Stepping -CONFIG_CPU_SB1_PASS_2_2=y -## end choice - -## -## file: block/partitions/Kconfig -## -CONFIG_SGI_PARTITION=y - -## -## file: drivers/ata/Kconfig -## -CONFIG_ATA=y -CONFIG_PATA_ALI=m -CONFIG_PATA_AMD=m -CONFIG_PATA_CYPRESS=y -CONFIG_PATA_EFAR=m -CONFIG_PATA_NS87415=m -CONFIG_PATA_OLDPIIX=m -CONFIG_PATA_PDC2027X=m -CONFIG_PATA_PDC_OLD=m -CONFIG_PATA_SC1200=m -CONFIG_PATA_SERVERWORKS=m -CONFIG_PATA_SIL680=m -CONFIG_PATA_TRIFLEX=m -CONFIG_PATA_VIA=m -CONFIG_PATA_MPIIX=m -CONFIG_PATA_PLATFORM=y - -## -## file: drivers/char/Kconfig -## -CONFIG_PRINTER=m -CONFIG_RTC=m - -## -## file: drivers/firewire/Kconfig -## -# CONFIG_FIREWIRE is not set - -## -## file: drivers/gpu/drm/Kconfig -## -CONFIG_DRM=m - -## -## file: drivers/hid/usbhid/Kconfig -## -CONFIG_USB_HID=m - -## -## file: drivers/i2c/Kconfig -## -CONFIG_I2C=m -CONFIG_I2C_CHARDEV=m - -## -## file: drivers/i2c/busses/Kconfig -## -CONFIG_I2C_SIBYTE=m - -## -## file: drivers/infiniband/Kconfig -## -# CONFIG_INFINIBAND is not set - -## -## file: drivers/input/mouse/Kconfig -## -CONFIG_INPUT_MOUSE=y -CONFIG_MOUSE_PS2=y - -## -## file: drivers/input/serio/Kconfig -## -CONFIG_SERIO=y - -## -## file: drivers/net/appletalk/Kconfig -## -# CONFIG_ATALK is not set - -## -## file: drivers/net/ethernet/Kconfig -## -CONFIG_FEALNX=m - -## -## file: drivers/net/ethernet/8390/Kconfig -## -CONFIG_NE2K_PCI=m - -## -## file: drivers/net/ethernet/adaptec/Kconfig -## -CONFIG_ADAPTEC_STARFIRE=m - -## -## file: drivers/net/ethernet/amd/Kconfig -## -CONFIG_AMD8111_ETH=m - -## -## file: drivers/net/ethernet/broadcom/Kconfig -## -CONFIG_B44=m -CONFIG_SB1250_MAC=y - -## -## file: drivers/net/ethernet/dlink/Kconfig -## -CONFIG_SUNDANCE=m - -## -## file: drivers/net/ethernet/intel/Kconfig -## -CONFIG_E100=m - -## -## file: drivers/net/ethernet/natsemi/Kconfig -## -CONFIG_NATSEMI=m - -## -## file: drivers/net/ethernet/realtek/Kconfig -## -CONFIG_8139CP=m -CONFIG_8139TOO=m -CONFIG_8139TOO_PIO=y -CONFIG_8139TOO_8129=y - -## -## file: drivers/net/ethernet/sis/Kconfig -## -CONFIG_SIS900=m - -## -## file: drivers/net/ethernet/smsc/Kconfig -## -CONFIG_EPIC100=m - -## -## file: drivers/net/ethernet/sun/Kconfig -## -# CONFIG_CASSINI is not set - -## -## file: drivers/net/ethernet/via/Kconfig -## -CONFIG_VIA_RHINE=m - -## -## file: drivers/pci/pcie/Kconfig -## -# CONFIG_PCIEPORTBUS is not set - -## -## file: drivers/scsi/Kconfig -## -CONFIG_SCSI_DMX3191D=m -CONFIG_SCSI_FUTURE_DOMAIN=m -CONFIG_SCSI_IPS=m -CONFIG_SCSI_INITIO=m -CONFIG_SCSI_INIA100=m -CONFIG_SCSI_SYM53C8XX_2=m -CONFIG_SCSI_QLOGIC_1280=m -CONFIG_SCSI_DC395x=m -CONFIG_SCSI_AM53C974=m - -## -## file: drivers/scsi/aic7xxx/Kconfig.aic7xxx -## -CONFIG_SCSI_AIC7XXX=y - -## -## file: drivers/scsi/megaraid/Kconfig.megaraid -## -# CONFIG_MEGARAID_NEWGEN is not set -CONFIG_MEGARAID_LEGACY=m - -## -## file: drivers/tty/serial/Kconfig -## -CONFIG_SERIAL_SB1250_DUART=y -CONFIG_SERIAL_SB1250_DUART_CONSOLE=y - -## -## file: drivers/usb/Kconfig -## -CONFIG_USB=m - -## -## file: drivers/usb/host/Kconfig -## -CONFIG_USB_EHCI_HCD=m -CONFIG_USB_ISP116X_HCD=m -CONFIG_USB_OHCI_HCD=m -CONFIG_USB_UHCI_HCD=m -CONFIG_USB_SL811_HCD=m - -## -## file: drivers/video/console/Kconfig -## -CONFIG_FRAMEBUFFER_CONSOLE=y -# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set - -## -## file: drivers/video/fbdev/Kconfig -## -CONFIG_FB=y -CONFIG_FB_MODE_HELPERS=y -CONFIG_FB_TILEBLITTING=y -CONFIG_FB_PM2=m -CONFIG_FB_CYBER2000=m -CONFIG_FB_MATROX=m -CONFIG_FB_MATROX_MILLENIUM=y -CONFIG_FB_MATROX_MYSTIQUE=y -CONFIG_FB_MATROX_G=y -CONFIG_FB_RADEON=m -CONFIG_FB_RADEON_I2C=y -CONFIG_FB_ATY128=m -CONFIG_FB_ATY=m -CONFIG_FB_SAVAGE=m -CONFIG_FB_SIS=m -CONFIG_FB_SIS_300=y -CONFIG_FB_SIS_315=y -CONFIG_FB_NEOMAGIC=m -CONFIG_FB_KYRO=m -CONFIG_FB_VOODOO1=m -CONFIG_FB_TRIDENT=m - -## -## file: drivers/w1/Kconfig -## -# CONFIG_W1 is not set - -## -## file: fs/nfs/Kconfig -## -CONFIG_NFS_FS=y -CONFIG_ROOT_NFS=y - -## -## file: net/ipv4/Kconfig -## -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=y -CONFIG_IP_PNP_BOOTP=y - diff --git a/debian/config/mips/defines b/debian/config/mips/defines index f83aa51be..74f639ef3 100644 --- a/debian/config/mips/defines +++ b/debian/config/mips/defines @@ -1,8 +1,5 @@ [base] flavours: - r4k-ip22 - r5k-ip32 - sb1-bcm91250a 4kc-malta 5kc-malta octeon @@ -14,27 +11,6 @@ image-file: vmlinux [image] install-stem: vmlinux -[r4k-ip22_description] -hardware: SGI IP22 -hardware-long: SGI IP22 systems (Indy, Indigo2) - -[r4k-ip22_image] -configs: kernelarch-mips/config.r4k-ip22 - -[r5k-ip32_description] -hardware: SGI IP32 -hardware-long: SGI IP32 systems (O2) - -[r5k-ip32_image] -configs: kernelarch-mips/config.r5k-ip32 - -[sb1-bcm91250a_description] -hardware: BCM91250A -hardware-long: Broadcom BCM91250A systems (aka SWARM) - -[sb1-bcm91250a_image] -configs: kernelarch-mips/config.sb1-bcm91250a - [4kc-malta_description] hardware: MIPS Malta hardware-long: MIPS Malta boards diff --git a/debian/config/mips64/defines b/debian/config/mips64/defines index 8463072f7..450568eab 100644 --- a/debian/config/mips64/defines +++ b/debian/config/mips64/defines @@ -1,6 +1,5 @@ [base] flavours: - sb1-bcm91250a 5kc-malta octeon kernel-arch: mips @@ -11,13 +10,6 @@ image-file: vmlinux [image] install-stem: vmlinux -[sb1-bcm91250a_description] -hardware: BCM91250A -hardware-long: Broadcom BCM91250A systems (aka SWARM) - -[sb1-bcm91250a_image] -configs: kernelarch-mips/config.sb1-bcm91250a - [5kc-malta_description] hardware: MIPS Malta hardware-long: MIPS Malta boards diff --git a/debian/config/mips64el/defines b/debian/config/mips64el/defines index ff2839d69..5b198df8b 100644 --- a/debian/config/mips64el/defines +++ b/debian/config/mips64el/defines @@ -1,6 +1,5 @@ [base] flavours: - sb1-bcm91250a 5kc-malta loongson-3 octeon @@ -12,13 +11,6 @@ image-file: vmlinux [image] install-stem: vmlinux -[sb1-bcm91250a_description] -hardware: BCM91250A -hardware-long: Broadcom BCM91250A systems (aka SWARM) - -[sb1-bcm91250a_image] -configs: kernelarch-mips/config.sb1-bcm91250a - [5kc-malta_description] hardware: MIPS Malta hardware-long: MIPS Malta boards diff --git a/debian/config/mipsel/defines b/debian/config/mipsel/defines index 3750cd322..a78c3a8ce 100644 --- a/debian/config/mipsel/defines +++ b/debian/config/mipsel/defines @@ -1,6 +1,5 @@ [base] flavours: - sb1-bcm91250a 4kc-malta 5kc-malta loongson-2e @@ -14,13 +13,6 @@ image-file: vmlinux [image] install-stem: vmlinux -[sb1-bcm91250a_description] -hardware: BCM91250A -hardware-long: Broadcom BCM91250A systems (aka SWARM) - -[sb1-bcm91250a_image] -configs: kernelarch-mips/config.sb1-bcm91250a - [4kc-malta_description] hardware: MIPS Malta hardware-long: MIPS Malta boards diff --git a/debian/installer/mips/kernel-versions b/debian/installer/mips/kernel-versions index ac007d3d5..4bc557556 100644 --- a/debian/installer/mips/kernel-versions +++ b/debian/installer/mips/kernel-versions @@ -1,6 +1,3 @@ # arch version flavour installedname suffix build-depends -mips - sb1-bcm91250a - y - -mips - r4k-ip22 - y - -mips - r5k-ip32 - y - mips - 4kc-malta - y - mips - octeon - y - diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/affs-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/affs-modules deleted file mode 100644 index 21d616a1c..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/affs-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/ata-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/ata-modules deleted file mode 100644 index b81c0f38b..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/ata-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/btrfs-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/btrfs-modules deleted file mode 100644 index e261e1388..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/btrfs-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/cdrom-core-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/cdrom-core-modules deleted file mode 100644 index 3ff69b48f..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/cdrom-core-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/core-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/core-modules deleted file mode 100644 index f05d06298..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/core-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/crc-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/crc-modules deleted file mode 100644 index 7e00de705..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/crc-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/crypto-dm-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/crypto-dm-modules deleted file mode 100644 index 4c8f2354c..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/crypto-dm-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/crypto-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/crypto-modules deleted file mode 100644 index 3a1e862b4..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/crypto-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/event-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/event-modules deleted file mode 100644 index f8819afd3..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/event-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/ext4-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/ext4-modules deleted file mode 100644 index 394c577ce..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/ext4-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/fat-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/fat-modules deleted file mode 100644 index 274584eb6..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/fat-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/fuse-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/fuse-modules deleted file mode 100644 index 0b6ba0c8c..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/fuse-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/hfs-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/hfs-modules deleted file mode 100644 index 57d12f649..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/hfs-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/i2c-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/i2c-modules deleted file mode 100644 index 203a607e7..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/i2c-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/input-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/input-modules deleted file mode 100644 index 5ecb595a4..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/input-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/isofs-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/isofs-modules deleted file mode 100644 index da4fa9a3c..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/isofs-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/jfs-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/jfs-modules deleted file mode 100644 index 7e4d912b9..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/jfs-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/kernel-image b/debian/installer/mips/modules/mips-sb1-bcm91250a/kernel-image deleted file mode 100644 index 1bb8bf6d7..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/kernel-image +++ /dev/null @@ -1 +0,0 @@ -# empty diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/loop-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/loop-modules deleted file mode 100644 index c1c948fa3..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/loop-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/md-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/md-modules deleted file mode 100644 index 26115e10b..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/md-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/minix-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/minix-modules deleted file mode 100644 index 82b984372..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/minix-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/multipath-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/multipath-modules deleted file mode 100644 index a8b69b253..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/multipath-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/nbd-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/nbd-modules deleted file mode 100644 index 3c9b3e5d4..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/nbd-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/nic-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/nic-modules deleted file mode 100644 index a2feefcfc..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/nic-modules +++ /dev/null @@ -1,11 +0,0 @@ -#include -dmfe - -epic100 - -fealnx - -natsemi - -skfp - -starfire - -sundance - -tulip - -typhoon - -winbond-840 - diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/nic-shared-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/nic-shared-modules deleted file mode 100644 index cc84b14dc..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/nic-shared-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/nic-usb-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/nic-usb-modules deleted file mode 100644 index c479669b4..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/nic-usb-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/nic-wireless-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/nic-wireless-modules deleted file mode 100644 index 53fd18d7f..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/nic-wireless-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/ntfs-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/ntfs-modules deleted file mode 100644 index ac1bc6a96..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/ntfs-modules +++ /dev/null @@ -1 +0,0 @@ -ntfs diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/pata-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/pata-modules deleted file mode 100644 index b0cd6337a..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/pata-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/ppp-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/ppp-modules deleted file mode 100644 index 1f26aa1ee..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/ppp-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/qnx4-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/qnx4-modules deleted file mode 100644 index cd0c96d41..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/qnx4-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/rtc-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/rtc-modules deleted file mode 100644 index e20e792f2..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/rtc-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/sata-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/sata-modules deleted file mode 100644 index 01318c258..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/sata-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/scsi-common-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/scsi-common-modules deleted file mode 100644 index 748049f2e..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/scsi-common-modules +++ /dev/null @@ -1,2 +0,0 @@ -#include -sym53c8xx - diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/scsi-core-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/scsi-core-modules deleted file mode 100644 index dd65d6614..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/scsi-core-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/scsi-extra-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/scsi-extra-modules deleted file mode 100644 index 3a9aad711..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/scsi-extra-modules +++ /dev/null @@ -1,4 +0,0 @@ -#include -cciss - -DAC960 - -ips - diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/scsi-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/scsi-modules deleted file mode 100644 index 8909dfb79..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/scsi-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/sound-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/sound-modules deleted file mode 100644 index 68395ab3d..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/sound-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/squashfs-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/squashfs-modules deleted file mode 100644 index 42d77887a..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/squashfs-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/udf-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/udf-modules deleted file mode 100644 index b90d7ee9b..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/udf-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/usb-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/usb-modules deleted file mode 100644 index c598dedd8..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/usb-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/usb-serial-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/usb-serial-modules deleted file mode 100644 index c0a0dc3bd..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/usb-serial-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/usb-storage-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/usb-storage-modules deleted file mode 100644 index 8c5e81b55..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/usb-storage-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/virtio-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/virtio-modules deleted file mode 100644 index 61da39659..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/virtio-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/xfs-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/xfs-modules deleted file mode 100644 index 98374e2bb..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/xfs-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/modules/mips-sb1-bcm91250a/zlib-modules b/debian/installer/mips/modules/mips-sb1-bcm91250a/zlib-modules deleted file mode 100644 index e02ad64bf..000000000 --- a/debian/installer/mips/modules/mips-sb1-bcm91250a/zlib-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/mips/package-list b/debian/installer/mips/package-list index 6e25f0609..2dd86ee21 100644 --- a/debian/installer/mips/package-list +++ b/debian/installer/mips/package-list @@ -5,5 +5,3 @@ # Package: kernel-image Provides: ata-modules, ext2-modules, ext3-modules, rtc-modules -Provides_r4k-ip22: rtc-modules -Provides_r5k-ip32: rtc-modules diff --git a/debian/installer/mips64/kernel-versions b/debian/installer/mips64/kernel-versions index e5b9783d2..24a6c52af 100644 --- a/debian/installer/mips64/kernel-versions +++ b/debian/installer/mips64/kernel-versions @@ -1,4 +1,3 @@ # arch version flavour installedname suffix build-depends -mips64 - sb1-bcm91250a - y - mips64 - 5kc-malta - y - mips64 - octeon - y - diff --git a/debian/installer/mips64/modules/mips64-sb1-bcm91250a b/debian/installer/mips64/modules/mips64-sb1-bcm91250a deleted file mode 120000 index 6fb6062c6..000000000 --- a/debian/installer/mips64/modules/mips64-sb1-bcm91250a +++ /dev/null @@ -1 +0,0 @@ -../../mips/modules/mips-sb1-bcm91250a \ No newline at end of file diff --git a/debian/installer/mips64el/kernel-versions b/debian/installer/mips64el/kernel-versions index e8e4d1bf6..7135f7480 100644 --- a/debian/installer/mips64el/kernel-versions +++ b/debian/installer/mips64el/kernel-versions @@ -1,5 +1,4 @@ # arch version flavour installedname suffix build-depends -mips64el - sb1-bcm91250a - y - mips64el - 5kc-malta - y - mips64el - loongson-3 - y - mips64el - octeon - y - diff --git a/debian/installer/mips64el/modules/mips64el-sb1-bcm91250a b/debian/installer/mips64el/modules/mips64el-sb1-bcm91250a deleted file mode 120000 index 3de5b535e..000000000 --- a/debian/installer/mips64el/modules/mips64el-sb1-bcm91250a +++ /dev/null @@ -1 +0,0 @@ -../../mipsel/modules/mipsel-sb1-bcm91250a \ No newline at end of file diff --git a/debian/installer/mipsel/kernel-versions b/debian/installer/mipsel/kernel-versions index f248db6fd..1a6bafb54 100644 --- a/debian/installer/mipsel/kernel-versions +++ b/debian/installer/mipsel/kernel-versions @@ -1,5 +1,4 @@ # arch version flavour installedname suffix build-depends -mipsel - sb1-bcm91250a - y - mipsel - 4kc-malta - y - mipsel - loongson-2e - y - mipsel - loongson-2f - y - diff --git a/debian/installer/mipsel/modules/mipsel-sb1-bcm91250a b/debian/installer/mipsel/modules/mipsel-sb1-bcm91250a deleted file mode 120000 index 6fb6062c6..000000000 --- a/debian/installer/mipsel/modules/mipsel-sb1-bcm91250a +++ /dev/null @@ -1 +0,0 @@ -../../mips/modules/mips-sb1-bcm91250a \ No newline at end of file From c2de3cfb2045991e949145c64694a7edd856e750 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Fri, 21 Aug 2015 13:01:49 +0200 Subject: [PATCH 14/53] debian/control: Correct build-dependency on xz-utils, needed on all arches Currently we have xz-utils in build-depends-indep as we explicitly use xz to compress files in linux-source. We also have a build- dependency on lzma (now a virtual package provided by xz-utils), but only on armel which was the first architecture for which we set CONFIG_KERNEL_XZ=y. However, since 3.7 we've set CONFIG_KERNEL_XZ for all architectures so xz-utils is needed everywhere. Currently we get away with this because dpkg-dev depends on xz-utils, but this could change in future. Build-depend on xz-utils without qualification. --- debian/changelog | 3 +++ debian/templates/control.source.in | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 1f681f16d..8cd4d5fce 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,9 @@ linux (4.2~rc7-1~exp1) UNRELEASED; urgency=medium * [mips,mips64] Remove r4k-ip22, r5k-ip32 and sb1-bcm91250a flavours. * [mipsel,mips64el] Remove sb1-bcm91250a flavour. + [ Ben Hutchings ] + * debian/control: Correct build-dependency on xz-utils, needed on all arches + -- Ben Hutchings Mon, 17 Aug 2015 10:28:46 +0200 linux (4.2~rc6-1~exp1) experimental; urgency=medium diff --git a/debian/templates/control.source.in b/debian/templates/control.source.in index 8f966f407..dcaf8b1ac 100644 --- a/debian/templates/control.source.in +++ b/debian/templates/control.source.in @@ -3,8 +3,8 @@ Priority: optional Maintainer: Debian Kernel Team Uploaders: Bastian Blank , maximilian attems , Ben Hutchings Standards-Version: 3.9.5 -Build-Depends: debhelper, cpio, kmod, python, python-six, lzma [armel], kernel-wedge, quilt, patchutils, bc -Build-Depends-Indep: xz-utils, xmlto +Build-Depends: debhelper, cpio, kmod, python, python-six, xz-utils, kernel-wedge, quilt, patchutils, bc +Build-Depends-Indep: xmlto Vcs-Git: https://anonscm.debian.org/git/kernel/linux.git Vcs-Browser: https://anonscm.debian.org/cgit/kernel/linux.git Homepage: https://www.kernel.org/ From b60f5c4de148d3cf15128e23136aaddfdeba5dab Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Fri, 21 Aug 2015 17:10:10 +0200 Subject: [PATCH 15/53] Set LC_ALL=C.UTF-8 for all builds Upstream sets LC_ALL=C when building most things, and we do that in one place to ensure consistent ordering. However the encoding of HTML docs still differs. Choose 'C.UTF-8' instead of 'C' because it makes the HTML docs slightly smaller. --- debian/changelog | 2 ++ debian/rules.real | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 8cd4d5fce..66972c7ce 100644 --- a/debian/changelog +++ b/debian/changelog @@ -10,6 +10,8 @@ linux (4.2~rc7-1~exp1) UNRELEASED; urgency=medium [ Ben Hutchings ] * debian/control: Correct build-dependency on xz-utils, needed on all arches + * Fix more issues that prevent a reproducible build: + - Set LC_ALL=C.UTF-8 -- Ben Hutchings Mon, 17 Aug 2015 10:28:46 +0200 diff --git a/debian/rules.real b/debian/rules.real index 6f90f758c..df6f87d1c 100644 --- a/debian/rules.real +++ b/debian/rules.real @@ -33,6 +33,7 @@ endif export PYTHONPATH = $(CURDIR)/debian/lib/python export DH_OPTIONS export DEB_HOST_ARCH DEB_HOST_GNU_TYPE DEB_BUILD_ARCH +export LC_ALL = C.UTF-8 include debian/rules.defs @@ -90,7 +91,7 @@ $(BUILD_DIR)/linux-source-$(UPSTREAMVERSION).tar.xz: $(STAMPS_DIR)/source find '$(DIR)' -depth -newermt '$(SOURCE_DATE)' -print0 | \ xargs -0r touch --no-dereference --date='$(SOURCE_DATE)' cd '$(BUILD_DIR)'; find 'linux-source-$(UPSTREAMVERSION)' -print0 | \ - LC_ALL=C sort -z | \ + sort -z | \ xargs -0 tar --no-recursion -raf 'linux-source-$(UPSTREAMVERSION).tar.xz' rm -rf '$(DIR)' From 13be7e1afd9cade852b8ce27b2eec9793e7e35be Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Fri, 21 Aug 2015 18:13:33 +0200 Subject: [PATCH 16/53] Documentation: Avoid creating man pages in source tree kernel-doc can currently generate dummy DocBook files using absolute paths as their titles, which results in man pages being created in the source tree (and thus going into linux-headers and linux-source packages). --- debian/changelog | 1 + ...id-creating-man-pages-in-source-tree.patch | 50 +++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 52 insertions(+) create mode 100644 debian/patches/bugfix/all/documentation-avoid-creating-man-pages-in-source-tree.patch diff --git a/debian/changelog b/debian/changelog index 66972c7ce..caf17e3b2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -12,6 +12,7 @@ linux (4.2~rc7-1~exp1) UNRELEASED; urgency=medium * debian/control: Correct build-dependency on xz-utils, needed on all arches * Fix more issues that prevent a reproducible build: - Set LC_ALL=C.UTF-8 + - Avoid creating man pages in source tree -- Ben Hutchings Mon, 17 Aug 2015 10:28:46 +0200 diff --git a/debian/patches/bugfix/all/documentation-avoid-creating-man-pages-in-source-tree.patch b/debian/patches/bugfix/all/documentation-avoid-creating-man-pages-in-source-tree.patch new file mode 100644 index 000000000..1b6a23ae0 --- /dev/null +++ b/debian/patches/bugfix/all/documentation-avoid-creating-man-pages-in-source-tree.patch @@ -0,0 +1,50 @@ +From: Ben Hutchings +Date: Fri, 21 Aug 2015 18:06:56 +0200 +Subject: Documentation: Avoid creating man pages in source tree + +Currently kernel-doc generates a dummy DocBook file when asked to +convert a C source file with no structured comments. For an +out-of-tree build (objtree != srctree), the title of the output file +is the absolute path name of the C source file, which later results +in a manual page being created alongside the C source file. + +Change the title to be a relative path. + +Signed-off-by: Ben Hutchings +--- +--- a/scripts/kernel-doc ++++ b/scripts/kernel-doc +@@ -2351,12 +2351,13 @@ sub process_file($) { + my $descr; + my $in_purpose = 0; + my $initial_section_counter = $section_counter; ++ my ($orig_file) = @_; + + if (defined($ENV{'SRCTREE'})) { +- $file = "$ENV{'SRCTREE'}" . "/" . "@_"; ++ $file = "$ENV{'SRCTREE'}" . "/" . $orig_file; + } + else { +- $file = "@_"; ++ $file = $orig_file; + } + if (defined($source_map{$file})) { + $file = $source_map{$file}; +@@ -2565,7 +2566,7 @@ sub process_file($) { + print "\n"; + print " \n"; + print " \n"; +- print " ${file}\n"; ++ print " ${orig_file}\n"; + print " \n"; + print " \n"; + print " Document generation inconsistency\n"; +@@ -2579,7 +2580,7 @@ sub process_file($) { + print " \n"; + print " The template for this document tried to insert\n"; + print " the structured comment from the file\n"; +- print " ${file} at this point,\n"; ++ print " ${orig_file} at this point,\n"; + print " but none was found.\n"; + print " This dummy section is inserted to allow\n"; + print " generation to continue.\n"; diff --git a/debian/patches/series b/debian/patches/series index eaa0aca04..ac586be98 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -75,6 +75,7 @@ bugfix/all/docbook-don-t-store-mtime-or-name-in-compressed-man-.patch bugfix/all/docbook-generate-consistent-ids.patch bugfix/all/docbook-fix-non-determinstic-installation-of-duplica.patch bugfix/all/scripts-kernel-doc-use-kbuild_build_timestamp-as-man.patch +bugfix/all/documentation-avoid-creating-man-pages-in-source-tree.patch # Miscellaneous features features/all/efi-autoload-efi-pstore.patch From c76e5af2e3804934a3ea1b46f7a89cb49b9244b5 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sat, 22 Aug 2015 18:55:41 +0200 Subject: [PATCH 17/53] [mips] udeb: Remove ext{2,3}-modules from Provides list for kernel-image ext{2,3}-modules are provided by ext4-modules which is now a real package on mips. --- debian/installer/mips/package-list | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/installer/mips/package-list b/debian/installer/mips/package-list index 2dd86ee21..193faf10e 100644 --- a/debian/installer/mips/package-list +++ b/debian/installer/mips/package-list @@ -4,4 +4,4 @@ # It overwrites specifications from /usr/share/kernel-wedge/package-list. # Package: kernel-image -Provides: ata-modules, ext2-modules, ext3-modules, rtc-modules +Provides: ata-modules, rtc-modules From 2431b0ab3568b91dd3f96917f3d19ba531b01fb5 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Mon, 24 Aug 2015 11:00:47 +0100 Subject: [PATCH 18/53] Update to 4.2-rc8 --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 622428cb8..86636ecde 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -linux (4.2~rc7-1~exp1) UNRELEASED; urgency=medium +linux (4.2~rc8-1~exp1) UNRELEASED; urgency=medium * New upstream release candidate From 12eadbcd9e12c185eb5fd9488384eba185f6a80b Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Mon, 24 Aug 2015 14:21:24 +0100 Subject: [PATCH 19/53] Prepare to release linux (4.2~rc8-1~exp1). --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 86636ecde..ae83990ae 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -linux (4.2~rc8-1~exp1) UNRELEASED; urgency=medium +linux (4.2~rc8-1~exp1) experimental; urgency=medium * New upstream release candidate @@ -14,7 +14,7 @@ linux (4.2~rc8-1~exp1) UNRELEASED; urgency=medium - Set LC_ALL=C.UTF-8 - Avoid creating man pages in source tree - -- Ben Hutchings Mon, 17 Aug 2015 10:28:46 +0200 + -- Ben Hutchings Mon, 24 Aug 2015 12:00:54 +0100 linux (4.2~rc6-1~exp1) experimental; urgency=medium From ace247de5b21a805ff62c272058fc8387c8afd75 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 25 Aug 2015 18:57:07 +0100 Subject: [PATCH 20/53] Remove all support for ia64 Close all bugs related to ia64. --- debian/changelog | 6 + debian/config/config | 2 +- debian/config/defines | 1 - debian/config/ia64/config | 858 ------------------ debian/config/ia64/config.itanium | 11 - debian/config/ia64/config.mckinley | 11 - debian/config/ia64/defines | 20 - debian/installer/ia64/TODO | 3 - debian/installer/ia64/kernel-versions | 2 - .../installer/ia64/modules/ia64/ata-modules | 1 - .../installer/ia64/modules/ia64/btrfs-modules | 1 - .../ia64/modules/ia64/cdrom-core-modules | 2 - .../installer/ia64/modules/ia64/core-modules | 1 - .../installer/ia64/modules/ia64/crc-modules | 2 - .../ia64/modules/ia64/crypto-dm-modules | 1 - .../ia64/modules/ia64/crypto-modules | 1 - .../installer/ia64/modules/ia64/event-modules | 1 - .../installer/ia64/modules/ia64/ext4-modules | 1 - .../installer/ia64/modules/ia64/fat-modules | 1 - debian/installer/ia64/modules/ia64/fb-modules | 2 - .../ia64/modules/ia64/firewire-core-modules | 2 - .../installer/ia64/modules/ia64/fuse-modules | 1 - .../ia64/modules/ia64/ide-core-modules | 1 - .../installer/ia64/modules/ia64/ide-modules | 3 - .../installer/ia64/modules/ia64/input-modules | 1 - .../installer/ia64/modules/ia64/isofs-modules | 1 - .../installer/ia64/modules/ia64/jfs-modules | 1 - .../installer/ia64/modules/ia64/kernel-image | 1 - .../installer/ia64/modules/ia64/loop-modules | 2 - debian/installer/ia64/modules/ia64/md-modules | 2 - .../installer/ia64/modules/ia64/mouse-modules | 1 - .../ia64/modules/ia64/multipath-modules | 1 - .../installer/ia64/modules/ia64/nbd-modules | 1 - .../installer/ia64/modules/ia64/nic-modules | 1 - .../ia64/modules/ia64/nic-shared-modules | 1 - .../ia64/modules/ia64/nic-usb-modules | 1 - .../installer/ia64/modules/ia64/ntfs-modules | 1 - .../installer/ia64/modules/ia64/pata-modules | 1 - .../ia64/modules/ia64/pcmcia-modules | 4 - .../installer/ia64/modules/ia64/ppp-modules | 2 - .../installer/ia64/modules/ia64/sata-modules | 2 - .../ia64/modules/ia64/scsi-core-modules | 1 - .../installer/ia64/modules/ia64/scsi-modules | 3 - .../ia64/modules/ia64/serial-modules | 3 - debian/installer/ia64/modules/ia64/sn-modules | 2 - .../ia64/modules/ia64/squashfs-modules | 1 - .../installer/ia64/modules/ia64/udf-modules | 1 - .../ia64/modules/ia64/uinput-modules | 1 - .../installer/ia64/modules/ia64/usb-modules | 1 - .../ia64/modules/ia64/usb-storage-modules | 2 - .../installer/ia64/modules/ia64/xfs-modules | 2 - debian/installer/ia64/package-list | 37 - .../ia64-hardcode-arch-script-output.patch | 70 -- debian/patches/series | 1 - .../templates/image.plain.bug/include-model | 2 +- 55 files changed, 8 insertions(+), 1078 deletions(-) delete mode 100644 debian/config/ia64/config delete mode 100644 debian/config/ia64/config.itanium delete mode 100644 debian/config/ia64/config.mckinley delete mode 100644 debian/config/ia64/defines delete mode 100644 debian/installer/ia64/TODO delete mode 100644 debian/installer/ia64/kernel-versions delete mode 100644 debian/installer/ia64/modules/ia64/ata-modules delete mode 100644 debian/installer/ia64/modules/ia64/btrfs-modules delete mode 100644 debian/installer/ia64/modules/ia64/cdrom-core-modules delete mode 100644 debian/installer/ia64/modules/ia64/core-modules delete mode 100644 debian/installer/ia64/modules/ia64/crc-modules delete mode 100644 debian/installer/ia64/modules/ia64/crypto-dm-modules delete mode 100644 debian/installer/ia64/modules/ia64/crypto-modules delete mode 100644 debian/installer/ia64/modules/ia64/event-modules delete mode 100644 debian/installer/ia64/modules/ia64/ext4-modules delete mode 100644 debian/installer/ia64/modules/ia64/fat-modules delete mode 100644 debian/installer/ia64/modules/ia64/fb-modules delete mode 100644 debian/installer/ia64/modules/ia64/firewire-core-modules delete mode 100644 debian/installer/ia64/modules/ia64/fuse-modules delete mode 100644 debian/installer/ia64/modules/ia64/ide-core-modules delete mode 100644 debian/installer/ia64/modules/ia64/ide-modules delete mode 100644 debian/installer/ia64/modules/ia64/input-modules delete mode 100644 debian/installer/ia64/modules/ia64/isofs-modules delete mode 100644 debian/installer/ia64/modules/ia64/jfs-modules delete mode 100644 debian/installer/ia64/modules/ia64/kernel-image delete mode 100644 debian/installer/ia64/modules/ia64/loop-modules delete mode 100644 debian/installer/ia64/modules/ia64/md-modules delete mode 100644 debian/installer/ia64/modules/ia64/mouse-modules delete mode 100644 debian/installer/ia64/modules/ia64/multipath-modules delete mode 100644 debian/installer/ia64/modules/ia64/nbd-modules delete mode 100644 debian/installer/ia64/modules/ia64/nic-modules delete mode 100644 debian/installer/ia64/modules/ia64/nic-shared-modules delete mode 100644 debian/installer/ia64/modules/ia64/nic-usb-modules delete mode 100644 debian/installer/ia64/modules/ia64/ntfs-modules delete mode 100644 debian/installer/ia64/modules/ia64/pata-modules delete mode 100644 debian/installer/ia64/modules/ia64/pcmcia-modules delete mode 100644 debian/installer/ia64/modules/ia64/ppp-modules delete mode 100644 debian/installer/ia64/modules/ia64/sata-modules delete mode 100644 debian/installer/ia64/modules/ia64/scsi-core-modules delete mode 100644 debian/installer/ia64/modules/ia64/scsi-modules delete mode 100644 debian/installer/ia64/modules/ia64/serial-modules delete mode 100644 debian/installer/ia64/modules/ia64/sn-modules delete mode 100644 debian/installer/ia64/modules/ia64/squashfs-modules delete mode 100644 debian/installer/ia64/modules/ia64/udf-modules delete mode 100644 debian/installer/ia64/modules/ia64/uinput-modules delete mode 100644 debian/installer/ia64/modules/ia64/usb-modules delete mode 100644 debian/installer/ia64/modules/ia64/usb-storage-modules delete mode 100644 debian/installer/ia64/modules/ia64/xfs-modules delete mode 100644 debian/installer/ia64/package-list delete mode 100644 debian/patches/debian/ia64-hardcode-arch-script-output.patch diff --git a/debian/changelog b/debian/changelog index ae83990ae..3e8ce7bb7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +linux (4.2~rc8-1~exp2) UNRELEASED; urgency=medium + + * Remove all support for ia64 (Closes: #679545, #691576, #728706) + + -- Ben Hutchings Tue, 25 Aug 2015 18:50:57 +0100 + linux (4.2~rc8-1~exp1) experimental; urgency=medium * New upstream release candidate diff --git a/debian/config/config b/debian/config/config index 77bdda83f..5e59efe00 100644 --- a/debian/config/config +++ b/debian/config/config @@ -810,7 +810,7 @@ CONFIG_I2C_VIPERBOARD=m ## file: drivers/ide/Kconfig ## # CONFIG_IDE is not set -#. But for ia64 and m68k flavours that need it +#. But for m68k flavours that need it CONFIG_IDE_GD=m CONFIG_IDE_GD_ATA=y CONFIG_IDE_GD_ATAPI=y diff --git a/debian/config/defines b/debian/config/defines index cf6d73f6f..f03709a2c 100644 --- a/debian/config/defines +++ b/debian/config/defines @@ -10,7 +10,6 @@ arches: armhf hppa i386 - ia64 m68k mips mipsel diff --git a/debian/config/ia64/config b/debian/config/ia64/config deleted file mode 100644 index cf9e5eebd..000000000 --- a/debian/config/ia64/config +++ /dev/null @@ -1,858 +0,0 @@ -## -## file: arch/ia64/Kconfig -## -CONFIG_HOTPLUG_CPU=y -CONFIG_SCHED_SMT=y -CONFIG_PERMIT_BSP_REMOVE=y -CONFIG_NODES_SHIFT=8 -CONFIG_IA64_MCA_RECOVERY=m -CONFIG_PERFMON=y -CONFIG_IA64_PALINFO=m -CONFIG_KEXEC=y -CONFIG_CRASH_DUMP=y -CONFIG_MSPEC=m - -## -## file: arch/ia64/Kconfig.debug -## -## choice: Physical memory granularity -CONFIG_IA64_GRANULE_16MB=y -# CONFIG_IA64_GRANULE_64MB is not set -## end choice -CONFIG_IA64_PRINT_HAZARDS=y -# CONFIG_DISABLE_VHPT is not set -# CONFIG_IA64_DEBUG_CMPXCHG is not set -# CONFIG_IA64_DEBUG_IRQ is not set - -## -## file: arch/ia64/hp/sim/Kconfig -## -# CONFIG_HP_SIMETH is not set -# CONFIG_HP_SIMSERIAL is not set -# CONFIG_HP_SIMSCSI is not set - -## -## file: block/partitions/Kconfig -## -CONFIG_ACORN_PARTITION=y -# CONFIG_ACORN_PARTITION_CUMANA is not set -CONFIG_ACORN_PARTITION_EESOX=y -CONFIG_ACORN_PARTITION_ICS=y -CONFIG_ACORN_PARTITION_ADFS=y -CONFIG_ACORN_PARTITION_POWERTEC=y -CONFIG_ACORN_PARTITION_RISCIX=y -CONFIG_OSF_PARTITION=y -CONFIG_AMIGA_PARTITION=y -CONFIG_ATARI_PARTITION=y -CONFIG_MAC_PARTITION=y -CONFIG_BSD_DISKLABEL=y -CONFIG_MINIX_SUBPARTITION=y -CONFIG_SOLARIS_X86_PARTITION=y -CONFIG_UNIXWARE_DISKLABEL=y -CONFIG_LDM_PARTITION=y -CONFIG_LDM_DEBUG=y -CONFIG_SGI_PARTITION=y -CONFIG_ULTRIX_PARTITION=y -CONFIG_SUN_PARTITION=y - -## -## file: drivers/acpi/Kconfig -## -CONFIG_ACPI_DOCK=y -CONFIG_ACPI_PCI_SLOT=y -CONFIG_ACPI_CONTAINER=y - -## -## file: drivers/ata/Kconfig -## -CONFIG_PATA_ALI=m -CONFIG_PATA_AMD=m -CONFIG_PATA_CMD64X=m -CONFIG_PATA_CS5520=m -CONFIG_PATA_EFAR=m -CONFIG_PATA_HPT366=m -CONFIG_PATA_HPT37X=m -CONFIG_PATA_NETCELL=m -CONFIG_PATA_NS87415=m -CONFIG_PATA_OLDPIIX=m -CONFIG_PATA_PDC2027X=m -CONFIG_PATA_PDC_OLD=m -CONFIG_PATA_SC1200=m -CONFIG_PATA_SERVERWORKS=m -CONFIG_PATA_SIL680=m -CONFIG_PATA_TRIFLEX=m -CONFIG_PATA_VIA=m -CONFIG_PATA_MPIIX=m -CONFIG_PATA_NS87410=m -CONFIG_PATA_OPTI=m -CONFIG_PATA_LEGACY=m - -## -## file: drivers/block/Kconfig -## -CONFIG_BLK_CPQ_DA=m -CONFIG_BLK_CPQ_CISS_DA=m -CONFIG_CISS_SCSI_TAPE=y -CONFIG_BLK_DEV_DAC960=m -CONFIG_BLK_DEV_UMEM=m -CONFIG_BLK_DEV_SX8=m -CONFIG_CDROM_PKTCDVD=m -CONFIG_CDROM_PKTCDVD_BUFFERS=8 -# CONFIG_CDROM_PKTCDVD_WCACHE is not set - -## -## file: drivers/char/Kconfig -## -CONFIG_SGI_SNSC=y -CONFIG_SGI_TIOCX=y -CONFIG_SGI_MBCS=m -CONFIG_PRINTER=m -# CONFIG_LP_CONSOLE is not set -CONFIG_PPDEV=m -CONFIG_DTLK=m -CONFIG_APPLICOM=m -CONFIG_RAW_DRIVER=m -CONFIG_MAX_RAW_DEVS=256 -CONFIG_HPET=y -# CONFIG_HPET_MMAP is not set -CONFIG_MMTIMER=m - -## -## file: drivers/char/agp/Kconfig -## -#. Workaround -CONFIG_AGP=y -#. Workaround -CONFIG_AGP_I460=y -#. Workaround -CONFIG_AGP_HP_ZX1=y -#. Workaround -CONFIG_AGP_SGI_TIOCA=y - -## -## file: drivers/char/ipmi/Kconfig -## -CONFIG_IPMI_HANDLER=m -# CONFIG_IPMI_PANIC_EVENT is not set -CONFIG_IPMI_DEVICE_INTERFACE=m -CONFIG_IPMI_SI=m -CONFIG_IPMI_WATCHDOG=m -CONFIG_IPMI_POWEROFF=m - -## -## file: drivers/cpufreq/Kconfig -## -CONFIG_IA64_ACPI_CPUFREQ=m - -## -## file: drivers/firmware/Kconfig -## -CONFIG_DMIID=y - -## -## file: drivers/firmware/efi/Kconfig -## -CONFIG_EFI_VARS=y - -## -## file: drivers/gpu/drm/Kconfig -## -CONFIG_DRM=m -CONFIG_DRM_TDFX=m -CONFIG_DRM_R128=m -CONFIG_DRM_RADEON=m -CONFIG_DRM_MGA=m -CONFIG_DRM_SIS=m - -## -## file: drivers/gpu/drm/i2c/Kconfig -## -CONFIG_DRM_I2C_CH7006=m -CONFIG_DRM_I2C_SIL164=m - -## -## file: drivers/gpu/drm/nouveau/Kconfig -## -CONFIG_DRM_NOUVEAU=m -# CONFIG_DRM_NOUVEAU_BACKLIGHT is not set - -## -## file: drivers/hid/usbhid/Kconfig -## -CONFIG_USB_HID=m -# CONFIG_HID_PID is not set - -## -## file: drivers/hwmon/Kconfig -## -CONFIG_SENSORS_ADM1021=m -CONFIG_SENSORS_ADM1025=m -CONFIG_SENSORS_ADM1026=m -CONFIG_SENSORS_ADM1031=m -CONFIG_SENSORS_ASB100=m -CONFIG_SENSORS_DS1621=m -CONFIG_SENSORS_F71805F=m -CONFIG_SENSORS_GL518SM=m -CONFIG_SENSORS_GL520SM=m -CONFIG_SENSORS_IT87=m -CONFIG_SENSORS_MAX1619=m -CONFIG_SENSORS_LM63=m -CONFIG_SENSORS_LM75=m -CONFIG_SENSORS_LM77=m -CONFIG_SENSORS_LM78=m -CONFIG_SENSORS_LM80=m -CONFIG_SENSORS_LM83=m -CONFIG_SENSORS_LM85=m -CONFIG_SENSORS_LM87=m -CONFIG_SENSORS_LM90=m -CONFIG_SENSORS_LM92=m -CONFIG_SENSORS_PC87360=m -CONFIG_SENSORS_PCF8591=m -CONFIG_SENSORS_SIS5595=m -CONFIG_SENSORS_SMSC47M1=m -CONFIG_SENSORS_SMSC47B397=m -CONFIG_SENSORS_VIA686A=m -CONFIG_SENSORS_W83781D=m -CONFIG_SENSORS_W83L785TS=m -CONFIG_SENSORS_W83627HF=m - -## -## file: drivers/i2c/Kconfig -## -CONFIG_I2C=m -CONFIG_I2C_CHARDEV=m -CONFIG_I2C_STUB=m -# CONFIG_I2C_DEBUG_CORE is not set -# CONFIG_I2C_DEBUG_ALGO is not set -# CONFIG_I2C_DEBUG_BUS is not set - -## -## file: drivers/i2c/busses/Kconfig -## -CONFIG_I2C_ALI1535=m -CONFIG_I2C_ALI1563=m -CONFIG_I2C_ALI15X3=m -CONFIG_I2C_AMD756=m -CONFIG_I2C_AMD756_S4882=m -CONFIG_I2C_AMD8111=m -CONFIG_I2C_I801=m -CONFIG_I2C_PIIX4=m -CONFIG_I2C_NFORCE2=m -CONFIG_I2C_SIS5595=m -CONFIG_I2C_SIS630=m -CONFIG_I2C_SIS96X=m -CONFIG_I2C_VIA=m -CONFIG_I2C_VIAPRO=m -CONFIG_I2C_PARPORT=m -CONFIG_I2C_PARPORT_LIGHT=m -CONFIG_I2C_PCA_ISA=m -CONFIG_SCx200_ACB=m - -## -## file: drivers/ide/Kconfig -## -CONFIG_IDE=m -CONFIG_IDE_GD=m -# CONFIG_BLK_DEV_IDECS is not set -CONFIG_BLK_DEV_IDECD=m -CONFIG_BLK_DEV_IDETAPE=m -# CONFIG_IDE_GENERIC is not set -# CONFIG_BLK_DEV_IDEPNP is not set -# CONFIG_BLK_DEV_GENERIC is not set -# CONFIG_BLK_DEV_OPTI621 is not set -# CONFIG_BLK_DEV_AEC62XX is not set -# CONFIG_BLK_DEV_ALI15X3 is not set -# CONFIG_BLK_DEV_AMD74XX is not set -# CONFIG_BLK_DEV_CMD64X is not set -# CONFIG_BLK_DEV_TRIFLEX is not set -# CONFIG_BLK_DEV_CS5520 is not set -# CONFIG_BLK_DEV_HPT366 is not set -# CONFIG_BLK_DEV_SC1200 is not set -# CONFIG_BLK_DEV_PIIX is not set -# CONFIG_BLK_DEV_NS87415 is not set -# CONFIG_BLK_DEV_PDC202XX_OLD is not set -# CONFIG_BLK_DEV_PDC202XX_NEW is not set -# CONFIG_BLK_DEV_SVWKS is not set -CONFIG_BLK_DEV_SGIIOC4=m -# CONFIG_BLK_DEV_SIIMAGE is not set -# CONFIG_BLK_DEV_SLC90E66 is not set -CONFIG_BLK_DEV_TRM290=m -# CONFIG_BLK_DEV_VIA82CXXX is not set - -## -## file: drivers/input/gameport/Kconfig -## -CONFIG_GAMEPORT=m -CONFIG_GAMEPORT_NS558=m -CONFIG_GAMEPORT_L4=m -CONFIG_GAMEPORT_EMU10K1=m -CONFIG_GAMEPORT_FM801=m - -## -## file: drivers/input/joystick/Kconfig -## -CONFIG_INPUT_JOYSTICK=y - -## -## file: drivers/input/keyboard/Kconfig -## -CONFIG_INPUT_KEYBOARD=y -CONFIG_KEYBOARD_ATKBD=y -CONFIG_KEYBOARD_LKKBD=m -CONFIG_KEYBOARD_NEWTON=m -CONFIG_KEYBOARD_SUNKBD=m -CONFIG_KEYBOARD_XTKBD=m - -## -## file: drivers/input/misc/Kconfig -## -CONFIG_INPUT_MISC=y -CONFIG_INPUT_UINPUT=m - -## -## file: drivers/input/mouse/Kconfig -## -CONFIG_INPUT_MOUSE=y -CONFIG_MOUSE_PS2=m -CONFIG_MOUSE_SERIAL=m -CONFIG_MOUSE_VSXXXAA=m - -## -## file: drivers/input/serio/Kconfig -## -CONFIG_SERIO=y -CONFIG_SERIO_I8042=y -CONFIG_SERIO_SERPORT=m -CONFIG_SERIO_PARKBD=m -CONFIG_SERIO_PCIPS2=m -CONFIG_SERIO_LIBPS2=y -CONFIG_SERIO_RAW=m - -## -## file: drivers/input/touchscreen/Kconfig -## -# CONFIG_INPUT_TOUCHSCREEN is not set - -## -## file: drivers/isdn/Kconfig -## -CONFIG_ISDN=y -CONFIG_ISDN_CAPI=m - -## -## file: drivers/isdn/capi/Kconfig -## -CONFIG_ISDN_CAPI_CAPI20=m -# CONFIG_ISDN_CAPI_MIDDLEWARE is not set - -## -## file: drivers/isdn/hardware/avm/Kconfig -## -CONFIG_CAPI_AVM=y -CONFIG_ISDN_DRV_AVMB1_B1PCI=m -CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y -CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m -CONFIG_ISDN_DRV_AVMB1_AVM_CS=m -CONFIG_ISDN_DRV_AVMB1_T1PCI=m -CONFIG_ISDN_DRV_AVMB1_C4=m - -## -## file: drivers/isdn/hardware/eicon/Kconfig -## -CONFIG_CAPI_EICON=y -CONFIG_ISDN_DIVAS=m -CONFIG_ISDN_DIVAS_BRIPCI=y -CONFIG_ISDN_DIVAS_PRIPCI=y -CONFIG_ISDN_DIVAS_DIVACAPI=m -CONFIG_ISDN_DIVAS_USERIDI=m -CONFIG_ISDN_DIVAS_MAINT=m - -## -## file: drivers/media/radio/Kconfig -## -CONFIG_USB_DSBR=m -CONFIG_RADIO_MAXIRADIO=m - -## -## file: drivers/mmc/Kconfig -## -CONFIG_MMC=m -# CONFIG_MMC_DEBUG is not set - -## -## file: drivers/mmc/card/Kconfig -## -CONFIG_MMC_BLOCK=m - -## -## file: drivers/net/Kconfig -## -CONFIG_NET_FC=y -CONFIG_NET_SB1000=m - -## -## file: drivers/net/arcnet/Kconfig -## -CONFIG_ARCNET=m -CONFIG_ARCNET_1201=m -CONFIG_ARCNET_1051=m -CONFIG_ARCNET_RAW=m -CONFIG_ARCNET_CAP=m -CONFIG_ARCNET_COM90xx=m -CONFIG_ARCNET_COM90xxIO=m -CONFIG_ARCNET_RIM_I=m -CONFIG_ARCNET_COM20020=m -CONFIG_ARCNET_COM20020_PCI=m -CONFIG_ARCNET_COM20020_CS=m - -## -## file: drivers/net/ethernet/Kconfig -## -CONFIG_FEALNX=m - -## -## file: drivers/net/ethernet/3com/Kconfig -## -CONFIG_NET_VENDOR_3COM=y -CONFIG_PCMCIA_3C574=m -CONFIG_PCMCIA_3C589=m -CONFIG_VORTEX=m -CONFIG_TYPHOON=m - -## -## file: drivers/net/ethernet/8390/Kconfig -## -CONFIG_PCMCIA_AXNET=m -CONFIG_NE2K_PCI=m -CONFIG_PCMCIA_PCNET=m - -## -## file: drivers/net/ethernet/adaptec/Kconfig -## -CONFIG_ADAPTEC_STARFIRE=m - -## -## file: drivers/net/ethernet/amd/Kconfig -## -CONFIG_AMD8111_ETH=m -CONFIG_PCMCIA_NMCLAN=m - -## -## file: drivers/net/ethernet/broadcom/Kconfig -## -CONFIG_B44=m - -## -## file: drivers/net/ethernet/dec/tulip/Kconfig -## -CONFIG_NET_TULIP=y -CONFIG_DE2104X=m -CONFIG_TULIP=m -# CONFIG_TULIP_MWI is not set -# CONFIG_TULIP_MMIO is not set -CONFIG_WINBOND_840=m -CONFIG_DM9102=m -CONFIG_PCMCIA_XIRCOM=m - -## -## file: drivers/net/ethernet/dlink/Kconfig -## -CONFIG_SUNDANCE=m -# CONFIG_SUNDANCE_MMIO is not set - -## -## file: drivers/net/ethernet/fujitsu/Kconfig -## -CONFIG_PCMCIA_FMVJ18X=m - -## -## file: drivers/net/ethernet/hp/Kconfig -## -# CONFIG_HP100 is not set - -## -## file: drivers/net/ethernet/intel/Kconfig -## -CONFIG_E100=m - -## -## file: drivers/net/ethernet/natsemi/Kconfig -## -CONFIG_NATSEMI=m - -## -## file: drivers/net/ethernet/nvidia/Kconfig -## -CONFIG_FORCEDETH=m - -## -## file: drivers/net/ethernet/realtek/Kconfig -## -CONFIG_8139CP=m -CONFIG_8139TOO=m -# CONFIG_8139TOO_PIO is not set -# CONFIG_8139TOO_TUNE_TWISTER is not set -# CONFIG_8139TOO_8129 is not set -# CONFIG_8139_OLD_RX_RESET is not set - -## -## file: drivers/net/ethernet/sis/Kconfig -## -CONFIG_SIS900=m - -## -## file: drivers/net/ethernet/smsc/Kconfig -## -CONFIG_PCMCIA_SMC91C92=m -CONFIG_EPIC100=m - -## -## file: drivers/net/ethernet/via/Kconfig -## -CONFIG_VIA_RHINE=m -# CONFIG_VIA_RHINE_MMIO is not set - -## -## file: drivers/net/ethernet/xircom/Kconfig -## -CONFIG_PCMCIA_XIRC2PS=m - -## -## file: drivers/net/fddi/Kconfig -## -CONFIG_FDDI=y -CONFIG_SKFP=m - -## -## file: drivers/net/hippi/Kconfig -## -# CONFIG_HIPPI is not set - -## -## file: drivers/net/irda/Kconfig -## -CONFIG_IRTTY_SIR=m -CONFIG_USB_IRDA=m -CONFIG_SIGMATEL_FIR=m -CONFIG_VLSI_FIR=m - -## -## file: drivers/net/plip/Kconfig -## -CONFIG_PLIP=m - -## -## file: drivers/net/wan/Kconfig -## -CONFIG_WAN=y -CONFIG_LANMEDIA=m -CONFIG_PCI200SYN=m -CONFIG_WANXL=m -CONFIG_FARSYNC=m -CONFIG_DSCC4=m -# CONFIG_DSCC4_PCISYNC is not set -# CONFIG_DSCC4_PCI_RST is not set -CONFIG_DLCI=m -CONFIG_DLCI_MAX=8 - -## -## file: drivers/net/wireless/Kconfig -## -CONFIG_PCMCIA_RAYCS=m -CONFIG_ATMEL=m -CONFIG_PCI_ATMEL=m -CONFIG_PCMCIA_ATMEL=m -CONFIG_AIRO_CS=m -CONFIG_PCMCIA_WL3501=m -CONFIG_USB_ZD1201=m - -## -## file: drivers/net/wireless/ipw2x00/Kconfig -## -CONFIG_IPW2100=m -CONFIG_IPW2100_MONITOR=y - -## -## file: drivers/net/wireless/mwifiex/Kconfig -## -CONFIG_MWIFIEX=m -CONFIG_MWIFIEX_SDIO=m -CONFIG_MWIFIEX_PCIE=m - -## -## file: drivers/net/wireless/orinoco/Kconfig -## -CONFIG_HERMES=m -CONFIG_PLX_HERMES=m -CONFIG_TMD_HERMES=m -CONFIG_PCI_HERMES=m -CONFIG_PCMCIA_HERMES=m -CONFIG_PCMCIA_SPECTRUM=m - -## -## file: drivers/pci/hotplug/Kconfig -## -CONFIG_HOTPLUG_PCI=y -CONFIG_HOTPLUG_PCI_SGI=y - -## -## file: drivers/pcmcia/Kconfig -## -CONFIG_PCCARD=m -CONFIG_PCMCIA=m -CONFIG_CARDBUS=y -CONFIG_YENTA=m -CONFIG_PD6729=m -CONFIG_I82092=m - -## -## file: drivers/rtc/Kconfig -## -CONFIG_RTC_DRV_EFI=y - -## -## file: drivers/scsi/Kconfig -## -CONFIG_SCSI_ARCMSR=m -CONFIG_SCSI_DMX3191D=m -CONFIG_SCSI_IPS=m -CONFIG_SCSI_INITIO=m -CONFIG_SCSI_INIA100=m -CONFIG_SCSI_SYM53C8XX_2=m -CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 -CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 -CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 -CONFIG_SCSI_IPR=m -CONFIG_SCSI_IPR_TRACE=y -CONFIG_SCSI_IPR_DUMP=y -CONFIG_SCSI_QLOGIC_1280=m -CONFIG_SCSI_DC395x=m -CONFIG_SCSI_AM53C974=m - -## -## file: drivers/scsi/megaraid/Kconfig.megaraid -## -CONFIG_MEGARAID_NEWGEN=y -CONFIG_MEGARAID_MM=m -CONFIG_MEGARAID_MAILBOX=m -CONFIG_MEGARAID_LEGACY=m - -## -## file: drivers/scsi/pcmcia/Kconfig -## -CONFIG_PCMCIA_FDOMAIN=m -CONFIG_PCMCIA_QLOGIC=m -CONFIG_PCMCIA_SYM53C500=m - -## -## file: drivers/sn/Kconfig -## -CONFIG_SGI_IOC3=m - -## -## file: drivers/staging/wlan-ng/Kconfig -## -# CONFIG_PRISM2_USB is not set - -## -## file: drivers/tty/Kconfig -## -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -CONFIG_SERIAL_NONSTANDARD=y -CONFIG_ROCKETPORT=m -# CONFIG_CYCLADES is not set -CONFIG_MOXA_INTELLIO=m -# CONFIG_MOXA_SMARTIO is not set -CONFIG_SYNCLINKMP=m -# CONFIG_ISI is not set -CONFIG_N_HDLC=m - -## -## file: drivers/tty/serial/Kconfig -## -CONFIG_SERIAL_SGI_L1_CONSOLE=y -CONFIG_SERIAL_JSM=m -CONFIG_SERIAL_SGI_IOC4=m -CONFIG_SERIAL_SGI_IOC3=m - -## -## file: drivers/tty/serial/8250/Kconfig -## -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_CS=m -CONFIG_SERIAL_8250_NR_UARTS=32 -CONFIG_SERIAL_8250_RUNTIME_UARTS=4 -CONFIG_SERIAL_8250_EXTENDED=y -CONFIG_SERIAL_8250_SHARE_IRQ=y -# CONFIG_SERIAL_8250_DETECT_IRQ is not set -CONFIG_SERIAL_8250_RSA=y - -## -## file: drivers/usb/Kconfig -## -CONFIG_USB=m -CONFIG_USB_USS720=m - -## -## file: drivers/usb/host/Kconfig -## -CONFIG_USB_EHCI_HCD=m -CONFIG_USB_OHCI_HCD=m -CONFIG_USB_UHCI_HCD=m -CONFIG_USB_SL811_HCD=m -CONFIG_USB_SL811_CS=m - -## -## file: drivers/video/console/Kconfig -## -CONFIG_VGA_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE=y - -## -## file: drivers/video/fbdev/Kconfig -## -CONFIG_FB=y -CONFIG_FB_MODE_HELPERS=y -CONFIG_FB_TILEBLITTING=y -CONFIG_FB_CIRRUS=m -CONFIG_FB_PM2=m -# CONFIG_FB_PM2_FIFO_DISCONNECT is not set -CONFIG_FB_CYBER2000=m -CONFIG_FB_ASILIANT=y -# CONFIG_FB_IMSTT is not set -CONFIG_FB_S1D13XXX=m -CONFIG_FB_MATROX=m -CONFIG_FB_MATROX_MILLENIUM=y -CONFIG_FB_MATROX_MYSTIQUE=y -CONFIG_FB_MATROX_G=y -CONFIG_FB_MATROX_I2C=m -CONFIG_FB_MATROX_MAVEN=m -CONFIG_FB_RADEON=m -CONFIG_FB_RADEON_I2C=y -# CONFIG_FB_RADEON_DEBUG is not set -CONFIG_FB_ATY128=m -CONFIG_FB_ATY=m -CONFIG_FB_ATY_CT=y -CONFIG_FB_ATY_GENERIC_LCD=y -CONFIG_FB_ATY_GX=y -CONFIG_FB_SAVAGE=m -CONFIG_FB_SAVAGE_I2C=y -# CONFIG_FB_SAVAGE_ACCEL is not set -CONFIG_FB_SIS=m -CONFIG_FB_SIS_300=y -CONFIG_FB_SIS_315=y -CONFIG_FB_NEOMAGIC=m -CONFIG_FB_KYRO=m -CONFIG_FB_VOODOO1=m -CONFIG_FB_TRIDENT=m -# CONFIG_FB_VIRTUAL is not set - -## -## file: fs/pstore/Kconfig -## -CONFIG_PSTORE=y - -## -## file: lib/xz/Kconfig -## -CONFIG_XZ_DEC_IA64=y - -## -## file: net/ax25/Kconfig -## -CONFIG_HAMRADIO=y - -## -## file: net/ipv6/Kconfig -## -CONFIG_IPV6=y - -## -## file: net/irda/Kconfig -## -CONFIG_IRDA=m -CONFIG_IRDA_ULTRA=y -CONFIG_IRDA_CACHE_LAST_LSAP=y -CONFIG_IRDA_FAST_RR=y - -## -## file: net/irda/ircomm/Kconfig -## -CONFIG_IRCOMM=m - -## -## file: net/irda/irlan/Kconfig -## -CONFIG_IRLAN=m - -## -## file: net/irda/irnet/Kconfig -## -CONFIG_IRNET=m - -## -## file: security/Kconfig -## -CONFIG_LSM_MMAP_MIN_ADDR=65536 - -## -## file: sound/drivers/Kconfig -## -CONFIG_SND_DUMMY=m -CONFIG_SND_VIRMIDI=m -CONFIG_SND_MTPAV=m -CONFIG_SND_SERIAL_U16550=m -CONFIG_SND_MPU401=m - -## -## file: sound/pci/Kconfig -## -CONFIG_SND_ALS4000=m -CONFIG_SND_ALI5451=m -CONFIG_SND_ATIIXP=m -CONFIG_SND_ATIIXP_MODEM=m -CONFIG_SND_AU8810=m -CONFIG_SND_AU8820=m -CONFIG_SND_AU8830=m -CONFIG_SND_AZT3328=m -CONFIG_SND_BT87X=m -# CONFIG_SND_BT87X_OVERCLOCK is not set -CONFIG_SND_CA0106=m -CONFIG_SND_CMIPCI=m -CONFIG_SND_CS4281=m -CONFIG_SND_CS46XX=m -CONFIG_SND_CS46XX_NEW_DSP=y -CONFIG_SND_EMU10K1=m -CONFIG_SND_EMU10K1X=m -CONFIG_SND_ENS1370=m -CONFIG_SND_ENS1371=m -CONFIG_SND_ES1938=m -CONFIG_SND_ES1968=m -CONFIG_SND_FM801=m -CONFIG_SND_FM801_TEA575X_BOOL=y -CONFIG_SND_HDSP=m -CONFIG_SND_ICE1712=m -CONFIG_SND_ICE1724=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m -CONFIG_SND_KORG1212=m -CONFIG_SND_MAESTRO3=m -CONFIG_SND_MIXART=m -CONFIG_SND_NM256=m -CONFIG_SND_RME32=m -CONFIG_SND_RME96=m -CONFIG_SND_RME9652=m -CONFIG_SND_SONICVIBES=m -CONFIG_SND_TRIDENT=m -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m -CONFIG_SND_VX222=m -CONFIG_SND_YMFPCI=m - -## -## file: sound/pci/hda/Kconfig -## -CONFIG_SND_HDA_INTEL=m - diff --git a/debian/config/ia64/config.itanium b/debian/config/ia64/config.itanium deleted file mode 100644 index e683b846b..000000000 --- a/debian/config/ia64/config.itanium +++ /dev/null @@ -1,11 +0,0 @@ -## -## file: arch/ia64/Kconfig -## -## choice: Processor type -CONFIG_ITANIUM=y -# CONFIG_MCKINLEY is not set -## end choice -CONFIG_SMP=y -CONFIG_NR_CPUS=64 -# CONFIG_SCHED_SMT is not set - diff --git a/debian/config/ia64/config.mckinley b/debian/config/ia64/config.mckinley deleted file mode 100644 index 6da85354e..000000000 --- a/debian/config/ia64/config.mckinley +++ /dev/null @@ -1,11 +0,0 @@ -## -## file: arch/ia64/Kconfig -## -## choice: Processor type -# CONFIG_ITANIUM is not set -CONFIG_MCKINLEY=y -## end choice -CONFIG_SMP=y -CONFIG_NR_CPUS=64 -# CONFIG_SCHED_SMT is not set - diff --git a/debian/config/ia64/defines b/debian/config/ia64/defines deleted file mode 100644 index 2776b2680..000000000 --- a/debian/config/ia64/defines +++ /dev/null @@ -1,20 +0,0 @@ -[base] -flavours: - itanium - mckinley -kernel-arch: ia64 -compiler: gcc-4.6 - -[build] -image-file: vmlinux.gz - -[image] -bootloaders: elilo -suggests: fdutils -install-stem: vmlinuz - -[itanium_description] -hardware: Itanium - -[mckinley_description] -hardware: Itanium II diff --git a/debian/installer/ia64/TODO b/debian/installer/ia64/TODO deleted file mode 100644 index d02dd6c7d..000000000 --- a/debian/installer/ia64/TODO +++ /dev/null @@ -1,3 +0,0 @@ -* The 2.6 kernel is missing a lot of modules, need to get a list of all - modules included in the udebs, and compare vs. the full module list and - add missing stuff. diff --git a/debian/installer/ia64/kernel-versions b/debian/installer/ia64/kernel-versions deleted file mode 100644 index 24043ff95..000000000 --- a/debian/installer/ia64/kernel-versions +++ /dev/null @@ -1,2 +0,0 @@ -# arch version flavour installedname suffix build-depends -ia64 - itanium - - - diff --git a/debian/installer/ia64/modules/ia64/ata-modules b/debian/installer/ia64/modules/ia64/ata-modules deleted file mode 100644 index b81c0f38b..000000000 --- a/debian/installer/ia64/modules/ia64/ata-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/ia64/modules/ia64/btrfs-modules b/debian/installer/ia64/modules/ia64/btrfs-modules deleted file mode 100644 index e261e1388..000000000 --- a/debian/installer/ia64/modules/ia64/btrfs-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/ia64/modules/ia64/cdrom-core-modules b/debian/installer/ia64/modules/ia64/cdrom-core-modules deleted file mode 100644 index 2c6b1565d..000000000 --- a/debian/installer/ia64/modules/ia64/cdrom-core-modules +++ /dev/null @@ -1,2 +0,0 @@ -#include -ide-cd_mod diff --git a/debian/installer/ia64/modules/ia64/core-modules b/debian/installer/ia64/modules/ia64/core-modules deleted file mode 100644 index f05d06298..000000000 --- a/debian/installer/ia64/modules/ia64/core-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/ia64/modules/ia64/crc-modules b/debian/installer/ia64/modules/ia64/crc-modules deleted file mode 100644 index a642ead8b..000000000 --- a/debian/installer/ia64/modules/ia64/crc-modules +++ /dev/null @@ -1,2 +0,0 @@ -#include - diff --git a/debian/installer/ia64/modules/ia64/crypto-dm-modules b/debian/installer/ia64/modules/ia64/crypto-dm-modules deleted file mode 100644 index 4c8f2354c..000000000 --- a/debian/installer/ia64/modules/ia64/crypto-dm-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/ia64/modules/ia64/crypto-modules b/debian/installer/ia64/modules/ia64/crypto-modules deleted file mode 100644 index 3a1e862b4..000000000 --- a/debian/installer/ia64/modules/ia64/crypto-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/ia64/modules/ia64/event-modules b/debian/installer/ia64/modules/ia64/event-modules deleted file mode 100644 index f8819afd3..000000000 --- a/debian/installer/ia64/modules/ia64/event-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/ia64/modules/ia64/ext4-modules b/debian/installer/ia64/modules/ia64/ext4-modules deleted file mode 100644 index 394c577ce..000000000 --- a/debian/installer/ia64/modules/ia64/ext4-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/ia64/modules/ia64/fat-modules b/debian/installer/ia64/modules/ia64/fat-modules deleted file mode 100644 index 274584eb6..000000000 --- a/debian/installer/ia64/modules/ia64/fat-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/ia64/modules/ia64/fb-modules b/debian/installer/ia64/modules/ia64/fb-modules deleted file mode 100644 index 1442c89f9..000000000 --- a/debian/installer/ia64/modules/ia64/fb-modules +++ /dev/null @@ -1,2 +0,0 @@ -fbcon ? -vgastate diff --git a/debian/installer/ia64/modules/ia64/firewire-core-modules b/debian/installer/ia64/modules/ia64/firewire-core-modules deleted file mode 100644 index 8e5fff165..000000000 --- a/debian/installer/ia64/modules/ia64/firewire-core-modules +++ /dev/null @@ -1,2 +0,0 @@ -#include - diff --git a/debian/installer/ia64/modules/ia64/fuse-modules b/debian/installer/ia64/modules/ia64/fuse-modules deleted file mode 100644 index 0b6ba0c8c..000000000 --- a/debian/installer/ia64/modules/ia64/fuse-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/ia64/modules/ia64/ide-core-modules b/debian/installer/ia64/modules/ia64/ide-core-modules deleted file mode 100644 index 96284d155..000000000 --- a/debian/installer/ia64/modules/ia64/ide-core-modules +++ /dev/null @@ -1 +0,0 @@ -ide-core diff --git a/debian/installer/ia64/modules/ia64/ide-modules b/debian/installer/ia64/modules/ia64/ide-modules deleted file mode 100644 index 3bbc4df76..000000000 --- a/debian/installer/ia64/modules/ia64/ide-modules +++ /dev/null @@ -1,3 +0,0 @@ -ide-gd_mod -sgiioc4 -trm290 diff --git a/debian/installer/ia64/modules/ia64/input-modules b/debian/installer/ia64/modules/ia64/input-modules deleted file mode 100644 index 5ecb595a4..000000000 --- a/debian/installer/ia64/modules/ia64/input-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/ia64/modules/ia64/isofs-modules b/debian/installer/ia64/modules/ia64/isofs-modules deleted file mode 100644 index da4fa9a3c..000000000 --- a/debian/installer/ia64/modules/ia64/isofs-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/ia64/modules/ia64/jfs-modules b/debian/installer/ia64/modules/ia64/jfs-modules deleted file mode 100644 index 7e4d912b9..000000000 --- a/debian/installer/ia64/modules/ia64/jfs-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/ia64/modules/ia64/kernel-image b/debian/installer/ia64/modules/ia64/kernel-image deleted file mode 100644 index 1bb8bf6d7..000000000 --- a/debian/installer/ia64/modules/ia64/kernel-image +++ /dev/null @@ -1 +0,0 @@ -# empty diff --git a/debian/installer/ia64/modules/ia64/loop-modules b/debian/installer/ia64/modules/ia64/loop-modules deleted file mode 100644 index 164467713..000000000 --- a/debian/installer/ia64/modules/ia64/loop-modules +++ /dev/null @@ -1,2 +0,0 @@ -#include - diff --git a/debian/installer/ia64/modules/ia64/md-modules b/debian/installer/ia64/modules/ia64/md-modules deleted file mode 100644 index ade088ddb..000000000 --- a/debian/installer/ia64/modules/ia64/md-modules +++ /dev/null @@ -1,2 +0,0 @@ -#include - diff --git a/debian/installer/ia64/modules/ia64/mouse-modules b/debian/installer/ia64/modules/ia64/mouse-modules deleted file mode 100644 index 15fcb00ea..000000000 --- a/debian/installer/ia64/modules/ia64/mouse-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/ia64/modules/ia64/multipath-modules b/debian/installer/ia64/modules/ia64/multipath-modules deleted file mode 100644 index a8b69b253..000000000 --- a/debian/installer/ia64/modules/ia64/multipath-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/ia64/modules/ia64/nbd-modules b/debian/installer/ia64/modules/ia64/nbd-modules deleted file mode 100644 index 3c9b3e5d4..000000000 --- a/debian/installer/ia64/modules/ia64/nbd-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/ia64/modules/ia64/nic-modules b/debian/installer/ia64/modules/ia64/nic-modules deleted file mode 100644 index 2512e8395..000000000 --- a/debian/installer/ia64/modules/ia64/nic-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/ia64/modules/ia64/nic-shared-modules b/debian/installer/ia64/modules/ia64/nic-shared-modules deleted file mode 100644 index cc84b14dc..000000000 --- a/debian/installer/ia64/modules/ia64/nic-shared-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/ia64/modules/ia64/nic-usb-modules b/debian/installer/ia64/modules/ia64/nic-usb-modules deleted file mode 100644 index c479669b4..000000000 --- a/debian/installer/ia64/modules/ia64/nic-usb-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/ia64/modules/ia64/ntfs-modules b/debian/installer/ia64/modules/ia64/ntfs-modules deleted file mode 100644 index ac1bc6a96..000000000 --- a/debian/installer/ia64/modules/ia64/ntfs-modules +++ /dev/null @@ -1 +0,0 @@ -ntfs diff --git a/debian/installer/ia64/modules/ia64/pata-modules b/debian/installer/ia64/modules/ia64/pata-modules deleted file mode 100644 index b0cd6337a..000000000 --- a/debian/installer/ia64/modules/ia64/pata-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/ia64/modules/ia64/pcmcia-modules b/debian/installer/ia64/modules/ia64/pcmcia-modules deleted file mode 100644 index d7a54f360..000000000 --- a/debian/installer/ia64/modules/ia64/pcmcia-modules +++ /dev/null @@ -1,4 +0,0 @@ -pcmcia -pcmcia_core -pd6729 -rsrc_nonstatic ? diff --git a/debian/installer/ia64/modules/ia64/ppp-modules b/debian/installer/ia64/modules/ia64/ppp-modules deleted file mode 100644 index f1ae9b3d1..000000000 --- a/debian/installer/ia64/modules/ia64/ppp-modules +++ /dev/null @@ -1,2 +0,0 @@ -#include - diff --git a/debian/installer/ia64/modules/ia64/sata-modules b/debian/installer/ia64/modules/ia64/sata-modules deleted file mode 100644 index 071cb860b..000000000 --- a/debian/installer/ia64/modules/ia64/sata-modules +++ /dev/null @@ -1,2 +0,0 @@ -#include - diff --git a/debian/installer/ia64/modules/ia64/scsi-core-modules b/debian/installer/ia64/modules/ia64/scsi-core-modules deleted file mode 100644 index dd65d6614..000000000 --- a/debian/installer/ia64/modules/ia64/scsi-core-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/ia64/modules/ia64/scsi-modules b/debian/installer/ia64/modules/ia64/scsi-modules deleted file mode 100644 index 781aeed8b..000000000 --- a/debian/installer/ia64/modules/ia64/scsi-modules +++ /dev/null @@ -1,3 +0,0 @@ -#include -#include -#include diff --git a/debian/installer/ia64/modules/ia64/serial-modules b/debian/installer/ia64/modules/ia64/serial-modules deleted file mode 100644 index 13dac04fe..000000000 --- a/debian/installer/ia64/modules/ia64/serial-modules +++ /dev/null @@ -1,3 +0,0 @@ -#include -ioc3_serial -ioc4_serial diff --git a/debian/installer/ia64/modules/ia64/sn-modules b/debian/installer/ia64/modules/ia64/sn-modules deleted file mode 100644 index 4274c5f89..000000000 --- a/debian/installer/ia64/modules/ia64/sn-modules +++ /dev/null @@ -1,2 +0,0 @@ -ioc3 -ioc4 diff --git a/debian/installer/ia64/modules/ia64/squashfs-modules b/debian/installer/ia64/modules/ia64/squashfs-modules deleted file mode 100644 index 42d77887a..000000000 --- a/debian/installer/ia64/modules/ia64/squashfs-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/ia64/modules/ia64/udf-modules b/debian/installer/ia64/modules/ia64/udf-modules deleted file mode 100644 index b90d7ee9b..000000000 --- a/debian/installer/ia64/modules/ia64/udf-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/ia64/modules/ia64/uinput-modules b/debian/installer/ia64/modules/ia64/uinput-modules deleted file mode 100644 index 58a833779..000000000 --- a/debian/installer/ia64/modules/ia64/uinput-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/ia64/modules/ia64/usb-modules b/debian/installer/ia64/modules/ia64/usb-modules deleted file mode 100644 index c598dedd8..000000000 --- a/debian/installer/ia64/modules/ia64/usb-modules +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/debian/installer/ia64/modules/ia64/usb-storage-modules b/debian/installer/ia64/modules/ia64/usb-storage-modules deleted file mode 100644 index 272d95e2e..000000000 --- a/debian/installer/ia64/modules/ia64/usb-storage-modules +++ /dev/null @@ -1,2 +0,0 @@ -#include - diff --git a/debian/installer/ia64/modules/ia64/xfs-modules b/debian/installer/ia64/modules/ia64/xfs-modules deleted file mode 100644 index c020b5d39..000000000 --- a/debian/installer/ia64/modules/ia64/xfs-modules +++ /dev/null @@ -1,2 +0,0 @@ -#include - diff --git a/debian/installer/ia64/package-list b/debian/installer/ia64/package-list deleted file mode 100644 index fd1dc0020..000000000 --- a/debian/installer/ia64/package-list +++ /dev/null @@ -1,37 +0,0 @@ -# This file is used to build up the control file. The kernel version and -# "-di" are appended to the package names. Section can be left out. So can -# architecture, which is derived from the files in the modules directory. -# It overwrites specifications from /usr/share/kernel-wedge/package-list. -# -Package: fat-modules -Priority: standard - -Package: ide-core-modules -Depends: kernel-image -Priority: standard -Description: IDE support - This package contains core IDE support for the kernel. - -Package: ide-modules -Depends: kernel-image, ide-core-modules, sn-modules -Priority: standard -Description: IDE drivers - This package contains IDE drivers for the kernel. - -Package: cdrom-core-modules -Depends: kernel-image, scsi-core-modules, ide-modules, isofs-modules - -Package: nic-modules -Depends: kernel-image, nic-shared-modules, core-modules, crc-modules - -Package: serial-modules -Depends: kernel-image, pcmcia-modules, sn-modules - -Package: sn-modules -Depends: kernel-image -Priority: extra -Description: SN modules - This package contains SN modules for Altix systems - -Package: kernel-image -Provides: efi-modules, zlib-modules diff --git a/debian/patches/debian/ia64-hardcode-arch-script-output.patch b/debian/patches/debian/ia64-hardcode-arch-script-output.patch deleted file mode 100644 index 7c3201300..000000000 --- a/debian/patches/debian/ia64-hardcode-arch-script-output.patch +++ /dev/null @@ -1,70 +0,0 @@ -From: dann frazier -Subject: Hardcode arch script output -Date: Mon, 26 Mar 2007 16:30:51 -0600 -Bug-Debian: https://bugs.debian.org/392592 -Forwarded: not-needed - -Here's a patch that simply uses hardcoded definitions instead of -doing the dynamic tests that require architecture-specific scripts. - -I don't particularly like this approach because it restricts -portability and diverts from upstream. But, it is simpler, and this -really needs to be fixed somehow before etch (along with a rebuild of -linux-modules-extra-2.6), so I'm willing to live with it if my other -patch is deemed unacceptable. - -My primary concern is that, in the future, the output of these scripts -will change and we (or our successors) will either not notice or -forget to update the hardcoded values. - -Including the scripts in linux-kbuild will avoid this manual step -altogether, and allow for the possibility of other archs to provide -their own scripts in the future. - ---- a/arch/ia64/Makefile -+++ b/arch/ia64/Makefile -@@ -30,16 +30,7 @@ cflags-y := -pipe $(EXTRA) -ffixed-r13 - - -falign-functions=32 -frename-registers -fno-optimize-sibling-calls - KBUILD_CFLAGS_KERNEL := -mconstant-gp - --GAS_STATUS = $(shell $(srctree)/arch/ia64/scripts/check-gas "$(CC)" "$(OBJDUMP)") --KBUILD_CPPFLAGS += $(shell $(srctree)/arch/ia64/scripts/toolchain-flags "$(CC)" "$(OBJDUMP)" "$(READELF)") -- --ifeq ($(GAS_STATUS),buggy) --$(error Sorry, you need a newer version of the assember, one that is built from \ -- a source-tree that post-dates 18-Dec-2002. You can find a pre-compiled \ -- static binary of such an assembler at: \ -- \ -- ftp://ftp.hpl.hp.com/pub/linux-ia64/gas-030124.tar.gz) --endif -+KBUILD_CPPFLAGS += -DHAVE_WORKING_TEXT_ALIGN -DHAVE_MODEL_SMALL_ATTRIBUTE -DHAVE_SERIALIZE_DIRECTIVE - - KBUILD_CFLAGS += $(cflags-y) - head-y := arch/ia64/kernel/head.o arch/ia64/kernel/init_task.o -@@ -66,7 +57,7 @@ boot := arch/ia64/hp/sim/boot - - PHONY += boot compressed check - --all: compressed unwcheck -+all: compressed - - compressed: vmlinux.gz - -@@ -75,9 +66,6 @@ vmlinuz: vmlinux.gz - vmlinux.gz: vmlinux - $(Q)$(MAKE) $(build)=$(boot) $@ - --unwcheck: vmlinux -- -$(Q)READELF=$(READELF) $(PYTHON) $(srctree)/arch/ia64/scripts/unwcheck.py $< -- - archclean: - $(Q)$(MAKE) $(clean)=$(boot) - -@@ -93,7 +81,6 @@ define archhelp - echo '* compressed - Build compressed kernel image' - echo ' install - Install compressed kernel image' - echo ' boot - Build vmlinux and bootloader for Ski simulator' -- echo '* unwcheck - Check vmlinux for invalid unwind info' - endef - - archprepare: make_nr_irqs_h FORCE diff --git a/debian/patches/series b/debian/patches/series index 67c516f4a..ec98c2482 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -3,7 +3,6 @@ debian/version.patch debian/uname-version-timestamp.patch debian/kernelvariables.patch debian/gitignore.patch -debian/ia64-hardcode-arch-script-output.patch debian/mips-disable-werror.patch debian/arch-sh4-fix-uimage-build.patch debian/powerpcspe-omit-uimage.patch diff --git a/debian/templates/image.plain.bug/include-model b/debian/templates/image.plain.bug/include-model index 532ac5717..60a711266 100644 --- a/debian/templates/image.plain.bug/include-model +++ b/debian/templates/image.plain.bug/include-model @@ -6,7 +6,7 @@ grep_model() { arm*) egrep '^(Processor|Hardware|Revision)\b' /proc/cpuinfo ;; - i386|ia64|x86_64) + i386|x86_64) local found= for name in {sys,product,chassis,bios,board}_{vendor,name,version}; do if [ -f /sys/class/dmi/id/$name ]; then From 84fd2d0c10c7568f0c81a3d10c80a65e43ce3260 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 25 Aug 2015 23:54:56 +0100 Subject: [PATCH 21/53] [s390x] Compile with gcc-4.9 (Closes: #796845) --- debian/changelog | 1 + debian/config/s390x/defines | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 3e8ce7bb7..e0adcbc5b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ linux (4.2~rc8-1~exp2) UNRELEASED; urgency=medium * Remove all support for ia64 (Closes: #679545, #691576, #728706) + * [s390x] Compile with gcc-4.9 (Closes: #796845) -- Ben Hutchings Tue, 25 Aug 2015 18:50:57 +0100 diff --git a/debian/config/s390x/defines b/debian/config/s390x/defines index fb66f34e2..21cca5435 100644 --- a/debian/config/s390x/defines +++ b/debian/config/s390x/defines @@ -2,8 +2,6 @@ flavours: s390x kernel-arch: s390 -# gcc 4.9 breaks access to virtual address 0 -compiler: gcc-4.8 [build] image-file: arch/s390/boot/image From 48cb343ec0934ea87dd0a734597cfa2249b04c66 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Wed, 26 Aug 2015 00:18:28 +0100 Subject: [PATCH 22/53] linux-source: Depend on xz-utils, not bzip2 (Closes: #796940) --- debian/changelog | 1 + debian/templates/control.main.in | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index e0adcbc5b..856ddca95 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,7 @@ linux (4.2~rc8-1~exp2) UNRELEASED; urgency=medium * Remove all support for ia64 (Closes: #679545, #691576, #728706) * [s390x] Compile with gcc-4.9 (Closes: #796845) + * linux-source: Depend on xz-utils, not bzip2 (Closes: #796940) -- Ben Hutchings Tue, 25 Aug 2015 18:50:57 +0100 diff --git a/debian/templates/control.main.in b/debian/templates/control.main.in index 0c250ccba..1663b5aeb 100644 --- a/debian/templates/control.main.in +++ b/debian/templates/control.main.in @@ -1,7 +1,7 @@ Package: linux-source-@version@ Architecture: all Section: kernel -Depends: binutils, bzip2, ${misc:Depends} +Depends: binutils, xz-utils, ${misc:Depends} Recommends: libc6-dev | libc-dev, gcc, make, bc Suggests: libncurses-dev | ncurses-dev, libqt4-dev, pkg-config Multi-Arch: foreign From d477438be7b784ef964cf012e0159452a244637d Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Wed, 26 Aug 2015 01:43:52 +0100 Subject: [PATCH 23/53] gfs2: Make statistics unsigned, suitable for use with do_div() Fixes FTBFS on mips,mipsel,m68k. --- debian/changelog | 2 + ...tics-unsigned-suitable-for-use-with-.patch | 128 ++++++++++++++++++ debian/patches/series | 2 + 3 files changed, 132 insertions(+) create mode 100644 debian/patches/bugfix/all/gfs2-make-statistics-unsigned-suitable-for-use-with-.patch diff --git a/debian/changelog b/debian/changelog index 856ddca95..7b2a8a8a9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,8 @@ linux (4.2~rc8-1~exp2) UNRELEASED; urgency=medium * Remove all support for ia64 (Closes: #679545, #691576, #728706) * [s390x] Compile with gcc-4.9 (Closes: #796845) * linux-source: Depend on xz-utils, not bzip2 (Closes: #796940) + * gfs2: Make statistics unsigned, suitable for use with do_div() + (fixes FTBFS on mips,mipsel,m68k) -- Ben Hutchings Tue, 25 Aug 2015 18:50:57 +0100 diff --git a/debian/patches/bugfix/all/gfs2-make-statistics-unsigned-suitable-for-use-with-.patch b/debian/patches/bugfix/all/gfs2-make-statistics-unsigned-suitable-for-use-with-.patch new file mode 100644 index 000000000..084de2dd4 --- /dev/null +++ b/debian/patches/bugfix/all/gfs2-make-statistics-unsigned-suitable-for-use-with-.patch @@ -0,0 +1,128 @@ +From: Ben Hutchings +Date: Wed, 26 Aug 2015 00:44:21 +0100 +Subject: gfs2: Make statistics unsigned, suitable for use with do_div() +Forwarded: http://mid.gmane.org/1440548464.26026.9.camel@decadent.org.uk + +None of these statistics can meaningfully be negative, and the +numerator for do_div() must have the type u64. The generic +implementation of do_div() used on some 32-bit architectures asserts +that, resulting in a compiler error in gfs2_rgrp_congested(). + +Fixes: 0166b197c2ed ("GFS2: Average in only non-zero round-trip times ...") +Signed-off-by: Ben Hutchings +--- + fs/gfs2/glock.c | 22 +++++++++++----------- + fs/gfs2/incore.h | 2 +- + fs/gfs2/rgrp.c | 8 ++++---- + fs/gfs2/trace_gfs2.h | 16 ++++++++-------- + 4 files changed, 24 insertions(+), 24 deletions(-) + +diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c +index a38e38f..1b6aebe 100644 +--- a/fs/gfs2/glock.c ++++ b/fs/gfs2/glock.c +@@ -1733,17 +1733,17 @@ static int gfs2_glstats_seq_show(struct seq_file *seq, void *iter_ptr) + { + struct gfs2_glock *gl = iter_ptr; + +- seq_printf(seq, "G: n:%u/%llx rtt:%lld/%lld rttb:%lld/%lld irt:%lld/%lld dcnt: %lld qcnt: %lld\n", ++ seq_printf(seq, "G: n:%u/%llx rtt:%llu/%llu rttb:%llu/%llu irt:%llu/%llu dcnt: %llu qcnt: %llu\n", + gl->gl_name.ln_type, + (unsigned long long)gl->gl_name.ln_number, +- (long long)gl->gl_stats.stats[GFS2_LKS_SRTT], +- (long long)gl->gl_stats.stats[GFS2_LKS_SRTTVAR], +- (long long)gl->gl_stats.stats[GFS2_LKS_SRTTB], +- (long long)gl->gl_stats.stats[GFS2_LKS_SRTTVARB], +- (long long)gl->gl_stats.stats[GFS2_LKS_SIRT], +- (long long)gl->gl_stats.stats[GFS2_LKS_SIRTVAR], +- (long long)gl->gl_stats.stats[GFS2_LKS_DCOUNT], +- (long long)gl->gl_stats.stats[GFS2_LKS_QCOUNT]); ++ (unsigned long long)gl->gl_stats.stats[GFS2_LKS_SRTT], ++ (unsigned long long)gl->gl_stats.stats[GFS2_LKS_SRTTVAR], ++ (unsigned long long)gl->gl_stats.stats[GFS2_LKS_SRTTB], ++ (unsigned long long)gl->gl_stats.stats[GFS2_LKS_SRTTVARB], ++ (unsigned long long)gl->gl_stats.stats[GFS2_LKS_SIRT], ++ (unsigned long long)gl->gl_stats.stats[GFS2_LKS_SIRTVAR], ++ (unsigned long long)gl->gl_stats.stats[GFS2_LKS_DCOUNT], ++ (unsigned long long)gl->gl_stats.stats[GFS2_LKS_QCOUNT]); + return 0; + } + +@@ -1780,7 +1780,7 @@ static int gfs2_sbstats_seq_show(struct seq_file *seq, void *iter_ptr) + struct gfs2_sbd *sdp = gi->sdp; + unsigned index = gi->hash >> 3; + unsigned subindex = gi->hash & 0x07; +- s64 value; ++ u64 value; + int i; + + if (index == 0 && subindex != 0) +@@ -1796,7 +1796,7 @@ static int gfs2_sbstats_seq_show(struct seq_file *seq, void *iter_ptr) + } else { + value = lkstats->lkstats[index - 1].stats[subindex]; + } +- seq_printf(seq, " %15lld", (long long)value); ++ seq_printf(seq, " %15llu", (long long)value); + } + seq_putc(seq, '\n'); + return 0; +diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h +index a1ec7c2..7647e31 100644 +--- a/fs/gfs2/incore.h ++++ b/fs/gfs2/incore.h +@@ -241,7 +241,7 @@ enum { + }; + + struct gfs2_lkstats { +- s64 stats[GFS2_NR_LKSTATS]; ++ u64 stats[GFS2_NR_LKSTATS]; + }; + + enum { +diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c +index c6c6232..2884f6f 100644 +--- a/fs/gfs2/rgrp.c ++++ b/fs/gfs2/rgrp.c +@@ -1862,11 +1862,11 @@ static bool gfs2_rgrp_congested(const struct gfs2_rgrpd *rgd, int loops) + const struct gfs2_glock *gl = rgd->rd_gl; + const struct gfs2_sbd *sdp = gl->gl_sbd; + struct gfs2_lkstats *st; +- s64 r_dcount, l_dcount; +- s64 l_srttb, a_srttb = 0; ++ u64 r_dcount, l_dcount; ++ u64 l_srttb, a_srttb = 0; + s64 srttb_diff; +- s64 sqr_diff; +- s64 var; ++ u64 sqr_diff; ++ u64 var; + int cpu, nonzero = 0; + + preempt_disable(); +diff --git a/fs/gfs2/trace_gfs2.h b/fs/gfs2/trace_gfs2.h +index 20c007d..03a7049 100644 +--- a/fs/gfs2/trace_gfs2.h ++++ b/fs/gfs2/trace_gfs2.h +@@ -267,14 +267,14 @@ TRACE_EVENT(gfs2_glock_lock_time, + __field( int, status ) + __field( char, flags ) + __field( s64, tdiff ) +- __field( s64, srtt ) +- __field( s64, srttvar ) +- __field( s64, srttb ) +- __field( s64, srttvarb ) +- __field( s64, sirt ) +- __field( s64, sirtvar ) +- __field( s64, dcount ) +- __field( s64, qcount ) ++ __field( u64, srtt ) ++ __field( u64, srttvar ) ++ __field( u64, srttb ) ++ __field( u64, srttvarb ) ++ __field( u64, sirt ) ++ __field( u64, sirtvar ) ++ __field( u64, dcount ) ++ __field( u64, qcount ) + ), + + TP_fast_assign( diff --git a/debian/patches/series b/debian/patches/series index ec98c2482..abc5a4331 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -85,3 +85,5 @@ features/all/grsecurity/grsecurity-kconfig.patch # Disabled until we add code into the grsecurity/ directory #features/all/grsecurity/grsecurity-kbuild.patch features/all/grsecurity/grkernsec_perf_harden.patch + +bugfix/all/gfs2-make-statistics-unsigned-suitable-for-use-with-.patch From 4915f8408802894d6aea4d955465c8edbacf6bfc Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Wed, 26 Aug 2015 01:50:39 +0100 Subject: [PATCH 24/53] [amd64] Enable KALLSYMS_ALL (Closes: #660288), LIVEPATCH --- debian/changelog | 1 + debian/config/kernelarch-x86/config-arch-64 | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/debian/changelog b/debian/changelog index 7b2a8a8a9..a4f8c5247 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,7 @@ linux (4.2~rc8-1~exp2) UNRELEASED; urgency=medium * linux-source: Depend on xz-utils, not bzip2 (Closes: #796940) * gfs2: Make statistics unsigned, suitable for use with do_div() (fixes FTBFS on mips,mipsel,m68k) + * [amd64] Enable KALLSYMS_ALL (Closes: #660288), LIVEPATCH -- Ben Hutchings Tue, 25 Aug 2015 18:50:57 +0100 diff --git a/debian/config/kernelarch-x86/config-arch-64 b/debian/config/kernelarch-x86/config-arch-64 index 89c041307..b61c21b0b 100644 --- a/debian/config/kernelarch-x86/config-arch-64 +++ b/debian/config/kernelarch-x86/config-arch-64 @@ -142,6 +142,12 @@ CONFIG_FB_MATROX_MAVEN=m ## file: init/Kconfig ## CONFIG_RCU_FANOUT=64 +CONFIG_KALLSYMS_ALL=y + +## +## file: kernel/livepatch/Kconfig +## +CONFIG_LIVEPATCH=y ## ## file: lib/Kconfig.debug From bbd5771c11dd272ea89a1bfc7d7a625efc5ff308 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Wed, 26 Aug 2015 02:00:47 +0100 Subject: [PATCH 25/53] Update config for symbol changes in 4.2 Re-enable various config options disabled by name changes: - SUNRPC_XPRT_RDMA replaced SUNRPC_XPRT_RDMA_{CLIENT,SERVER} - [mips*el/loongson*] LOONGSON64 replaced LOONGSON - [x86] COMEDI_8255_SA replaced COMEDI_8255 Drop explicit settings for symbols that are now automatic. --- debian/changelog | 4 ++++ debian/config/config | 22 ++++--------------- .../config/kernelarch-mips/config.loongson-2e | 4 ++-- .../config/kernelarch-mips/config.loongson-2f | 4 ++-- .../config/kernelarch-mips/config.loongson-3 | 4 ++-- debian/config/kernelarch-x86/config | 8 +++++-- 6 files changed, 20 insertions(+), 26 deletions(-) diff --git a/debian/changelog b/debian/changelog index a4f8c5247..15494bf48 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,10 @@ linux (4.2~rc8-1~exp2) UNRELEASED; urgency=medium * gfs2: Make statistics unsigned, suitable for use with do_div() (fixes FTBFS on mips,mipsel,m68k) * [amd64] Enable KALLSYMS_ALL (Closes: #660288), LIVEPATCH + * Re-enable various config options disabled by name changes in 4.2: + - SUNRPC_XPRT_RDMA replaced SUNRPC_XPRT_RDMA_{CLIENT,SERVER} + - [mips*el/loongson*] LOONGSON64 replaced LOONGSON + - [x86] COMEDI_8255_SA replaced COMEDI_8255 -- Ben Hutchings Tue, 25 Aug 2015 18:50:57 +0100 diff --git a/debian/config/config b/debian/config/config index 5e59efe00..f36a4ab66 100644 --- a/debian/config/config +++ b/debian/config/config @@ -265,8 +265,8 @@ CONFIG_ALLOW_DEV_COREDUMP=y ## CONFIG_BCMA=m CONFIG_BCMA_HOST_PCI=y -# CONFIG_BCMA_DRIVER_PCI_HOSTMODE is not set # CONFIG_BCMA_HOST_SOC is not set +# CONFIG_BCMA_DRIVER_PCI_HOSTMODE is not set # CONFIG_BCMA_DRIVER_GMAC_CMN is not set # CONFIG_BCMA_DRIVER_GPIO is not set # CONFIG_BCMA_DEBUG is not set @@ -312,7 +312,6 @@ CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m ## CONFIG_ZRAM=m CONFIG_ZRAM_LZ4_COMPRESS=y -# CONFIG_ZRAM_DEBUG is not set ## ## file: drivers/bluetooth/Kconfig @@ -2415,6 +2414,7 @@ CONFIG_MACVLAN=m CONFIG_MACVTAP=m CONFIG_IPVLAN=m CONFIG_VXLAN=m +CONFIG_GENEVE=m CONFIG_NETCONSOLE=m CONFIG_NETCONSOLE_DYNAMIC=y CONFIG_TUN=m @@ -3507,8 +3507,8 @@ CONFIG_PTP_1588_CLOCK_IXP46X=m ## CONFIG_RTC_CLASS=y CONFIG_RTC_HCTOSYS=y -CONFIG_RTC_SYSTOHC=y CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_SYSTOHC=y # CONFIG_RTC_DEBUG is not set CONFIG_RTC_INTF_SYSFS=y CONFIG_RTC_INTF_PROC=y @@ -3847,11 +3847,6 @@ CONFIG_STAGING=y ## # CONFIG_GS_FPGABOOT is not set -## -## file: drivers/staging/i2o/Kconfig -## -# CONFIG_I2O is not set - ## ## file: drivers/staging/iio/Kconfig ## @@ -5170,13 +5165,7 @@ CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_XACCT=y CONFIG_TASK_IO_ACCOUNTING=y -## choice: RCU Implementation -CONFIG_TREE_RCU=y -## end choice -# CONFIG_TASKS_RCU is not set -# CONFIG_RCU_USER_QS is not set CONFIG_RCU_FANOUT=32 -# CONFIG_RCU_FANOUT_EXACT is not set CONFIG_RCU_FAST_NO_HZ=y CONFIG_RCU_KTHREAD_PRIO=0 # CONFIG_IKCONFIG is not set @@ -5731,7 +5720,6 @@ CONFIG_SYN_COOKIES=y CONFIG_NET_IPVTI=m CONFIG_NET_FOU=m CONFIG_NET_FOU_IP_TUNNELS=y -CONFIG_GENEVE=m CONFIG_INET_AH=m CONFIG_INET_ESP=m CONFIG_INET_IPCOMP=m @@ -6225,8 +6213,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y ## CONFIG_RPCSEC_GSS_KRB5=m CONFIG_SUNRPC_DEBUG=y -CONFIG_SUNRPC_XPRT_RDMA_CLIENT=m -CONFIG_SUNRPC_XPRT_RDMA_SERVER=m +CONFIG_SUNRPC_XPRT_RDMA=m ## ## file: net/tipc/Kconfig @@ -6451,7 +6438,6 @@ CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=1 -CONFIG_SND_HDA_INPUT_JACK=y CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_CODEC_REALTEK=y CONFIG_SND_HDA_CODEC_ANALOG=y diff --git a/debian/config/kernelarch-mips/config.loongson-2e b/debian/config/kernelarch-mips/config.loongson-2e index 09bb6663b..f7d0ba70c 100644 --- a/debian/config/kernelarch-mips/config.loongson-2e +++ b/debian/config/kernelarch-mips/config.loongson-2e @@ -2,7 +2,7 @@ ## file: arch/mips/Kconfig ## ## choice: System type -CONFIG_MACH_LOONGSON=y +CONFIG_MACH_LOONGSON64=y ## end choice ## choice: Kernel code model # CONFIG_32BIT is not set @@ -13,7 +13,7 @@ CONFIG_MIPS32_O32=y CONFIG_MIPS32_N32=y ## -## file: arch/mips/loongson/Kconfig +## file: arch/mips/loongson64/Kconfig ## ## choice: Machine Type CONFIG_LEMOTE_FULOONG2E=y diff --git a/debian/config/kernelarch-mips/config.loongson-2f b/debian/config/kernelarch-mips/config.loongson-2f index dcb2b06da..ed919cedc 100644 --- a/debian/config/kernelarch-mips/config.loongson-2f +++ b/debian/config/kernelarch-mips/config.loongson-2f @@ -2,7 +2,7 @@ ## file: arch/mips/Kconfig ## ## choice: System type -CONFIG_MACH_LOONGSON=y +CONFIG_MACH_LOONGSON64=y ## end choice ## choice: Kernel code model # CONFIG_32BIT is not set @@ -13,7 +13,7 @@ CONFIG_MIPS32_O32=y CONFIG_MIPS32_N32=y ## -## file: arch/mips/loongson/Kconfig +## file: arch/mips/loongson64/Kconfig ## ## choice: Machine Type CONFIG_LEMOTE_MACH2F=y diff --git a/debian/config/kernelarch-mips/config.loongson-3 b/debian/config/kernelarch-mips/config.loongson-3 index ae35f67e0..68a480bb7 100644 --- a/debian/config/kernelarch-mips/config.loongson-3 +++ b/debian/config/kernelarch-mips/config.loongson-3 @@ -2,7 +2,7 @@ ## file: arch/mips/Kconfig ## ## choice: System type -CONFIG_MACH_LOONGSON=y +CONFIG_MACH_LOONGSON64=y ## end choice CONFIG_HOTPLUG_CPU=y ## choice: Kernel code model @@ -14,7 +14,7 @@ CONFIG_MIPS32_O32=y CONFIG_MIPS32_N32=y ## -## file: arch/mips/loongson/Kconfig +## file: arch/mips/loongson64/Kconfig ## ## choice: Machine Type CONFIG_LOONGSON_MACH3X=y diff --git a/debian/config/kernelarch-x86/config b/debian/config/kernelarch-x86/config index 8e2a87b7a..e4df259bb 100644 --- a/debian/config/kernelarch-x86/config +++ b/debian/config/kernelarch-x86/config @@ -257,7 +257,6 @@ CONFIG_CISS_SCSI_TAPE=y CONFIG_BLK_DEV_DAC960=m CONFIG_BLK_DEV_UMEM=m CONFIG_BLK_DEV_SX8=m -CONFIG_BLK_DEV_PMEM=m CONFIG_CDROM_PKTCDVD=m CONFIG_CDROM_PKTCDVD_BUFFERS=8 # CONFIG_CDROM_PKTCDVD_WCACHE is not set @@ -1214,6 +1213,11 @@ CONFIG_NFC_MEI_PHY=m CONFIG_NFC_PN544=m CONFIG_NFC_PN544_MEI=m +## +## file: drivers/nvdimm/Kconfig +## +CONFIG_BLK_DEV_PMEM=m + ## ## file: drivers/pci/Kconfig ## @@ -1470,7 +1474,7 @@ CONFIG_COMEDI_USBDUX=m CONFIG_COMEDI_USBDUXFAST=m CONFIG_COMEDI_USBDUXSIGMA=m CONFIG_COMEDI_VMK80XX=m -CONFIG_COMEDI_8255=m +CONFIG_COMEDI_8255_SA=m CONFIG_COMEDI_KCOMEDILIB=m ## From ef829fca1610f0d99ce27cbe136f46f80a722480 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Wed, 26 Aug 2015 18:14:11 +0100 Subject: [PATCH 26/53] [sparc] Remove linux-image, linux-header and udeb packages They are redundant with sparc64 and neither is an official port. --- debian/changelog | 2 ++ debian/config/sparc/defines | 31 ++----------------- debian/installer/sparc/kernel-versions | 2 -- debian/installer/sparc/package-list | 15 --------- debian/installer/sparc64/modules/sparc64 | 1 - .../modules/sparc64}/ata-modules | 0 .../modules/sparc64}/btrfs-modules | 0 .../modules/sparc64}/cdrom-core-modules | 0 .../modules/sparc64}/core-modules | 0 .../modules/sparc64}/crc-modules | 0 .../modules/sparc64}/crypto-dm-modules | 0 .../modules/sparc64}/crypto-modules | 0 .../modules/sparc64}/ext4-modules | 0 .../modules/sparc64}/fat-modules | 0 .../modules/sparc64}/fuse-modules | 0 .../modules/sparc64}/input-modules | 0 .../modules/sparc64}/isofs-modules | 0 .../modules/sparc64}/jfs-modules | 0 .../modules/sparc64}/kernel-image | 0 .../modules/sparc64}/md-modules | 0 .../modules/sparc64}/multipath-modules | 0 .../modules/sparc64}/nbd-modules | 0 .../modules/sparc64}/nic-modules | 0 .../modules/sparc64}/pata-modules | 0 .../modules/sparc64}/ppp-modules | 0 .../modules/sparc64}/sata-modules | 0 .../modules/sparc64}/scsi-common-modules | 0 .../modules/sparc64}/scsi-core-modules | 0 .../modules/sparc64}/scsi-modules | 0 .../modules/sparc64}/squashfs-modules | 0 .../modules/sparc64}/udf-modules | 0 .../modules/sparc64}/usb-modules | 0 .../modules/sparc64}/usb-storage-modules | 0 .../modules/sparc64}/virtio-modules | 0 .../modules/sparc64}/xfs-modules | 0 .../modules/sparc64}/zlib-modules | 0 debian/installer/sparc64/package-list | 16 +++++++++- 37 files changed, 19 insertions(+), 48 deletions(-) delete mode 100644 debian/installer/sparc/kernel-versions delete mode 100644 debian/installer/sparc/package-list delete mode 120000 debian/installer/sparc64/modules/sparc64 rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/ata-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/btrfs-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/cdrom-core-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/core-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/crc-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/crypto-dm-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/crypto-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/ext4-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/fat-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/fuse-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/input-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/isofs-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/jfs-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/kernel-image (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/md-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/multipath-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/nbd-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/nic-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/pata-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/ppp-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/sata-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/scsi-common-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/scsi-core-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/scsi-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/squashfs-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/udf-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/usb-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/usb-storage-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/virtio-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/xfs-modules (100%) rename debian/installer/{sparc/modules/sparc => sparc64/modules/sparc64}/zlib-modules (100%) mode change 120000 => 100644 debian/installer/sparc64/package-list diff --git a/debian/changelog b/debian/changelog index 15494bf48..87b04b026 100644 --- a/debian/changelog +++ b/debian/changelog @@ -10,6 +10,8 @@ linux (4.2~rc8-1~exp2) UNRELEASED; urgency=medium - SUNRPC_XPRT_RDMA replaced SUNRPC_XPRT_RDMA_{CLIENT,SERVER} - [mips*el/loongson*] LOONGSON64 replaced LOONGSON - [x86] COMEDI_8255_SA replaced COMEDI_8255 + * [sparc] Remove linux-image, linux-header and udeb packages, as they + are redundant with sparc64 and neither is an official port -- Ben Hutchings Tue, 25 Aug 2015 18:50:57 +0100 diff --git a/debian/config/sparc/defines b/debian/config/sparc/defines index ee452b34c..c7e0119c2 100644 --- a/debian/config/sparc/defines +++ b/debian/config/sparc/defines @@ -1,31 +1,4 @@ [base] -flavours: - sparc64 - sparc64-smp kernel-arch: sparc - -[build] -image-file: arch/sparc/boot/zImage - -[image] -configs: -suggests: silo, fdutils -install-stem: vmlinuz - -[sparc32_description] -hardware: uniprocessor sparc32 (sun4m) - -[sparc32_image] -image-postproc: sparc32-image-postproc - -[sparc64_description] -hardware: uniprocessor 64-bit UltraSPARC - -[sparc64_image] -configs: kernelarch-sparc/config-up - -[sparc64-smp_description] -hardware: multiprocessor 64-bit UltraSPARC - -[sparc64-smp_image] -configs: kernelarch-sparc/config-smp +featuresets: +# empty; sparc must be part of a multiarch installation with a sparc64 kernel diff --git a/debian/installer/sparc/kernel-versions b/debian/installer/sparc/kernel-versions deleted file mode 100644 index 4a9ad56cf..000000000 --- a/debian/installer/sparc/kernel-versions +++ /dev/null @@ -1,2 +0,0 @@ -# arch version flavour installedname suffix build-depends -sparc - sparc64 - y - diff --git a/debian/installer/sparc/package-list b/debian/installer/sparc/package-list deleted file mode 100644 index 1e5e2f638..000000000 --- a/debian/installer/sparc/package-list +++ /dev/null @@ -1,15 +0,0 @@ -# This file is used to build up the control file. The kernel version and -# "-di" are appended to the package names. Section can be left out. So can -# architecture, which is derived from the files in the modules directory. -# It overwrites specifications from /usr/share/kernel-wedge/package-list. -# - -Package: nic-modules -Priority: standard -Description: Network card modules for Sparc kernels - This package contains the drivers for the Happy Meal/Big Mac 10/100BaseT, - Sun QuadEthernet and MyriCOM Gigabit Ethernet SBus devices for SPARC - systems, as well as various PCI NIC drivers (only on sparc64.) - . - Do not install this package on a real Debian system! You probably - want a kernel-image package instead. diff --git a/debian/installer/sparc64/modules/sparc64 b/debian/installer/sparc64/modules/sparc64 deleted file mode 120000 index b3390c86d..000000000 --- a/debian/installer/sparc64/modules/sparc64 +++ /dev/null @@ -1 +0,0 @@ -../../sparc/modules/sparc \ No newline at end of file diff --git a/debian/installer/sparc/modules/sparc/ata-modules b/debian/installer/sparc64/modules/sparc64/ata-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/ata-modules rename to debian/installer/sparc64/modules/sparc64/ata-modules diff --git a/debian/installer/sparc/modules/sparc/btrfs-modules b/debian/installer/sparc64/modules/sparc64/btrfs-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/btrfs-modules rename to debian/installer/sparc64/modules/sparc64/btrfs-modules diff --git a/debian/installer/sparc/modules/sparc/cdrom-core-modules b/debian/installer/sparc64/modules/sparc64/cdrom-core-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/cdrom-core-modules rename to debian/installer/sparc64/modules/sparc64/cdrom-core-modules diff --git a/debian/installer/sparc/modules/sparc/core-modules b/debian/installer/sparc64/modules/sparc64/core-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/core-modules rename to debian/installer/sparc64/modules/sparc64/core-modules diff --git a/debian/installer/sparc/modules/sparc/crc-modules b/debian/installer/sparc64/modules/sparc64/crc-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/crc-modules rename to debian/installer/sparc64/modules/sparc64/crc-modules diff --git a/debian/installer/sparc/modules/sparc/crypto-dm-modules b/debian/installer/sparc64/modules/sparc64/crypto-dm-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/crypto-dm-modules rename to debian/installer/sparc64/modules/sparc64/crypto-dm-modules diff --git a/debian/installer/sparc/modules/sparc/crypto-modules b/debian/installer/sparc64/modules/sparc64/crypto-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/crypto-modules rename to debian/installer/sparc64/modules/sparc64/crypto-modules diff --git a/debian/installer/sparc/modules/sparc/ext4-modules b/debian/installer/sparc64/modules/sparc64/ext4-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/ext4-modules rename to debian/installer/sparc64/modules/sparc64/ext4-modules diff --git a/debian/installer/sparc/modules/sparc/fat-modules b/debian/installer/sparc64/modules/sparc64/fat-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/fat-modules rename to debian/installer/sparc64/modules/sparc64/fat-modules diff --git a/debian/installer/sparc/modules/sparc/fuse-modules b/debian/installer/sparc64/modules/sparc64/fuse-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/fuse-modules rename to debian/installer/sparc64/modules/sparc64/fuse-modules diff --git a/debian/installer/sparc/modules/sparc/input-modules b/debian/installer/sparc64/modules/sparc64/input-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/input-modules rename to debian/installer/sparc64/modules/sparc64/input-modules diff --git a/debian/installer/sparc/modules/sparc/isofs-modules b/debian/installer/sparc64/modules/sparc64/isofs-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/isofs-modules rename to debian/installer/sparc64/modules/sparc64/isofs-modules diff --git a/debian/installer/sparc/modules/sparc/jfs-modules b/debian/installer/sparc64/modules/sparc64/jfs-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/jfs-modules rename to debian/installer/sparc64/modules/sparc64/jfs-modules diff --git a/debian/installer/sparc/modules/sparc/kernel-image b/debian/installer/sparc64/modules/sparc64/kernel-image similarity index 100% rename from debian/installer/sparc/modules/sparc/kernel-image rename to debian/installer/sparc64/modules/sparc64/kernel-image diff --git a/debian/installer/sparc/modules/sparc/md-modules b/debian/installer/sparc64/modules/sparc64/md-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/md-modules rename to debian/installer/sparc64/modules/sparc64/md-modules diff --git a/debian/installer/sparc/modules/sparc/multipath-modules b/debian/installer/sparc64/modules/sparc64/multipath-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/multipath-modules rename to debian/installer/sparc64/modules/sparc64/multipath-modules diff --git a/debian/installer/sparc/modules/sparc/nbd-modules b/debian/installer/sparc64/modules/sparc64/nbd-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/nbd-modules rename to debian/installer/sparc64/modules/sparc64/nbd-modules diff --git a/debian/installer/sparc/modules/sparc/nic-modules b/debian/installer/sparc64/modules/sparc64/nic-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/nic-modules rename to debian/installer/sparc64/modules/sparc64/nic-modules diff --git a/debian/installer/sparc/modules/sparc/pata-modules b/debian/installer/sparc64/modules/sparc64/pata-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/pata-modules rename to debian/installer/sparc64/modules/sparc64/pata-modules diff --git a/debian/installer/sparc/modules/sparc/ppp-modules b/debian/installer/sparc64/modules/sparc64/ppp-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/ppp-modules rename to debian/installer/sparc64/modules/sparc64/ppp-modules diff --git a/debian/installer/sparc/modules/sparc/sata-modules b/debian/installer/sparc64/modules/sparc64/sata-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/sata-modules rename to debian/installer/sparc64/modules/sparc64/sata-modules diff --git a/debian/installer/sparc/modules/sparc/scsi-common-modules b/debian/installer/sparc64/modules/sparc64/scsi-common-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/scsi-common-modules rename to debian/installer/sparc64/modules/sparc64/scsi-common-modules diff --git a/debian/installer/sparc/modules/sparc/scsi-core-modules b/debian/installer/sparc64/modules/sparc64/scsi-core-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/scsi-core-modules rename to debian/installer/sparc64/modules/sparc64/scsi-core-modules diff --git a/debian/installer/sparc/modules/sparc/scsi-modules b/debian/installer/sparc64/modules/sparc64/scsi-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/scsi-modules rename to debian/installer/sparc64/modules/sparc64/scsi-modules diff --git a/debian/installer/sparc/modules/sparc/squashfs-modules b/debian/installer/sparc64/modules/sparc64/squashfs-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/squashfs-modules rename to debian/installer/sparc64/modules/sparc64/squashfs-modules diff --git a/debian/installer/sparc/modules/sparc/udf-modules b/debian/installer/sparc64/modules/sparc64/udf-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/udf-modules rename to debian/installer/sparc64/modules/sparc64/udf-modules diff --git a/debian/installer/sparc/modules/sparc/usb-modules b/debian/installer/sparc64/modules/sparc64/usb-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/usb-modules rename to debian/installer/sparc64/modules/sparc64/usb-modules diff --git a/debian/installer/sparc/modules/sparc/usb-storage-modules b/debian/installer/sparc64/modules/sparc64/usb-storage-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/usb-storage-modules rename to debian/installer/sparc64/modules/sparc64/usb-storage-modules diff --git a/debian/installer/sparc/modules/sparc/virtio-modules b/debian/installer/sparc64/modules/sparc64/virtio-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/virtio-modules rename to debian/installer/sparc64/modules/sparc64/virtio-modules diff --git a/debian/installer/sparc/modules/sparc/xfs-modules b/debian/installer/sparc64/modules/sparc64/xfs-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/xfs-modules rename to debian/installer/sparc64/modules/sparc64/xfs-modules diff --git a/debian/installer/sparc/modules/sparc/zlib-modules b/debian/installer/sparc64/modules/sparc64/zlib-modules similarity index 100% rename from debian/installer/sparc/modules/sparc/zlib-modules rename to debian/installer/sparc64/modules/sparc64/zlib-modules diff --git a/debian/installer/sparc64/package-list b/debian/installer/sparc64/package-list deleted file mode 120000 index 153e85af1..000000000 --- a/debian/installer/sparc64/package-list +++ /dev/null @@ -1 +0,0 @@ -../sparc/package-list \ No newline at end of file diff --git a/debian/installer/sparc64/package-list b/debian/installer/sparc64/package-list new file mode 100644 index 000000000..1e5e2f638 --- /dev/null +++ b/debian/installer/sparc64/package-list @@ -0,0 +1,15 @@ +# This file is used to build up the control file. The kernel version and +# "-di" are appended to the package names. Section can be left out. So can +# architecture, which is derived from the files in the modules directory. +# It overwrites specifications from /usr/share/kernel-wedge/package-list. +# + +Package: nic-modules +Priority: standard +Description: Network card modules for Sparc kernels + This package contains the drivers for the Happy Meal/Big Mac 10/100BaseT, + Sun QuadEthernet and MyriCOM Gigabit Ethernet SBus devices for SPARC + systems, as well as various PCI NIC drivers (only on sparc64.) + . + Do not install this package on a real Debian system! You probably + want a kernel-image package instead. From 32fff0de75a42990e771b57814ae3e7797453e4f Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Thu, 27 Aug 2015 02:06:30 +0100 Subject: [PATCH 27/53] DocBook: Use a fixed encoding for output This was the last blocker for reproduciblity, so close that bug. --- debian/changelog | 2 + ...book-use-a-fixed-encoding-for-output.patch | 78 +++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 81 insertions(+) create mode 100644 debian/patches/bugfix/all/docbook-use-a-fixed-encoding-for-output.patch diff --git a/debian/changelog b/debian/changelog index 87b04b026..0cf49ecb5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -12,6 +12,8 @@ linux (4.2~rc8-1~exp2) UNRELEASED; urgency=medium - [x86] COMEDI_8255_SA replaced COMEDI_8255 * [sparc] Remove linux-image, linux-header and udeb packages, as they are redundant with sparc64 and neither is an official port + * Fix last issue that prevents a reproducible build (Closes: #769844): + - DocBook: Use a fixed encoding for output -- Ben Hutchings Tue, 25 Aug 2015 18:50:57 +0100 diff --git a/debian/patches/bugfix/all/docbook-use-a-fixed-encoding-for-output.patch b/debian/patches/bugfix/all/docbook-use-a-fixed-encoding-for-output.patch new file mode 100644 index 000000000..c20cdc110 --- /dev/null +++ b/debian/patches/bugfix/all/docbook-use-a-fixed-encoding-for-output.patch @@ -0,0 +1,78 @@ +From: Ben Hutchings +Date: Thu, 27 Aug 2015 01:56:46 +0100 +Subject: DocBook: Use a fixed encoding for output + +Currently the encoding of documents generated by DocBook depends on +the current locale. Make the output reproducible independently of +the locale, by setting the encoding to UTF-8 (LC_CTYPE=C.UTF-8) by +preference, or ASCII (LC_CTYPE=C) as a fallback. + +LC_CTYPE can normally be overridden by LC_ALL, but the top-level +Makefile unsets that. + +Signed-off-by: Ben Hutchings +--- +--- a/Documentation/DocBook/Makefile ++++ b/Documentation/DocBook/Makefile +@@ -68,6 +68,12 @@ installmandocs: mandocs + #External programs used + KERNELDOC = $(srctree)/scripts/kernel-doc + DOCPROC = $(objtree)/scripts/docproc ++CHECK_LC_CTYPE = $(objtree)/scripts/check-lc_ctype ++ ++# Use a fixed encoding - UTF-8 if the C library has support built-in ++# or ASCII if not ++LC_CTYPE := $(call try-run, LC_CTYPE=C.UTF-8 $(CHECK_LC_CTYPE), C.UTF-8, C) ++export LC_CTYPE + + XMLTOFLAGS = -m $(srctree)/$(src)/stylesheet.xsl + XMLTOFLAGS += --skip-validation +--- a/Makefile ++++ b/Makefile +@@ -1361,7 +1361,7 @@ $(help-board-dirs): help-%: + # Documentation targets + # --------------------------------------------------------------------------- + %docs: scripts_basic FORCE +- $(Q)$(MAKE) $(build)=scripts build_docproc ++ $(Q)$(MAKE) $(build)=scripts build_docproc build_check-lc_ctype + $(Q)$(MAKE) $(build)=Documentation/DocBook $@ + + else # KBUILD_EXTMOD +--- a/scripts/Makefile ++++ b/scripts/Makefile +@@ -7,6 +7,7 @@ + # conmakehash: Create chartable + # conmakehash: Create arrays for initializing the kernel console tables + # docproc: Used in Documentation/DocBook ++# check-lc_ctype: Used in Documentation/DocBook + + HOST_EXTRACFLAGS += -I$(srctree)/tools/include + +@@ -23,14 +24,16 @@ HOSTCFLAGS_asn1_compiler.o = -I$(srctree + always := $(hostprogs-y) $(hostprogs-m) + + # The following hostprogs-y programs are only build on demand +-hostprogs-y += unifdef docproc ++hostprogs-y += unifdef docproc check-lc_ctype + + # These targets are used internally to avoid "is up to date" messages +-PHONY += build_unifdef build_docproc ++PHONY += build_unifdef build_docproc build_check-lc_ctype + build_unifdef: $(obj)/unifdef + @: + build_docproc: $(obj)/docproc + @: ++build_check-lc_ctype: $(obj)/check-lc_ctype ++ @: + + subdir-$(CONFIG_MODVERSIONS) += genksyms + subdir-y += mod +--- /dev/null ++++ b/scripts/check-lc_ctype.c +@@ -0,0 +1,6 @@ ++#include ++ ++int main(void) ++{ ++ return !setlocale(LC_CTYPE, ""); ++} diff --git a/debian/patches/series b/debian/patches/series index abc5a4331..85425ffb9 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -75,6 +75,7 @@ bugfix/all/docbook-generate-consistent-ids.patch bugfix/all/docbook-fix-non-determinstic-installation-of-duplica.patch bugfix/all/scripts-kernel-doc-use-kbuild_build_timestamp-as-man.patch bugfix/all/documentation-avoid-creating-man-pages-in-source-tree.patch +bugfix/all/docbook-use-a-fixed-encoding-for-output.patch # Miscellaneous features features/all/efi-autoload-efi-pstore.patch From 6b977589fb8820f76fe3a89093b4831bf6092106 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sat, 29 Aug 2015 21:48:39 +0100 Subject: [PATCH 28/53] debian/bin,debian/control,debian/lib/python: Use Python 3 --- debian/bin/abiupdate.py | 2 +- debian/bin/buildcheck.py | 2 +- debian/bin/gencontrol.py | 10 +-- debian/bin/genorig.py | 2 +- debian/bin/kconfig.py | 2 +- debian/changelog | 1 + debian/lib/python/debian_linux/debian.py | 78 +++++++++----------- debian/lib/python/debian_linux/gencontrol.py | 7 +- debian/lib/python/debian_linux/utils.py | 4 +- debian/templates/control.source.in | 2 +- 10 files changed, 49 insertions(+), 61 deletions(-) diff --git a/debian/bin/abiupdate.py b/debian/bin/abiupdate.py index 2808b3f51..74902be58 100755 --- a/debian/bin/abiupdate.py +++ b/debian/bin/abiupdate.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import sys sys.path.append(sys.path[0] + "/../lib/python") diff --git a/debian/bin/buildcheck.py b/debian/bin/buildcheck.py index 68bd342a6..07734a2a2 100755 --- a/debian/bin/buildcheck.py +++ b/debian/bin/buildcheck.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/python3 import sys sys.path.append('debian/lib/python') diff --git a/debian/bin/gencontrol.py b/debian/bin/gencontrol.py index 7eaba6fe1..71fcd08fd 100755 --- a/debian/bin/gencontrol.py +++ b/debian/bin/gencontrol.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import sys sys.path.append("debian/lib/python") @@ -160,9 +160,9 @@ class Gencontrol(Base): if os.getenv('DEBIAN_KERNEL_DISABLE_INSTALLER'): if self.changelog[0].distribution == 'UNRELEASED': import warnings - warnings.warn(u'Disable installer modules on request (DEBIAN_KERNEL_DISABLE_INSTALLER set)') + warnings.warn('Disable installer modules on request (DEBIAN_KERNEL_DISABLE_INSTALLER set)') else: - raise RuntimeError(u'Unable to disable installer modules in release build (DEBIAN_KERNEL_DISABLE_INSTALLER set)') + raise RuntimeError('Unable to disable installer modules in release build (DEBIAN_KERNEL_DISABLE_INSTALLER set)') else: # Add udebs using kernel-wedge installer_def_dir = 'debian/installer' @@ -344,10 +344,10 @@ class Gencontrol(Base): if os.getenv('DEBIAN_KERNEL_DISABLE_DEBUG'): if self.changelog[0].distribution == 'UNRELEASED': import warnings - warnings.warn(u'Disable debug infos on request (DEBIAN_KERNEL_DISABLE_DEBUG set)') + warnings.warn('Disable debug infos on request (DEBIAN_KERNEL_DISABLE_DEBUG set)') build_debug = False else: - raise RuntimeError(u'Unable to disable debug infos in release build (DEBIAN_KERNEL_DISABLE_DEBUG set)') + raise RuntimeError('Unable to disable debug infos in release build (DEBIAN_KERNEL_DISABLE_DEBUG set)') if build_debug: makeflags['DEBUG'] = True diff --git a/debian/bin/genorig.py b/debian/bin/genorig.py index 7fa9e8de5..779690daf 100755 --- a/debian/bin/genorig.py +++ b/debian/bin/genorig.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import sys sys.path.append("debian/lib/python") diff --git a/debian/bin/kconfig.py b/debian/bin/kconfig.py index d50387632..815839937 100755 --- a/debian/bin/kconfig.py +++ b/debian/bin/kconfig.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import optparse import os.path diff --git a/debian/changelog b/debian/changelog index 0cf49ecb5..11fe701ba 100644 --- a/debian/changelog +++ b/debian/changelog @@ -14,6 +14,7 @@ linux (4.2~rc8-1~exp2) UNRELEASED; urgency=medium are redundant with sparc64 and neither is an official port * Fix last issue that prevents a reproducible build (Closes: #769844): - DocBook: Use a fixed encoding for output + * debian/bin,debian/control,debian/lib/python: Use Python 3 -- Ben Hutchings Tue, 25 Aug 2015 18:50:57 +0100 diff --git a/debian/lib/python/debian_linux/debian.py b/debian/lib/python/debian_linux/debian.py index 936a9ab94..00db2c316 100644 --- a/debian/lib/python/debian_linux/debian.py +++ b/debian/lib/python/debian_linux/debian.py @@ -1,8 +1,6 @@ import collections import os.path import re -import six -import six.moves from . import utils @@ -36,10 +34,7 @@ class Changelog(list): def __init__(self, dir='', version=None): if version is None: version = Version - if six.PY3: - f = open(os.path.join(dir, "debian/changelog"), encoding="UTF-8") - else: - f = open(os.path.join(dir, "debian/changelog")) + f = open(os.path.join(dir, "debian/changelog"), encoding="UTF-8") while True: line = f.readline() if not line: @@ -88,7 +83,6 @@ $ def __str__(self): return self.complete - __unicode__ = __str__ @property def complete(self): @@ -164,7 +158,7 @@ $ self.linux_version = d['version'] if d['modifier'] is not None: assert not d['update'] - self.linux_upstream = u'-'.join((d['version'], d['modifier'])) + self.linux_upstream = '-'.join((d['version'], d['modifier'])) else: self.linux_upstream = d['version'] self.linux_upstream_full = self.linux_upstream + d['update'] @@ -193,8 +187,7 @@ class PackageArchitecture(collections.MutableSet): return self._data.__len__() def __str__(self): - return u' '.join(sorted(self)) - __unicode__ = __str__ + return ' '.join(sorted(self)) def add(self, value): self._data.add(value) @@ -203,7 +196,7 @@ class PackageArchitecture(collections.MutableSet): self._data.discard(value) def extend(self, value): - if isinstance(value, six.string_types): + if isinstance(value, str): for i in re.split('\s', value.strip()): self.add(i) else: @@ -223,13 +216,12 @@ class PackageDescription(object): def __str__(self): wrap = utils.TextWrapper(width=74, fix_sentence_endings=True).wrap - short = u', '.join(self.short) + short = ', '.join(self.short) long_pars = [] for i in self.long: long_pars.append(wrap(i)) - long = u'\n .\n '.join([u'\n '.join(i) for i in long_pars]) - return short + u'\n ' + long - __unicode__ = __str__ + long = '\n .\n '.join(['\n '.join(i) for i in long_pars]) + return short + '\n ' + long def append(self, str): str = str.strip() @@ -255,8 +247,7 @@ class PackageRelation(list): self.extend(value, override_arches) def __str__(self): - return u', '.join(six.text_type(i) for i in self) - __unicode__ = __str__ + return ', '.join(str(i) for i in self) def _search_value(self, value): for i in self: @@ -265,7 +256,7 @@ class PackageRelation(list): return None def append(self, value, override_arches=None): - if isinstance(value, six.string_types): + if isinstance(value, str): value = PackageRelationGroup(value, override_arches) elif not isinstance(value, PackageRelationGroup): raise ValueError(u"got %s" % type(value)) @@ -276,8 +267,8 @@ class PackageRelation(list): super(PackageRelation, self).append(value) def extend(self, value, override_arches=None): - if isinstance(value, six.string_types): - value = (j.strip() for j in re.split(u',', value.strip())) + if isinstance(value, str): + value = (j.strip() for j in re.split(',', value.strip())) for i in value: self.append(i, override_arches) @@ -288,31 +279,30 @@ class PackageRelationGroup(list): self.extend(value, override_arches) def __str__(self): - return u' | '.join(six.text_type(i) for i in self) - __unicode__ = __str__ + return ' | '.join(str(i) for i in self) def _search_value(self, value): - for i, j in six.moves.zip(self, value): + for i, j in zip(self, value): if i.name != j.name or i.version != j.version: return None return self def _update_arches(self, value): - for i, j in six.moves.zip(self, value): + for i, j in zip(self, value): if i.arches: for arch in j.arches: if arch not in i.arches: i.arches.append(arch) def append(self, value, override_arches=None): - if isinstance(value, six.string_types): + if isinstance(value, str): value = PackageRelationEntry(value, override_arches) elif not isinstance(value, PackageRelationEntry): raise ValueError super(PackageRelationGroup, self).append(value) def extend(self, value, override_arches=None): - if isinstance(value, six.string_types): + if isinstance(value, str): value = (j.strip() for j in re.split('\|', value.strip())) for i in value: self.append(i, override_arches) @@ -332,12 +322,12 @@ class PackageRelationEntry(object): OP_GT = 6 operators = { - u'<<': OP_LT, - u'<=': OP_LE, - u'=': OP_EQ, - u'!=': OP_NE, - u'>=': OP_GE, - u'>>': OP_GT, + '<<': OP_LT, + '<=': OP_LE, + '=': OP_EQ, + '!=': OP_NE, + '>=': OP_GE, + '>>': OP_GT, } operators_neg = { @@ -361,10 +351,9 @@ class PackageRelationEntry(object): def __str__(self): return self.operators_text[self._op] - __unicode__ = __str__ def __init__(self, value=None, override_arches=None): - if not isinstance(value, six.string_types): + if not isinstance(value, str): raise ValueError self.parse(value) @@ -375,11 +364,10 @@ class PackageRelationEntry(object): def __str__(self): ret = [self.name] if self.operator is not None and self.version is not None: - ret.extend((u' (', six.text_type(self.operator), u' ', self.version, u')')) + ret.extend((' (', str(self.operator), ' ', self.version, ')')) if self.arches: - ret.extend((u' [', u' '.join(self.arches), u']')) - return u''.join(ret) - __unicode__ = __str__ + ret.extend((' [', ' '.join(self.arches), ']')) + return ''.join(ret) def parse(self, value): match = self._re.match(value) @@ -400,14 +388,14 @@ class PackageRelationEntry(object): class Package(dict): _fields = collections.OrderedDict(( - ('Package', six.text_type), - ('Source', six.text_type), + ('Package', str), + ('Source', str), ('Architecture', PackageArchitecture), - ('Section', six.text_type), - ('Priority', six.text_type), - ('Maintainer', six.text_type), - ('Uploaders', six.text_type), - ('Standards-Version', six.text_type), + ('Section', str), + ('Priority', str), + ('Maintainer', str), + ('Uploaders', str), + ('Standards-Version', str), ('Build-Depends', PackageRelation), ('Build-Depends-Indep', PackageRelation), ('Provides', PackageRelation), diff --git a/debian/lib/python/debian_linux/gencontrol.py b/debian/lib/python/debian_linux/gencontrol.py index 62093ad99..ec139ff1a 100644 --- a/debian/lib/python/debian_linux/gencontrol.py +++ b/debian/lib/python/debian_linux/gencontrol.py @@ -1,5 +1,4 @@ import codecs -import six from collections import OrderedDict from .debian import * @@ -141,7 +140,7 @@ class Gencontrol(object): cmds = [] for i in extra_arches[arch]: cmds.append("$(MAKE) -f debian/rules.real install-dummy ARCH='%s' DH_OPTIONS='-p%s'" % (arch, i['Package'])) - makefile.add('binary-arch_%s' % arch, [u'binary-arch_%s_extra' % arch]) + makefile.add('binary-arch_%s' % arch, ['binary-arch_%s_extra' % arch]) makefile.add("binary-arch_%s_extra" % arch, cmds = cmds) def do_arch(self, packages, makefile, arch, vars, makeflags, extra): @@ -275,7 +274,7 @@ class Gencontrol(object): def subst(match): return vars[match.group(1)] - return re.sub(r'@([-_a-z0-9]+)@', subst, six.text_type(s)) + return re.sub(r'@([-_a-z0-9]+)@', subst, str(s)) def write(self, packages, makefile): self.write_control(packages.values()) @@ -298,4 +297,4 @@ class Gencontrol(object): for entry in list: for key, value in entry.iteritems(): f.write(u"%s: %s\n" % (key, value)) - f.write(u'\n') + f.write('\n') diff --git a/debian/lib/python/debian_linux/utils.py b/debian/lib/python/debian_linux/utils.py index 454d7c8e8..5f34b6ead 100644 --- a/debian/lib/python/debian_linux/utils.py +++ b/debian/lib/python/debian_linux/utils.py @@ -58,11 +58,11 @@ def read_control(f): break if line[0] in ' \t': if not last: - raise ValueError(u'Continuation line seen before first header') + raise ValueError('Continuation line seen before first header') lines.append(line.lstrip()) continue if last: - e[last] = u'\n'.join(lines) + e[last] = '\n'.join(lines) i = line.find(':') if i < 0: raise ValueError(u"Not a header, not a continuation: ``%s''" % line) diff --git a/debian/templates/control.source.in b/debian/templates/control.source.in index dcaf8b1ac..485baff20 100644 --- a/debian/templates/control.source.in +++ b/debian/templates/control.source.in @@ -3,7 +3,7 @@ Priority: optional Maintainer: Debian Kernel Team Uploaders: Bastian Blank , maximilian attems , Ben Hutchings Standards-Version: 3.9.5 -Build-Depends: debhelper, cpio, kmod, python, python-six, xz-utils, kernel-wedge, quilt, patchutils, bc +Build-Depends: debhelper, cpio, kmod, python3, xz-utils, kernel-wedge, quilt, patchutils, bc Build-Depends-Indep: xmlto Vcs-Git: https://anonscm.debian.org/git/kernel/linux.git Vcs-Browser: https://anonscm.debian.org/cgit/kernel/linux.git From 52d8c20b40735ac6288763ec82f398dafdaaac2e Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sat, 29 Aug 2015 22:12:54 +0100 Subject: [PATCH 29/53] debian/bin/buildcheck.py: Correct call to nonexistent sys.write() function --- debian/bin/buildcheck.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/bin/buildcheck.py b/debian/bin/buildcheck.py index 07734a2a2..83802b739 100755 --- a/debian/bin/buildcheck.py +++ b/debian/bin/buildcheck.py @@ -220,7 +220,7 @@ class CheckImage(object): usage = (float(size)/value) * 100.0 out.write('Image size %d/%d, using %.2f%%. ' % (size, value, usage)) if size > value: - sys.write('Too large. Refusing to continue.\n') + out.write('Too large. Refusing to continue.\n') return 1 elif usage >= 99.0: out.write('Under 1%% space in %s. ' % self.changelog.distribution) From 44ea8344d64e39323dfbad7f81c3aa229214b9e1 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sat, 29 Aug 2015 23:56:25 +0100 Subject: [PATCH 30/53] debian/bin/genorig.py: Make orig tarballs reproducible Sort the tarball contents and set their mtimes to the upstream release time. (In case we're given a tarball and patch, the release time is unknown and the result is not reproducible. So don't do that.) --- debian/bin/genorig.py | 23 +++++++++++++++++++---- debian/changelog | 1 + 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/debian/bin/genorig.py b/debian/bin/genorig.py index 779690daf..b83f31c09 100755 --- a/debian/bin/genorig.py +++ b/debian/bin/genorig.py @@ -8,6 +8,7 @@ import os.path import re import shutil import subprocess +import time from debian_linux.debian import Changelog, VersionLinux from debian_linux.patches import PatchSeries @@ -46,8 +47,19 @@ class Main(object): self.upstream_extract(self.input_files[0]) if len(self.input_files) > 1: self.upstream_patch(self.input_files[1]) + + # debian_patch() will change file mtimes. Capture the + # original release time so we can apply it to the final + # tarball. Note this doesn't work in case we apply an + # upstream patch, as that doesn't carry a release time. + orig_date = time.strftime( + "%a, %d %b %Y %H:%M:%S +0000", + time.gmtime( + os.stat(os.path.join(self.dir, self.orig, 'Makefile')) + .st_mtime)) + self.debian_patch() - self.tar() + self.tar(orig_date) finally: shutil.rmtree(self.dir) @@ -105,7 +117,7 @@ class Main(object): series = PatchSeries(name, "debian/patches", fp) series(dir=os.path.join(self.dir, self.orig)) - def tar(self): + def tar(self, orig_date): out = os.path.join("../orig", self.orig_tar) try: os.mkdir("../orig") @@ -117,9 +129,12 @@ class Main(object): except OSError: pass self.log("Generate tarball %s\n" % out) - cmdline = ['tar -caf', out, '-C', self.dir, self.orig] + cmdline = '''(cd '%s' && find '%s' -print0) | + LC_ALL=C sort -z | + tar -C '%s' --no-recursion --null -T - --mtime '%s' -caf '%s' + ''' % (self.dir, self.orig, self.dir, orig_date, out) try: - if os.spawnv(os.P_WAIT, '/bin/sh', ['sh', '-c', ' '.join(cmdline)]): + if os.spawnv(os.P_WAIT, '/bin/sh', ['sh', '-c', cmdline]): raise RuntimeError("Can't patch source") os.chmod(out, 0o644) except: diff --git a/debian/changelog b/debian/changelog index 11fe701ba..4a3b203eb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -15,6 +15,7 @@ linux (4.2~rc8-1~exp2) UNRELEASED; urgency=medium * Fix last issue that prevents a reproducible build (Closes: #769844): - DocBook: Use a fixed encoding for output * debian/bin,debian/control,debian/lib/python: Use Python 3 + * debian/bin/genorig.py: Make orig tarballs reproducible -- Ben Hutchings Tue, 25 Aug 2015 18:50:57 +0100 From 82221fd0e0bd51deb1bb8458d8aeb3ab8cebaff4 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sun, 30 Aug 2015 20:59:07 +0100 Subject: [PATCH 31/53] Update to 4.2 --- debian/changelog | 5 ++++- debian/config/defines | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 4a3b203eb..e00317996 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,8 @@ -linux (4.2~rc8-1~exp2) UNRELEASED; urgency=medium +linux (4.2-1~exp1) UNRELEASED; urgency=medium + * New upstream release: http://kernelnewbies.org/Linux_4.2 + + [ Ben Hutchings ] * Remove all support for ia64 (Closes: #679545, #691576, #728706) * [s390x] Compile with gcc-4.9 (Closes: #796845) * linux-source: Depend on xz-utils, not bzip2 (Closes: #796940) diff --git a/debian/config/defines b/debian/config/defines index f03709a2c..4c1d14631 100644 --- a/debian/config/defines +++ b/debian/config/defines @@ -1,5 +1,5 @@ [abi] -abiname: 1 +abiname: trunk [base] arches: From f56a30a44d0f39d4d2639396253c1c83c1656b3c Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sun, 30 Aug 2015 21:00:56 +0100 Subject: [PATCH 32/53] Remove claim that gfs2 broke the build on mips --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index e00317996..664e54525 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,7 +7,7 @@ linux (4.2-1~exp1) UNRELEASED; urgency=medium * [s390x] Compile with gcc-4.9 (Closes: #796845) * linux-source: Depend on xz-utils, not bzip2 (Closes: #796940) * gfs2: Make statistics unsigned, suitable for use with do_div() - (fixes FTBFS on mips,mipsel,m68k) + (fixes FTBFS on mipsel,m68k) * [amd64] Enable KALLSYMS_ALL (Closes: #660288), LIVEPATCH * Re-enable various config options disabled by name changes in 4.2: - SUNRPC_XPRT_RDMA replaced SUNRPC_XPRT_RDMA_{CLIENT,SERVER} From 3d1b88049740c5bbb6f6fc2f85e9336fff4fd748 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sun, 30 Aug 2015 21:34:13 +0100 Subject: [PATCH 33/53] debian/bin/kconfig.py: Adjust for compatibility with Python 3 Use open() instead of file(). Use dict.items() instead of .iteritems(). Use collections.OrderedDict.items() instead of .iteritems(). --- debian/bin/kconfig.py | 6 +++--- debian/lib/python/debian_linux/kconfig.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/debian/bin/kconfig.py b/debian/bin/kconfig.py index 815839937..9ee0750d7 100755 --- a/debian/bin/kconfig.py +++ b/debian/bin/kconfig.py @@ -11,10 +11,10 @@ from debian_linux.kconfig import * def merge(output, configs, overrides): kconfig = KconfigFile() for c in configs: - kconfig.read(file(c)) - for key, value in overrides.iteritems(): + kconfig.read(open(c)) + for key, value in overrides.items(): kconfig.set(key, value) - file(output, "w").write(str(kconfig)) + open(output, "w").write(str(kconfig)) def opt_callback_dict(option, opt, value, parser): diff --git a/debian/lib/python/debian_linux/kconfig.py b/debian/lib/python/debian_linux/kconfig.py index e052d5522..67309e3a0 100644 --- a/debian/lib/python/debian_linux/kconfig.py +++ b/debian/lib/python/debian_linux/kconfig.py @@ -87,5 +87,5 @@ class KconfigFile(OrderedDict): self[key] = entry def str_iter(self): - for key, value in self.iteritems(): + for key, value in self.items(): yield str(value) From 197e29aab43de12453144c43c34dc5fde616e165 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sun, 30 Aug 2015 21:34:40 +0100 Subject: [PATCH 34/53] debian/rules.real: Stop overriding interpreter for Python scripts --- debian/changelog | 2 +- debian/rules.real | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index 664e54525..c0a1a9f90 100644 --- a/debian/changelog +++ b/debian/changelog @@ -17,7 +17,7 @@ linux (4.2-1~exp1) UNRELEASED; urgency=medium are redundant with sparc64 and neither is an official port * Fix last issue that prevents a reproducible build (Closes: #769844): - DocBook: Use a fixed encoding for output - * debian/bin,debian/control,debian/lib/python: Use Python 3 + * debian/bin,debian/control,debian/lib/python,debian/rules.real: Use Python 3 * debian/bin/genorig.py: Make orig tarballs reproducible -- Ben Hutchings Tue, 25 Aug 2015 18:50:57 +0100 diff --git a/debian/rules.real b/debian/rules.real index 9341d8179..de4b077c5 100644 --- a/debian/rules.real +++ b/debian/rules.real @@ -76,7 +76,7 @@ source-featureset: $(STAMPS_DIR)/source_$(FEATURESET) $(BUILD_DIR)/config.$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(KCONFIG) mkdir -p '$(dir $@)' - python debian/bin/kconfig.py '$@' $(KCONFIG) $(KCONFIG_OPTIONS) + debian/bin/kconfig.py '$@' $(KCONFIG) $(KCONFIG_OPTIONS) define copy_source mkdir -p '$(1)' @@ -163,7 +163,7 @@ $(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): $(STAMPS_DIR)/setu $(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain: +$(MAKE_CLEAN) -C '$(DIR)' $(BUILD_TARGET) - python debian/bin/buildcheck.py $(DIR) $(ARCH) $(FEATURESET) $(FLAVOUR) + debian/bin/buildcheck.py $(DIR) $(ARCH) $(FEATURESET) $(FLAVOUR) @$(stamp) $(STAMPS_DIR)/build-doc: DIR=$(BUILD_DIR)/build-doc From 10d489d31f14d395c11bdaad43c17f23d5078091 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Mon, 31 Aug 2015 01:59:51 +0100 Subject: [PATCH 35/53] linux-support: Build with dh_python3 and set dependencies accordingly --- debian/changelog | 3 ++- debian/rules.real | 2 +- debian/templates/control.main.in | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index c0a1a9f90..392288f71 100644 --- a/debian/changelog +++ b/debian/changelog @@ -17,7 +17,8 @@ linux (4.2-1~exp1) UNRELEASED; urgency=medium are redundant with sparc64 and neither is an official port * Fix last issue that prevents a reproducible build (Closes: #769844): - DocBook: Use a fixed encoding for output - * debian/bin,debian/control,debian/lib/python,debian/rules.real: Use Python 3 + * debian/bin,debian/control,debian/lib/python,debian/rules.real, + linux-support: Use Python 3 * debian/bin/genorig.py: Make orig tarballs reproducible -- Ben Hutchings Tue, 25 Aug 2015 18:50:57 +0100 diff --git a/debian/rules.real b/debian/rules.real index de4b077c5..96bb5d316 100644 --- a/debian/rules.real +++ b/debian/rules.real @@ -334,7 +334,7 @@ install-support: dh_installdirs $(PACKAGE_ROOT)/lib/python/debian_linux $(PACKAGE_ROOT)/modules cp debian/config.defines.dump $(PACKAGE_DIR)$(PACKAGE_ROOT) cp debian/lib/python/debian_linux/*.py $(PACKAGE_DIR)$(PACKAGE_ROOT)/lib/python/debian_linux - dh_python2 + dh_python3 dh_link $(PACKAGE_ROOT) /usr/src/$(PACKAGE_NAME) +$(MAKE_SELF) install-base diff --git a/debian/templates/control.main.in b/debian/templates/control.main.in index 1663b5aeb..545617d96 100644 --- a/debian/templates/control.main.in +++ b/debian/templates/control.main.in @@ -46,7 +46,7 @@ Description: Linux kernel API manual pages for version @version@ Package: linux-support-@abiname@ Architecture: all Section: devel -Depends: ${python:Depends}, ${misc:Depends}, python-six +Depends: ${python3:Depends}, ${misc:Depends} Multi-Arch: foreign Description: Support files for Linux @upstreamversion@ This package provides support files for the Linux kernel build, From e99baa4adc647550ef575fcb23eeb8edcadf9e33 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Mon, 31 Aug 2015 02:06:02 +0100 Subject: [PATCH 36/53] Remove leading space from LC_CTYPE set in Documentation/DocBook/Makefile This sort of worked in that the C library would fall back to the "C" locale, but it's not really what I intended. --- .../bugfix/all/docbook-use-a-fixed-encoding-for-output.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/patches/bugfix/all/docbook-use-a-fixed-encoding-for-output.patch b/debian/patches/bugfix/all/docbook-use-a-fixed-encoding-for-output.patch index c20cdc110..cbeafd313 100644 --- a/debian/patches/bugfix/all/docbook-use-a-fixed-encoding-for-output.patch +++ b/debian/patches/bugfix/all/docbook-use-a-fixed-encoding-for-output.patch @@ -22,7 +22,7 @@ Signed-off-by: Ben Hutchings + +# Use a fixed encoding - UTF-8 if the C library has support built-in +# or ASCII if not -+LC_CTYPE := $(call try-run, LC_CTYPE=C.UTF-8 $(CHECK_LC_CTYPE), C.UTF-8, C) ++LC_CTYPE := $(call try-run, LC_CTYPE=C.UTF-8 $(CHECK_LC_CTYPE),C.UTF-8,C) +export LC_CTYPE XMLTOFLAGS = -m $(srctree)/$(src)/stylesheet.xsl From f2872597b0bae167d3cbd68dafcf5359ed93922e Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Mon, 31 Aug 2015 10:13:27 +0100 Subject: [PATCH 37/53] Prepare to release linux (4.2-1~exp1). --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 392288f71..b38df9889 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -linux (4.2-1~exp1) UNRELEASED; urgency=medium +linux (4.2-1~exp1) experimental; urgency=medium * New upstream release: http://kernelnewbies.org/Linux_4.2 @@ -21,7 +21,7 @@ linux (4.2-1~exp1) UNRELEASED; urgency=medium linux-support: Use Python 3 * debian/bin/genorig.py: Make orig tarballs reproducible - -- Ben Hutchings Tue, 25 Aug 2015 18:50:57 +0100 + -- Ben Hutchings Mon, 31 Aug 2015 02:08:19 +0100 linux (4.2~rc8-1~exp1) experimental; urgency=medium From 71fa5e281188bdfb767abd2553dfd752181a4fc9 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Wed, 2 Sep 2015 00:48:44 +0100 Subject: [PATCH 38/53] [mips*el/loongson-3] udeb: Add fb-modules containing radeon driver (Closes: #776274) --- debian/changelog | 6 ++++++ .../installer/mipsel/modules/mipsel-loongson-3/fb-modules | 1 + 2 files changed, 7 insertions(+) create mode 100644 debian/installer/mipsel/modules/mipsel-loongson-3/fb-modules diff --git a/debian/changelog b/debian/changelog index b38df9889..fc9893b91 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +linux (4.2-1~exp2) UNRELEASED; urgency=medium + + * [mips*el/loongson-3] udeb: Add fb-modules containing radeon driver + + -- Ben Hutchings Wed, 02 Sep 2015 00:29:36 +0100 + linux (4.2-1~exp1) experimental; urgency=medium * New upstream release: http://kernelnewbies.org/Linux_4.2 diff --git a/debian/installer/mipsel/modules/mipsel-loongson-3/fb-modules b/debian/installer/mipsel/modules/mipsel-loongson-3/fb-modules new file mode 100644 index 000000000..553c79c74 --- /dev/null +++ b/debian/installer/mipsel/modules/mipsel-loongson-3/fb-modules @@ -0,0 +1 @@ +radeon From 8298497d1b0c8367db6c46256a72b76a19c3d6a8 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Wed, 2 Sep 2015 00:52:18 +0100 Subject: [PATCH 39/53] [hppa/parisc64-smp,[mips*el/loongson-3] udeb: Add i2c-modules ...and make fb-modules depend on it rather than including I2C modules directly. --- debian/changelog | 4 ++++ debian/installer/hppa/modules/hppa-parisc64-smp/i2c-modules | 1 + debian/installer/mipsel/modules/mipsel-loongson-3/i2c-modules | 1 + debian/installer/package-list | 2 +- 4 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 debian/installer/hppa/modules/hppa-parisc64-smp/i2c-modules create mode 100644 debian/installer/mipsel/modules/mipsel-loongson-3/i2c-modules diff --git a/debian/changelog b/debian/changelog index fc9893b91..ce0e1d042 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,10 @@ linux (4.2-1~exp2) UNRELEASED; urgency=medium * [mips*el/loongson-3] udeb: Add fb-modules containing radeon driver + (Closes: #776274) + * [hppa/parisc64-smp,[mips*el/loongson-3] udeb: Add i2c-modules and + make fb-modules depend on it rather than including I2C modules + directly -- Ben Hutchings Wed, 02 Sep 2015 00:29:36 +0100 diff --git a/debian/installer/hppa/modules/hppa-parisc64-smp/i2c-modules b/debian/installer/hppa/modules/hppa-parisc64-smp/i2c-modules new file mode 100644 index 000000000..203a607e7 --- /dev/null +++ b/debian/installer/hppa/modules/hppa-parisc64-smp/i2c-modules @@ -0,0 +1 @@ +#include diff --git a/debian/installer/mipsel/modules/mipsel-loongson-3/i2c-modules b/debian/installer/mipsel/modules/mipsel-loongson-3/i2c-modules new file mode 100644 index 000000000..203a607e7 --- /dev/null +++ b/debian/installer/mipsel/modules/mipsel-loongson-3/i2c-modules @@ -0,0 +1 @@ +#include diff --git a/debian/installer/package-list b/debian/installer/package-list index 39eff0827..e79890b7d 100644 --- a/debian/installer/package-list +++ b/debian/installer/package-list @@ -210,7 +210,7 @@ Description: PCMCIA storage drivers This package contains PCMCIA storage drivers for the kernel. Package: fb-modules -Depends: kernel-image +Depends: kernel-image, i2c-modules Priority: extra Description: Frame buffer support This package contains Frame buffer drivers for the kernel. From 5c7b00ac36a38fcbd458da241fce91081cbcafcf Mon Sep 17 00:00:00 2001 From: Aurelien Jarno Date: Sat, 5 Sep 2015 19:40:41 +0200 Subject: [PATCH 40/53] [mips*el] Fix BPF assembly code for pre-R2 CPUs. --- debian/changelog | 4 + ...id-unreachable-code-on-little-endian.patch | 49 ++++++++ ...x-build-on-pre-r2-little-endian-cpus.patch | 117 ++++++++++++++++++ debian/patches/series | 2 + 4 files changed, 172 insertions(+) create mode 100644 debian/patches/bugfix/mips/bpf-avoid-unreachable-code-on-little-endian.patch create mode 100644 debian/patches/bugfix/mips/bpf-fix-build-on-pre-r2-little-endian-cpus.patch diff --git a/debian/changelog b/debian/changelog index ce0e1d042..3b41a2222 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,11 +1,15 @@ linux (4.2-1~exp2) UNRELEASED; urgency=medium + [ Ben Hutchings ] * [mips*el/loongson-3] udeb: Add fb-modules containing radeon driver (Closes: #776274) * [hppa/parisc64-smp,[mips*el/loongson-3] udeb: Add i2c-modules and make fb-modules depend on it rather than including I2C modules directly + [ Aurelien Jarno ] + * [mips*el] Fix BPF assembly code for pre-R2 CPUs. + -- Ben Hutchings Wed, 02 Sep 2015 00:29:36 +0100 linux (4.2-1~exp1) experimental; urgency=medium diff --git a/debian/patches/bugfix/mips/bpf-avoid-unreachable-code-on-little-endian.patch b/debian/patches/bugfix/mips/bpf-avoid-unreachable-code-on-little-endian.patch new file mode 100644 index 000000000..288347e3b --- /dev/null +++ b/debian/patches/bugfix/mips/bpf-avoid-unreachable-code-on-little-endian.patch @@ -0,0 +1,49 @@ +From: Aurelien Jarno +Date: Fri, 4 Sep 2015 16:32:17 +0200 +Subject: [1/2] MIPS: BPF: Avoid unreachable code on little endian +Origin: http://www.linux-mips.org/archives/linux-mips/2015-09/msg00040.html + +On little endian, avoid generating the big endian version of the code +by using #else in addition to #ifdef #endif. Also fix one alignment +issue wrt delay slot. + +Cc: Ralf Baechle +Cc: Markos Chandras +Cc: stable@vger.kernel.org # v4.2+ +Signed-off-by: Aurelien Jarno +--- + arch/mips/net/bpf_jit_asm.S | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/arch/mips/net/bpf_jit_asm.S b/arch/mips/net/bpf_jit_asm.S +index e927260..4f54cb1 100644 +--- a/arch/mips/net/bpf_jit_asm.S ++++ b/arch/mips/net/bpf_jit_asm.S +@@ -151,9 +151,10 @@ NESTED(bpf_slow_path_word, (6 * SZREG), $r_sp) + wsbh t0, $r_s0 + jr $r_ra + rotr $r_A, t0, 16 +-#endif ++#else + jr $r_ra +- move $r_A, $r_s0 ++ move $r_A, $r_s0 ++#endif + + END(bpf_slow_path_word) + +@@ -162,9 +163,10 @@ NESTED(bpf_slow_path_half, (6 * SZREG), $r_sp) + #ifdef CONFIG_CPU_LITTLE_ENDIAN + jr $r_ra + wsbh $r_A, $r_s0 +-#endif ++#else + jr $r_ra + move $r_A, $r_s0 ++#endif + + END(bpf_slow_path_half) + +-- +2.1.4 + diff --git a/debian/patches/bugfix/mips/bpf-fix-build-on-pre-r2-little-endian-cpus.patch b/debian/patches/bugfix/mips/bpf-fix-build-on-pre-r2-little-endian-cpus.patch new file mode 100644 index 000000000..1b63e1bbb --- /dev/null +++ b/debian/patches/bugfix/mips/bpf-fix-build-on-pre-r2-little-endian-cpus.patch @@ -0,0 +1,117 @@ +From: Aurelien Jarno +Date: Sat, 5 Sep 2015 17:02:59 +0200 +Subject: [2/2] MIPS: BPF: Fix build on pre-R2 little endian CPUs +Origin: http://www.linux-mips.org/archives/linux-mips/2015-09/msg00041.html + +The rotr, seh and wsbh instructions have been introduced with the R2 +ISA. Thus the current BPF code fails to build on pre-R2 little endian +CPUs: + + CC arch/mips/net/bpf_jit.o + AS arch/mips/net/bpf_jit_asm.o + /home/aurel32/linux-4.2/arch/mips/net/bpf_jit_asm.S: Assembler messages: + /home/aurel32/linux-4.2/arch/mips/net/bpf_jit_asm.S:67: Error: opcode not supported on this processor: mips32 (mips32) `wsbh $8,$19' + /home/aurel32/linux-4.2/arch/mips/net/bpf_jit_asm.S:68: Error: opcode not supported on this processor: mips32 (mips32) `rotr $19,$8,16' + /home/aurel32/linux-4.2/arch/mips/net/bpf_jit_asm.S:83: Error: opcode not supported on this processor: mips32 (mips32) `wsbh $8,$19' + /home/aurel32/linux-4.2/arch/mips/net/bpf_jit_asm.S:84: Error: opcode not supported on this processor: mips32 (mips32) `seh $19,$8' + /home/aurel32/linux-4.2/arch/mips/net/bpf_jit_asm.S:151: Error: opcode not supported on this processor: mips32 (mips32) `wsbh $8,$12' + /home/aurel32/linux-4.2/arch/mips/net/bpf_jit_asm.S:153: Error: opcode not supported on this processor: mips32 (mips32) `rotr $19,$8,16' + /home/aurel32/linux-4.2/arch/mips/net/bpf_jit_asm.S:164: Error: opcode not supported on this processor: mips32 (mips32) `wsbh $19,$12' + /home/aurel32/linux-4.2/scripts/Makefile.build:294: recipe for target 'arch/mips/net/bpf_jit_asm.o' failed + +Fix that by providing equivalent code for these CPUs. + +Cc: Ralf Baechle +Cc: Markos Chandras +Cc: stable@vger.kernel.org # v4.2+ +Signed-off-by: Aurelien Jarno +--- + arch/mips/net/bpf_jit_asm.S | 42 ++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 42 insertions(+) + +diff --git a/arch/mips/net/bpf_jit_asm.S b/arch/mips/net/bpf_jit_asm.S +index 4f54cb1..dabf417 100644 +--- a/arch/mips/net/bpf_jit_asm.S ++++ b/arch/mips/net/bpf_jit_asm.S +@@ -64,8 +64,20 @@ sk_load_word_positive: + PTR_ADDU t1, $r_skb_data, offset + lw $r_A, 0(t1) + #ifdef CONFIG_CPU_LITTLE_ENDIAN ++# if defined(__mips_isa_rev) && (__mips_isa_rev >= 2) + wsbh t0, $r_A + rotr $r_A, t0, 16 ++# else ++ sll t0, $r_A, 24 ++ srl t1, $r_A, 24 ++ srl t2, $r_A, 8 ++ or t0, t0, t1 ++ andi t2, t2, 0xff00 ++ andi t1, $r_A, 0xff00 ++ or t0, t0, t2 ++ sll t1, t1, 8 ++ or $r_A, t0, t1 ++# endif + #endif + jr $r_ra + move $r_ret, zero +@@ -80,8 +92,16 @@ sk_load_half_positive: + PTR_ADDU t1, $r_skb_data, offset + lh $r_A, 0(t1) + #ifdef CONFIG_CPU_LITTLE_ENDIAN ++# if defined(__mips_isa_rev) && (__mips_isa_rev >= 2) + wsbh t0, $r_A + seh $r_A, t0 ++# else ++ sll t0, $r_A, 24 ++ andi t1, $r_A, 0xff00 ++ sra t0, t0, 16 ++ srl t1, t1, 8 ++ or $r_A, t0, t1 ++# endif + #endif + jr $r_ra + move $r_ret, zero +@@ -148,9 +168,22 @@ sk_load_byte_positive: + NESTED(bpf_slow_path_word, (6 * SZREG), $r_sp) + bpf_slow_path_common(4) + #ifdef CONFIG_CPU_LITTLE_ENDIAN ++# if defined(__mips_isa_rev) && (__mips_isa_rev >= 2) + wsbh t0, $r_s0 + jr $r_ra + rotr $r_A, t0, 16 ++# else ++ sll t0, $r_s0, 24 ++ srl t1, $r_s0, 24 ++ srl t2, $r_s0, 8 ++ or t0, t0, t1 ++ andi t2, t2, 0xff00 ++ andi t1, $r_s0, 0xff00 ++ or t0, t0, t2 ++ sll t1, t1, 8 ++ jr $r_ra ++ or $r_A, t0, t1 ++# endif + #else + jr $r_ra + move $r_A, $r_s0 +@@ -161,8 +194,17 @@ NESTED(bpf_slow_path_word, (6 * SZREG), $r_sp) + NESTED(bpf_slow_path_half, (6 * SZREG), $r_sp) + bpf_slow_path_common(2) + #ifdef CONFIG_CPU_LITTLE_ENDIAN ++# if defined(__mips_isa_rev) && (__mips_isa_rev >= 2) + jr $r_ra + wsbh $r_A, $r_s0 ++# else ++ sll t0, $r_s0, 8 ++ andi t1, $r_s0, 0xff00 ++ andi t0, t0, 0xff00 ++ srl t1, t1, 8 ++ jr $r_ra ++ or $r_A, t0, t1 ++# endif + #else + jr $r_ra + move $r_A, $r_s0 +-- +2.1.4 + diff --git a/debian/patches/series b/debian/patches/series index 85425ffb9..b9805de9c 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -46,6 +46,8 @@ debian/qxl-disable-modeset-by-default.patch # Arch bug fixes bugfix/mips/disable-advansys.patch +bugfix/mips/bpf-avoid-unreachable-code-on-little-endian.patch +bugfix/mips/bpf-fix-build-on-pre-r2-little-endian-cpus.patch bugfix/arm64/arm64-add-missing-dts-entry-for-X-Gene-platform.patch bugfix/arm64/arm64-removed-using-of-the-mask-attribute-in-the-dts.patch From 9ab2d09570ef54f75edaeb8e6d9bcf1cef880c01 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sat, 5 Sep 2015 21:16:58 +0100 Subject: [PATCH 41/53] Note that Aurelien's mipsel patches fix FTBFS --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 3b41a2222..c1da6a5d2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,7 +8,7 @@ linux (4.2-1~exp2) UNRELEASED; urgency=medium directly [ Aurelien Jarno ] - * [mips*el] Fix BPF assembly code for pre-R2 CPUs. + * [mips*el] Fix BPF assembly code for pre-R2 CPUs. (fixes FTBFS) -- Ben Hutchings Wed, 02 Sep 2015 00:29:36 +0100 From dd220fc567c8534f6758f00032950909ce18e02b Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 8 Sep 2015 12:46:57 +0100 Subject: [PATCH 42/53] workqueue: Make flush_workqueue() available again to non GPL modules (Closes: #798311) --- debian/changelog | 2 ++ ...lush_workqueue-available-again-to-no.patch | 35 +++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 38 insertions(+) create mode 100644 debian/patches/bugfix/all/workqueue-make-flush_workqueue-available-again-to-no.patch diff --git a/debian/changelog b/debian/changelog index c1da6a5d2..83e04185a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,8 @@ linux (4.2-1~exp2) UNRELEASED; urgency=medium * [hppa/parisc64-smp,[mips*el/loongson-3] udeb: Add i2c-modules and make fb-modules depend on it rather than including I2C modules directly + * workqueue: Make flush_workqueue() available again to non GPL modules + (Closes: #798311) [ Aurelien Jarno ] * [mips*el] Fix BPF assembly code for pre-R2 CPUs. (fixes FTBFS) diff --git a/debian/patches/bugfix/all/workqueue-make-flush_workqueue-available-again-to-no.patch b/debian/patches/bugfix/all/workqueue-make-flush_workqueue-available-again-to-no.patch new file mode 100644 index 000000000..571cc90c9 --- /dev/null +++ b/debian/patches/bugfix/all/workqueue-make-flush_workqueue-available-again-to-no.patch @@ -0,0 +1,35 @@ +From: Tim Gardner +Date: Tue, 4 Aug 2015 11:26:04 -0600 +Subject: workqueue: Make flush_workqueue() available again to non GPL modules +Origin: https://git.kernel.org/linus/1dadafa86a779884f14a6e7a3ddde1a57b0a0a65 +Bug-Debian: https://bugs.debian.org/798311 + +Commit 37b1ef31a568fc02e53587620226e5f3c66454c8 ("workqueue: move +flush_scheduled_work() to workqueue.h") moved the exported non GPL +flush_scheduled_work() from a function to an inline wrapper. +Unfortunately, it directly calls flush_workqueue() which is a GPL function. +This has the effect of changing the licensing requirement for this function +and makes it unavailable to non GPL modules. + +See commit ad7b1f841f8a54c6d61ff181451f55b68175e15a ("workqueue: Make +schedule_work() available again to non GPL modules") for precedent. + +Signed-off-by: Tim Gardner +Signed-off-by: Tejun Heo +--- + kernel/workqueue.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/kernel/workqueue.c b/kernel/workqueue.c +index 4c4f061..a413acb 100644 +--- a/kernel/workqueue.c ++++ b/kernel/workqueue.c +@@ -2614,7 +2614,7 @@ void flush_workqueue(struct workqueue_struct *wq) + out_unlock: + mutex_unlock(&wq->mutex); + } +-EXPORT_SYMBOL_GPL(flush_workqueue); ++EXPORT_SYMBOL(flush_workqueue); + + /** + * drain_workqueue - drain a workqueue diff --git a/debian/patches/series b/debian/patches/series index b9805de9c..9cb425ab4 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -90,3 +90,4 @@ features/all/grsecurity/grsecurity-kconfig.patch features/all/grsecurity/grkernsec_perf_harden.patch bugfix/all/gfs2-make-statistics-unsigned-suitable-for-use-with-.patch +bugfix/all/workqueue-make-flush_workqueue-available-again-to-no.patch From 5932de869ac805654c8200ec66f3423c4f843c30 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sat, 19 Sep 2015 03:15:21 +0200 Subject: [PATCH 43/53] vfs: Fix possible escape from mount namespace (CVE-2015-2925) --- debian/changelog | 5 + ...handle-escaped-paths-in-prepend_path.patch | 58 ++++++++++ ...he-scope-of-i_lock-in-d_splice_alias.patch | 65 +++++++++++ ...-handle-paths-that-are-unreachable-f.patch | 104 ++++++++++++++++++ debian/patches/series | 3 + 5 files changed, 235 insertions(+) create mode 100644 debian/patches/bugfix/all/dcache-handle-escaped-paths-in-prepend_path.patch create mode 100644 debian/patches/bugfix/all/dcache-reduce-the-scope-of-i_lock-in-d_splice_alias.patch create mode 100644 debian/patches/bugfix/all/vfs-test-for-and-handle-paths-that-are-unreachable-f.patch diff --git a/debian/changelog b/debian/changelog index 83e04185a..88c615f3d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,11 @@ linux (4.2-1~exp2) UNRELEASED; urgency=medium directly * workqueue: Make flush_workqueue() available again to non GPL modules (Closes: #798311) + * vfs: Fix possible escape from mount namespace (CVE-2015-2925): + - namei: lift (open-coded) terminate_walk() in follow_dotdot_rcu() into + callers + - dcache: Handle escaped paths in prepend_path + - vfs: Test for and handle paths that are unreachable from their mnt_root [ Aurelien Jarno ] * [mips*el] Fix BPF assembly code for pre-R2 CPUs. (fixes FTBFS) diff --git a/debian/patches/bugfix/all/dcache-handle-escaped-paths-in-prepend_path.patch b/debian/patches/bugfix/all/dcache-handle-escaped-paths-in-prepend_path.patch new file mode 100644 index 000000000..9b4e9136a --- /dev/null +++ b/debian/patches/bugfix/all/dcache-handle-escaped-paths-in-prepend_path.patch @@ -0,0 +1,58 @@ +From: "Eric W. Biederman" +Date: Sat, 15 Aug 2015 13:36:12 -0500 +Subject: dcache: Handle escaped paths in prepend_path +Origin: https://git.kernel.org/linus/cde93be45a8a90d8c264c776fab63487b5038a65 + +A rename can result in a dentry that by walking up d_parent +will never reach it's mnt_root. For lack of a better term +I call this an escaped path. + +prepend_path is called by four different functions __d_path, +d_absolute_path, d_path, and getcwd. + +__d_path only wants to see paths are connected to the root it passes +in. So __d_path needs prepend_path to return an error. + +d_absolute_path similarly wants to see paths that are connected to +some root. Escaped paths are not connected to any mnt_root so +d_absolute_path needs prepend_path to return an error greater +than 1. So escaped paths will be treated like paths on lazily +unmounted mounts. + +getcwd needs to prepend "(unreachable)" so getcwd also needs +prepend_path to return an error. + +d_path is the interesting hold out. d_path just wants to print +something, and does not care about the weird cases. Which raises +the question what should be printed? + +Given that / should result in -ENOENT I +believe it is desirable for escaped paths to be printed as empty +paths. As there are not really any meaninful path components when +considered from the perspective of a mount tree. + +So tweak prepend_path to return an empty path with an new error +code of 3 when it encounters an escaped path. + +Signed-off-by: "Eric W. Biederman" +Signed-off-by: Al Viro +--- + fs/dcache.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +--- a/fs/dcache.c ++++ b/fs/dcache.c +@@ -2927,6 +2927,13 @@ restart: + + if (dentry == vfsmnt->mnt_root || IS_ROOT(dentry)) { + struct mount *parent = ACCESS_ONCE(mnt->mnt_parent); ++ /* Escaped? */ ++ if (dentry != vfsmnt->mnt_root) { ++ bptr = *buffer; ++ blen = *buflen; ++ error = 3; ++ break; ++ } + /* Global root? */ + if (mnt != parent) { + dentry = ACCESS_ONCE(mnt->mnt_mountpoint); diff --git a/debian/patches/bugfix/all/dcache-reduce-the-scope-of-i_lock-in-d_splice_alias.patch b/debian/patches/bugfix/all/dcache-reduce-the-scope-of-i_lock-in-d_splice_alias.patch new file mode 100644 index 000000000..e41c4fac2 --- /dev/null +++ b/debian/patches/bugfix/all/dcache-reduce-the-scope-of-i_lock-in-d_splice_alias.patch @@ -0,0 +1,65 @@ +From: "Eric W. Biederman" +Date: Sat, 15 Aug 2015 13:36:41 -0500 +Subject: dcache: Reduce the scope of i_lock in d_splice_alias +Origin: https://git.kernel.org/linus/a03e283bf5c3d4851b4998122196ce9f849e6dfb + +i_lock is only needed until __d_find_any_alias calls dget on the alias +dentry. After that the reference to new ensures that dentry_kill and +d_delete will not remove the inode from the dentry, and remove the +dentry from the inode->d_entry list. + +The inode i_lock came to be held over the the __d_move calls in +d_splice_alias through a series of introduction of locks with +increasing smaller scope. First it was the dcache_lock, then +it was the dcache_inode_lock, and finally inode->i_lock. + +Furthermore inode->i_lock is not held over any other calls +to d_move or __d_move so it can not provide any meaningful +rename protection. + +Signed-off-by: "Eric W. Biederman" +Signed-off-by: Al Viro +--- + fs/dcache.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +--- a/fs/dcache.c ++++ b/fs/dcache.c +@@ -2719,7 +2719,7 @@ struct dentry *d_ancestor(struct dentry + * This helper attempts to cope with remotely renamed directories + * + * It assumes that the caller is already holding +- * dentry->d_parent->d_inode->i_mutex, inode->i_lock and rename_lock ++ * dentry->d_parent->d_inode->i_mutex, and rename_lock + * + * Note: If ever the locking in lock_rename() changes, then please + * remember to update this too... +@@ -2745,7 +2745,6 @@ out_unalias: + __d_move(alias, dentry, false); + ret = 0; + out_err: +- spin_unlock(&inode->i_lock); + if (m2) + mutex_unlock(m2); + if (m1) +@@ -2791,10 +2790,11 @@ struct dentry *d_splice_alias(struct ino + if (S_ISDIR(inode->i_mode)) { + struct dentry *new = __d_find_any_alias(inode); + if (unlikely(new)) { ++ /* The reference to new ensures it remains an alias */ ++ spin_unlock(&inode->i_lock); + write_seqlock(&rename_lock); + if (unlikely(d_ancestor(new, dentry))) { + write_sequnlock(&rename_lock); +- spin_unlock(&inode->i_lock); + dput(new); + new = ERR_PTR(-ELOOP); + pr_warn_ratelimited( +@@ -2813,7 +2813,6 @@ struct dentry *d_splice_alias(struct ino + } else { + __d_move(new, dentry, false); + write_sequnlock(&rename_lock); +- spin_unlock(&inode->i_lock); + security_d_instantiate(new, inode); + } + iput(inode); diff --git a/debian/patches/bugfix/all/vfs-test-for-and-handle-paths-that-are-unreachable-f.patch b/debian/patches/bugfix/all/vfs-test-for-and-handle-paths-that-are-unreachable-f.patch new file mode 100644 index 000000000..7d38eac91 --- /dev/null +++ b/debian/patches/bugfix/all/vfs-test-for-and-handle-paths-that-are-unreachable-f.patch @@ -0,0 +1,104 @@ +From: "Eric W. Biederman" +Date: Sat, 15 Aug 2015 20:27:13 -0500 +Subject: vfs: Test for and handle paths that are unreachable from their mnt_root +Origin: https://git.kernel.org/linus/397d425dc26da728396e66d392d5dcb8dac30c37 + +In rare cases a directory can be renamed out from under a bind mount. +In those cases without special handling it becomes possible to walk up +the directory tree to the root dentry of the filesystem and down +from the root dentry to every other file or directory on the filesystem. + +Like division by zero .. from an unconnected path can not be given +a useful semantic as there is no predicting at which path component +the code will realize it is unconnected. We certainly can not match +the current behavior as the current behavior is a security hole. + +Therefore when encounting .. when following an unconnected path +return -ENOENT. + +- Add a function path_connected to verify path->dentry is reachable + from path->mnt.mnt_root. AKA to validate that rename did not do + something nasty to the bind mount. + + To avoid races path_connected must be called after following a path + component to it's next path component. + +Signed-off-by: "Eric W. Biederman" +Signed-off-by: Al Viro +--- + fs/namei.c | 27 +++++++++++++++++++++++++-- + 1 file changed, 25 insertions(+), 2 deletions(-) + +diff --git a/fs/namei.c b/fs/namei.c +index 1c2105e..29b9279 100644 +--- a/fs/namei.c ++++ b/fs/namei.c +@@ -560,6 +560,24 @@ static int __nd_alloc_stack(struct nameidata *nd) + return 0; + } + ++/** ++ * path_connected - Verify that a path->dentry is below path->mnt.mnt_root ++ * @path: nameidate to verify ++ * ++ * Rename can sometimes move a file or directory outside of a bind ++ * mount, path_connected allows those cases to be detected. ++ */ ++static bool path_connected(const struct path *path) ++{ ++ struct vfsmount *mnt = path->mnt; ++ ++ /* Only bind mounts can have disconnected paths */ ++ if (mnt->mnt_root == mnt->mnt_sb->s_root) ++ return true; ++ ++ return is_subdir(path->dentry, mnt->mnt_root); ++} ++ + static inline int nd_alloc_stack(struct nameidata *nd) + { + if (likely(nd->depth != EMBEDDED_LEVELS)) +@@ -1296,6 +1314,8 @@ static int follow_dotdot_rcu(struct nameidata *nd) + return -ECHILD; + nd->path.dentry = parent; + nd->seq = seq; ++ if (unlikely(!path_connected(&nd->path))) ++ return -ENOENT; + break; + } else { + struct mount *mnt = real_mount(nd->path.mnt); +@@ -1396,7 +1416,7 @@ static void follow_mount(struct path *path) + } + } + +-static void follow_dotdot(struct nameidata *nd) ++static int follow_dotdot(struct nameidata *nd) + { + if (!nd->root.mnt) + set_root(nd); +@@ -1412,6 +1432,8 @@ static void follow_dotdot(struct nameidata *nd) + /* rare case of legitimate dget_parent()... */ + nd->path.dentry = dget_parent(nd->path.dentry); + dput(old); ++ if (unlikely(!path_connected(&nd->path))) ++ return -ENOENT; + break; + } + if (!follow_up(&nd->path)) +@@ -1419,6 +1441,7 @@ static void follow_dotdot(struct nameidata *nd) + } + follow_mount(&nd->path); + nd->inode = nd->path.dentry->d_inode; ++ return 0; + } + + /* +@@ -1634,7 +1657,7 @@ static inline int handle_dots(struct nameidata *nd, int type) + if (nd->flags & LOOKUP_RCU) { + return follow_dotdot_rcu(nd); + } else +- follow_dotdot(nd); ++ return follow_dotdot(nd); + } + return 0; + } diff --git a/debian/patches/series b/debian/patches/series index 9cb425ab4..84f548fc2 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -91,3 +91,6 @@ features/all/grsecurity/grkernsec_perf_harden.patch bugfix/all/gfs2-make-statistics-unsigned-suitable-for-use-with-.patch bugfix/all/workqueue-make-flush_workqueue-available-again-to-no.patch +bugfix/all/dcache-handle-escaped-paths-in-prepend_path.patch +bugfix/all/dcache-reduce-the-scope-of-i_lock-in-d_splice_alias.patch +bugfix/all/vfs-test-for-and-handle-paths-that-are-unreachable-f.patch From 4cfa583b64b035a1d5de8eb37d1d9c6da9b1bbfa Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sat, 19 Sep 2015 03:20:55 +0200 Subject: [PATCH 44/53] aufs: Update support patches to aufs4.x-rcN-20150921 mmap: Fix races in madvise_remove() and sys_msync() (Closes: #796036) --- debian/changelog | 2 + .../features/all/aufs4/aufs4-base.patch | 24 ++-- .../features/all/aufs4/aufs4-mmap.patch | 125 +++++++++--------- .../features/all/aufs4/aufs4-standalone.patch | 6 +- 4 files changed, 76 insertions(+), 81 deletions(-) diff --git a/debian/changelog b/debian/changelog index 88c615f3d..8dd0d2da2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -13,6 +13,8 @@ linux (4.2-1~exp2) UNRELEASED; urgency=medium callers - dcache: Handle escaped paths in prepend_path - vfs: Test for and handle paths that are unreachable from their mnt_root + * aufs: Update support patches to aufs4.x-rcN-20150921 + - mmap: Fix races in madvise_remove() and sys_msync() (Closes: #796036) [ Aurelien Jarno ] * [mips*el] Fix BPF assembly code for pre-R2 CPUs. (fixes FTBFS) diff --git a/debian/patches/features/all/aufs4/aufs4-base.patch b/debian/patches/features/all/aufs4/aufs4-base.patch index 37e7ba5ff..03e7aca84 100644 --- a/debian/patches/features/all/aufs4/aufs4-base.patch +++ b/debian/patches/features/all/aufs4/aufs4-base.patch @@ -1,7 +1,7 @@ From: J. R. Okajima -Date: Sat Jun 6 21:25:05 2015 +0900 +Date: Sat Sep 19 06:24:59 2015 +0900 Subject: aufs4.x-rcN base patch -Origin: https://github.com/sfjro/aufs4-standalone/tree/aa65d099b5220918a0509c91ece96b79f7cb4b2d +Origin: https://github.com/sfjro/aufs4-standalone/tree/4e2f15c8b322d41405616d118f13fe2c4abbf26f Bug-Debian: https://bugs.debian.org/541828 Patch headers added by debian/patches/features/all/aufs4/gen-patch @@ -9,10 +9,10 @@ Patch headers added by debian/patches/features/all/aufs4/gen-patch aufs4.x-rcN base patch diff --git a/MAINTAINERS b/MAINTAINERS -index af802b3..b29cdd2 100644 +index 8133cef..04beb19 100644 --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -1880,6 +1880,19 @@ F: include/linux/audit.h +@@ -1939,6 +1939,19 @@ F: include/linux/audit.h F: include/uapi/linux/audit.h F: kernel/audit* @@ -33,10 +33,10 @@ index af802b3..b29cdd2 100644 M: Miguel Ojeda Sandonis W: http://miguelojeda.es/auxdisplay.htm diff --git a/drivers/block/loop.c b/drivers/block/loop.c -index d7173cb..0160952 100644 +index f7a4c9d..23103ad 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c -@@ -540,6 +540,24 @@ static inline int is_loop_device(struct file *file) +@@ -560,6 +560,24 @@ static inline int is_loop_device(struct file *file) return i && S_ISBLK(i->i_mode) && MAJOR(i->i_rdev) == LOOP_MAJOR; } @@ -62,7 +62,7 @@ index d7173cb..0160952 100644 static ssize_t loop_attr_show(struct device *dev, char *page, diff --git a/fs/dcache.c b/fs/dcache.c -index 37b5afd..bc261e2 100644 +index 7a3f3e5..0b40298 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -1164,7 +1164,7 @@ enum d_walk_ret { @@ -108,10 +108,10 @@ index 819ef3f..fd0414e 100644 { mm_segment_t old_fs; diff --git a/fs/splice.c b/fs/splice.c -index bfe62ae..fa5eee5 100644 +index 5fc1e50..5f8385a 100644 --- a/fs/splice.c +++ b/fs/splice.c -@@ -1101,8 +1101,8 @@ EXPORT_SYMBOL(generic_splice_sendpage); +@@ -1102,8 +1102,8 @@ EXPORT_SYMBOL(generic_splice_sendpage); /* * Attempt to initiate a splice from pipe to file. */ @@ -122,7 +122,7 @@ index bfe62ae..fa5eee5 100644 { ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int); -@@ -1118,9 +1118,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, +@@ -1119,9 +1119,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, /* * Attempt to initiate a splice from a file to a pipe. */ @@ -148,10 +148,10 @@ index f87d308..9a290b3 100644 static inline void fput_light(struct file *file, int fput_needed) { diff --git a/include/linux/fs.h b/include/linux/fs.h -index 35ec87e..3229f97 100644 +index a0653e5..86080ea 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h -@@ -1649,6 +1649,12 @@ ssize_t rw_copy_check_uvector(int type, const struct iovec __user * uvector, +@@ -1661,6 +1661,12 @@ ssize_t rw_copy_check_uvector(int type, const struct iovec __user * uvector, struct iovec *fast_pointer, struct iovec **ret_pointer); diff --git a/debian/patches/features/all/aufs4/aufs4-mmap.patch b/debian/patches/features/all/aufs4/aufs4-mmap.patch index eee90c7f2..f0d7aa853 100644 --- a/debian/patches/features/all/aufs4/aufs4-mmap.patch +++ b/debian/patches/features/all/aufs4/aufs4-mmap.patch @@ -1,18 +1,18 @@ From: J. R. Okajima -Date: Sat May 2 13:25:44 2015 +0900 +Date: Sat Sep 19 06:24:59 2015 +0900 Subject: aufs4.x-rcN mmap patch -Origin: https://github.com/sfjro/aufs4-standalone/tree/aa65d099b5220918a0509c91ece96b79f7cb4b2d +Origin: https://github.com/sfjro/aufs4-standalone/tree/4e2f15c8b322d41405616d118f13fe2c4abbf26f Bug-Debian: https://bugs.debian.org/541828 Patch headers added by debian/patches/features/all/aufs4/gen-patch aufs4.x-rcN mmap patch -[bwh: Adjusted context for 4.2] - +diff --git a/fs/buffer.c b/fs/buffer.c +index 1cf7a53..076aff86 100644 --- a/fs/buffer.c +++ b/fs/buffer.c -@@ -2473,7 +2473,7 @@ int block_page_mkwrite(struct vm_area_st +@@ -2473,7 +2473,7 @@ int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf, * Update file times before taking page lock. We may end up failing the * fault so this update may be superfluous but who really cares... */ @@ -21,9 +21,11 @@ aufs4.x-rcN mmap patch ret = __block_page_mkwrite(vma, vmf, get_block); sb_end_pagefault(sb); +diff --git a/fs/proc/base.c b/fs/proc/base.c +index 87782e8..b287e64 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c -@@ -1939,7 +1939,7 @@ static int proc_map_files_get_link(struc +@@ -1934,7 +1934,7 @@ static int proc_map_files_get_link(struct dentry *dentry, struct path *path) down_read(&mm->mmap_sem); vma = find_exact_vma(mm, vm_start, vm_end); if (vma && vma->vm_file) { @@ -32,9 +34,11 @@ aufs4.x-rcN mmap patch path_get(path); rc = 0; } +diff --git a/fs/proc/nommu.c b/fs/proc/nommu.c +index f8595e8..cb8eda0 100644 --- a/fs/proc/nommu.c +++ b/fs/proc/nommu.c -@@ -45,7 +45,10 @@ static int nommu_region_show(struct seq_ +@@ -45,7 +45,10 @@ static int nommu_region_show(struct seq_file *m, struct vm_region *region) file = region->vm_file; if (file) { @@ -46,9 +50,11 @@ aufs4.x-rcN mmap patch dev = inode->i_sb->s_dev; ino = inode->i_ino; } +diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c +index ca1e091..8940e47 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c -@@ -279,7 +279,10 @@ show_map_vma(struct seq_file *m, struct +@@ -279,7 +279,10 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma, int is_pid) const char *name = NULL; if (file) { @@ -60,7 +66,7 @@ aufs4.x-rcN mmap patch dev = inode->i_sb->s_dev; ino = inode->i_ino; pgoff = ((loff_t)vma->vm_pgoff) << PAGE_SHIFT; -@@ -1479,7 +1482,7 @@ static int show_numa_map(struct seq_file +@@ -1479,7 +1482,7 @@ static int show_numa_map(struct seq_file *m, void *v, int is_pid) struct proc_maps_private *proc_priv = &numa_priv->proc_maps; struct vm_area_struct *vma = v; struct numa_maps *md = &numa_priv->md; @@ -69,27 +75,30 @@ aufs4.x-rcN mmap patch struct mm_struct *mm = vma->vm_mm; struct mm_walk walk = { .hugetlb_entry = gather_hugetlb_stats, +diff --git a/fs/proc/task_nommu.c b/fs/proc/task_nommu.c +index e0d64c9..7aa92db 100644 --- a/fs/proc/task_nommu.c +++ b/fs/proc/task_nommu.c -@@ -160,7 +160,10 @@ static int nommu_vma_show(struct seq_fil +@@ -160,7 +160,10 @@ static int nommu_vma_show(struct seq_file *m, struct vm_area_struct *vma, file = vma->vm_file; if (file) { - struct inode *inode = file_inode(vma->vm_file); + struct inode *inode; + -+ file = vma_pr_or_file(file); ++ file = vma_pr_or_file(vma); + inode = file_inode(file); dev = inode->i_sb->s_dev; ino = inode->i_ino; pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT; +diff --git a/include/linux/mm.h b/include/linux/mm.h +index 2e872f9..2494ed2 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h -@@ -1173,6 +1173,28 @@ static inline int fixup_user_fault(struc +@@ -1173,6 +1173,28 @@ static inline int fixup_user_fault(struct task_struct *tsk, } #endif -+#ifdef CONFIG_MMU +extern void vma_do_file_update_time(struct vm_area_struct *, const char[], int); +extern struct file *vma_do_pr_or_file(struct vm_area_struct *, const char[], + int); @@ -102,18 +111,21 @@ aufs4.x-rcN mmap patch + __LINE__) +#define vma_get_file(vma) vma_do_get_file(vma, __func__, __LINE__) +#define vma_fput(vma) vma_do_fput(vma, __func__, __LINE__) -+#else ++ ++#ifndef CONFIG_MMU +extern struct file *vmr_do_pr_or_file(struct vm_region *, const char[], int); +extern void vmr_do_fput(struct vm_region *, const char[], int); + +#define vmr_pr_or_file(region) vmr_do_pr_or_file(region, __func__, \ + __LINE__) +#define vmr_fput(region) vmr_do_fput(region, __func__, __LINE__) -+#endif /* CONFIG_MMU */ ++#endif /* !CONFIG_MMU */ + extern int access_process_vm(struct task_struct *tsk, unsigned long addr, void *buf, int len, int write); extern int access_remote_vm(struct mm_struct *mm, unsigned long addr, void *buf, int len, int write); +diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h +index 0038ac7..409940d 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -259,6 +259,7 @@ struct vm_region { @@ -132,9 +144,11 @@ aufs4.x-rcN mmap patch void * vm_private_data; /* was vm_pte (shared mem) */ #ifndef CONFIG_MMU +diff --git a/kernel/fork.c b/kernel/fork.c +index 1bfefc6..a86bd7f 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -461,7 +461,7 @@ static int dup_mmap(struct mm_struct *mm +@@ -456,7 +456,7 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) struct inode *inode = file_inode(file); struct address_space *mapping = file->f_mapping; @@ -143,9 +157,11 @@ aufs4.x-rcN mmap patch if (tmp->vm_flags & VM_DENYWRITE) atomic_dec(&inode->i_writecount); i_mmap_lock_write(mapping); +diff --git a/mm/Makefile b/mm/Makefile +index 98c4eae..3f0c9b9 100644 --- a/mm/Makefile +++ b/mm/Makefile -@@ -21,7 +21,7 @@ obj-y := filemap.o mempool.o oom_kill. +@@ -21,7 +21,7 @@ obj-y := filemap.o mempool.o oom_kill.o \ mm_init.o mmu_context.o percpu.o slab_common.o \ compaction.o vmacache.o \ interval_tree.o list_lru.o workingset.o \ @@ -154,9 +170,11 @@ aufs4.x-rcN mmap patch obj-y += init-mm.o +diff --git a/mm/filemap.c b/mm/filemap.c +index 1283fc8..128f18f 100644 --- a/mm/filemap.c +++ b/mm/filemap.c -@@ -2089,7 +2089,7 @@ int filemap_page_mkwrite(struct vm_area_ +@@ -2089,7 +2089,7 @@ int filemap_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf) int ret = VM_FAULT_LOCKED; sb_start_pagefault(inode->i_sb); @@ -165,26 +183,11 @@ aufs4.x-rcN mmap patch lock_page(page); if (page->mapping != inode->i_mapping) { unlock_page(page); ---- a/mm/madvise.c -+++ b/mm/madvise.c -@@ -321,12 +321,12 @@ static long madvise_remove(struct vm_are - * vma's reference to the file) can go away as soon as we drop - * mmap_sem. - */ -- get_file(f); -+ vma_get_file(vma); - up_read(¤t->mm->mmap_sem); - error = vfs_fallocate(f, - FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, - offset, end - start); -- fput(f); -+ vma_fput(vma); - down_read(¤t->mm->mmap_sem); - return error; - } +diff --git a/mm/memory.c b/mm/memory.c +index a84fbb7..13973d2 100644 --- a/mm/memory.c +++ b/mm/memory.c -@@ -2034,7 +2034,7 @@ static inline int wp_page_reuse(struct m +@@ -2034,7 +2034,7 @@ static inline int wp_page_reuse(struct mm_struct *mm, } if (!page_mkwrite) @@ -193,9 +196,11 @@ aufs4.x-rcN mmap patch } return VM_FAULT_WRITE; +diff --git a/mm/mmap.c b/mm/mmap.c +index aa632ad..3ff75d3 100644 --- a/mm/mmap.c +++ b/mm/mmap.c -@@ -274,7 +274,7 @@ static struct vm_area_struct *remove_vma +@@ -274,7 +274,7 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma) if (vma->vm_ops && vma->vm_ops->close) vma->vm_ops->close(vma); if (vma->vm_file) @@ -204,7 +209,7 @@ aufs4.x-rcN mmap patch mpol_put(vma_policy(vma)); kmem_cache_free(vm_area_cachep, vma); return next; -@@ -886,7 +886,7 @@ again: remove_next = 1 + (end > next-> +@@ -886,7 +886,7 @@ again: remove_next = 1 + (end > next->vm_end); if (remove_next) { if (file) { uprobe_munmap(next, next->vm_start, next->vm_end); @@ -223,7 +228,7 @@ aufs4.x-rcN mmap patch /* Undo any partial mapping done by a device driver. */ unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end); -@@ -2473,7 +2473,7 @@ static int __split_vma(struct mm_struct +@@ -2473,7 +2473,7 @@ static int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma, goto out_free_mpol; if (new->vm_file) @@ -232,7 +237,7 @@ aufs4.x-rcN mmap patch if (new->vm_ops && new->vm_ops->open) new->vm_ops->open(new); -@@ -2492,7 +2492,7 @@ static int __split_vma(struct mm_struct +@@ -2492,7 +2492,7 @@ static int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma, if (new->vm_ops && new->vm_ops->close) new->vm_ops->close(new); if (new->vm_file) @@ -241,7 +246,7 @@ aufs4.x-rcN mmap patch unlink_anon_vmas(new); out_free_mpol: mpol_put(vma_policy(new)); -@@ -2635,7 +2635,6 @@ SYSCALL_DEFINE5(remap_file_pages, unsign +@@ -2635,7 +2635,6 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size, struct vm_area_struct *vma; unsigned long populate = 0; unsigned long ret = -EINVAL; @@ -249,7 +254,7 @@ aufs4.x-rcN mmap patch pr_warn_once("%s (%d) uses deprecated remap_file_pages() syscall. " "See Documentation/vm/remap_file_pages.txt.\n", -@@ -2679,10 +2678,10 @@ SYSCALL_DEFINE5(remap_file_pages, unsign +@@ -2679,10 +2678,10 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size, munlock_vma_pages_range(vma, start, start + size); } @@ -262,7 +267,7 @@ aufs4.x-rcN mmap patch out: up_write(&mm->mmap_sem); if (populate) -@@ -2949,7 +2948,7 @@ struct vm_area_struct *copy_vma(struct v +@@ -2949,7 +2948,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, if (anon_vma_clone(new_vma, vma)) goto out_free_mempol; if (new_vma->vm_file) @@ -271,24 +276,11 @@ aufs4.x-rcN mmap patch if (new_vma->vm_ops && new_vma->vm_ops->open) new_vma->vm_ops->open(new_vma); vma_link(mm, new_vma, prev, rb_link, rb_parent); ---- a/mm/msync.c -+++ b/mm/msync.c -@@ -84,10 +84,10 @@ SYSCALL_DEFINE3(msync, unsigned long, st - start = vma->vm_end; - if ((flags & MS_SYNC) && file && - (vma->vm_flags & VM_SHARED)) { -- get_file(file); -+ vma_get_file(vma); - up_read(&mm->mmap_sem); - error = vfs_fsync_range(file, fstart, fend, 1); -- fput(file); -+ vma_fput(vma); - if (error || start >= end) - goto out; - down_read(&mm->mmap_sem); +diff --git a/mm/nommu.c b/mm/nommu.c +index 58ea364..f937b7e 100644 --- a/mm/nommu.c +++ b/mm/nommu.c -@@ -671,7 +671,7 @@ static void __put_nommu_region(struct vm +@@ -671,7 +671,7 @@ static void __put_nommu_region(struct vm_region *region) up_write(&nommu_region_sem); if (region->vm_file) @@ -297,7 +289,7 @@ aufs4.x-rcN mmap patch /* IO memory and memory shared directly out of the pagecache * from ramfs/tmpfs mustn't be released here */ -@@ -829,7 +829,7 @@ static void delete_vma(struct mm_struct +@@ -829,7 +829,7 @@ static void delete_vma(struct mm_struct *mm, struct vm_area_struct *vma) if (vma->vm_ops && vma->vm_ops->close) vma->vm_ops->close(vma); if (vma->vm_file) @@ -306,7 +298,7 @@ aufs4.x-rcN mmap patch put_nommu_region(vma->vm_region); kmem_cache_free(vm_area_cachep, vma); } -@@ -1354,7 +1354,7 @@ unsigned long do_mmap_pgoff(struct file +@@ -1354,7 +1354,7 @@ unsigned long do_mmap_pgoff(struct file *file, goto error_just_free; } } @@ -328,6 +320,9 @@ aufs4.x-rcN mmap patch kmem_cache_free(vm_area_cachep, vma); return ret; +diff --git a/mm/prfile.c b/mm/prfile.c +new file mode 100644 +index 0000000..b323b8a --- /dev/null +++ b/mm/prfile.c @@ -0,0 +1,86 @@ @@ -352,12 +347,11 @@ aufs4.x-rcN mmap patch +{ +#ifdef PRFILE_TRACE + if (pr) -+ pr_info("%s:%d: %s, %p\n", func, line, func2, ++ pr_info("%s:%d: %s, %s\n", func, line, func2, + f ? (char *)f->f_path.dentry->d_name.name : "(null)"); +#endif +} + -+#ifdef CONFIG_MMU +void vma_do_file_update_time(struct vm_area_struct *vma, const char func[], + int line) +{ @@ -397,7 +391,8 @@ aufs4.x-rcN mmap patch + if (f && pr) + fput(pr); +} -+#else ++ ++#ifndef CONFIG_MMU +struct file *vmr_do_pr_or_file(struct vm_region *region, const char func[], + int line) +{ @@ -416,4 +411,4 @@ aufs4.x-rcN mmap patch + if (f && pr) + fput(pr); +} -+#endif /* CONFIG_MMU */ ++#endif /* !CONFIG_MMU */ diff --git a/debian/patches/features/all/aufs4/aufs4-standalone.patch b/debian/patches/features/all/aufs4/aufs4-standalone.patch index 2bdc0a40b..014308779 100644 --- a/debian/patches/features/all/aufs4/aufs4-standalone.patch +++ b/debian/patches/features/all/aufs4/aufs4-standalone.patch @@ -1,15 +1,13 @@ From: J. R. Okajima -Date: Sat Jun 6 21:25:05 2015 +0900 +Date: Sat Sep 19 06:24:59 2015 +0900 Subject: aufs4.x-rcN standalone patch -Origin: https://github.com/sfjro/aufs4-standalone/tree/aa65d099b5220918a0509c91ece96b79f7cb4b2d +Origin: https://github.com/sfjro/aufs4-standalone/tree/4e2f15c8b322d41405616d118f13fe2c4abbf26f Bug-Debian: https://bugs.debian.org/541828 Patch headers added by debian/patches/features/all/aufs4/gen-patch aufs4.x-rcN standalone patch -[bwh: Adjusted context for 4.2] - --- a/fs/dcache.c +++ b/fs/dcache.c @@ -1272,6 +1272,7 @@ rename_retry: From 57644b0054233fdd55c77208ab454239af0b7bb7 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sat, 19 Sep 2015 03:25:49 +0200 Subject: [PATCH 45/53] RDS: verify the underlying transport exists before creating a connection (CVE-2015-6937) --- debian/changelog | 2 + ...nderlying-transport-exists-before-cr.patch | 74 +++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 77 insertions(+) create mode 100644 debian/patches/bugfix/all/rds-verify-the-underlying-transport-exists-before-cr.patch diff --git a/debian/changelog b/debian/changelog index 8dd0d2da2..8a5b911da 100644 --- a/debian/changelog +++ b/debian/changelog @@ -15,6 +15,8 @@ linux (4.2-1~exp2) UNRELEASED; urgency=medium - vfs: Test for and handle paths that are unreachable from their mnt_root * aufs: Update support patches to aufs4.x-rcN-20150921 - mmap: Fix races in madvise_remove() and sys_msync() (Closes: #796036) + * RDS: verify the underlying transport exists before creating a connection + (CVE-2015-6937) [ Aurelien Jarno ] * [mips*el] Fix BPF assembly code for pre-R2 CPUs. (fixes FTBFS) diff --git a/debian/patches/bugfix/all/rds-verify-the-underlying-transport-exists-before-cr.patch b/debian/patches/bugfix/all/rds-verify-the-underlying-transport-exists-before-cr.patch new file mode 100644 index 000000000..0068818a9 --- /dev/null +++ b/debian/patches/bugfix/all/rds-verify-the-underlying-transport-exists-before-cr.patch @@ -0,0 +1,74 @@ +From: Sasha Levin +Date: Tue, 8 Sep 2015 10:53:40 -0400 +Subject: RDS: verify the underlying transport exists before creating a + connection +Origin: https://git.kernel.org/linus/74e98eb085889b0d2d4908f59f6e00026063014f + +There was no verification that an underlying transport exists when creating +a connection, this would cause dereferencing a NULL ptr. + +It might happen on sockets that weren't properly bound before attempting to +send a message, which will cause a NULL ptr deref: + +[135546.047719] kasan: GPF could be caused by NULL-ptr deref or user memory accessgeneral protection fault: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC KASAN +[135546.051270] Modules linked in: +[135546.051781] CPU: 4 PID: 15650 Comm: trinity-c4 Not tainted 4.2.0-next-20150902-sasha-00041-gbaa1222-dirty #2527 +[135546.053217] task: ffff8800835bc000 ti: ffff8800bc708000 task.ti: ffff8800bc708000 +[135546.054291] RIP: __rds_conn_create (net/rds/connection.c:194) +[135546.055666] RSP: 0018:ffff8800bc70fab0 EFLAGS: 00010202 +[135546.056457] RAX: dffffc0000000000 RBX: 0000000000000f2c RCX: ffff8800835bc000 +[135546.057494] RDX: 0000000000000007 RSI: ffff8800835bccd8 RDI: 0000000000000038 +[135546.058530] RBP: ffff8800bc70fb18 R08: 0000000000000001 R09: 0000000000000000 +[135546.059556] R10: ffffed014d7a3a23 R11: ffffed014d7a3a21 R12: 0000000000000000 +[135546.060614] R13: 0000000000000001 R14: ffff8801ec3d0000 R15: 0000000000000000 +[135546.061668] FS: 00007faad4ffb700(0000) GS:ffff880252000000(0000) knlGS:0000000000000000 +[135546.062836] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b +[135546.063682] CR2: 000000000000846a CR3: 000000009d137000 CR4: 00000000000006a0 +[135546.064723] Stack: +[135546.065048] ffffffffafe2055c ffffffffafe23fc1 ffffed00493097bf ffff8801ec3d0008 +[135546.066247] 0000000000000000 00000000000000d0 0000000000000000 ac194a24c0586342 +[135546.067438] 1ffff100178e1f78 ffff880320581b00 ffff8800bc70fdd0 ffff880320581b00 +[135546.068629] Call Trace: +[135546.069028] ? __rds_conn_create (include/linux/rcupdate.h:856 net/rds/connection.c:134) +[135546.069989] ? rds_message_copy_from_user (net/rds/message.c:298) +[135546.071021] rds_conn_create_outgoing (net/rds/connection.c:278) +[135546.071981] rds_sendmsg (net/rds/send.c:1058) +[135546.072858] ? perf_trace_lock (include/trace/events/lock.h:38) +[135546.073744] ? lockdep_init (kernel/locking/lockdep.c:3298) +[135546.074577] ? rds_send_drop_to (net/rds/send.c:976) +[135546.075508] ? __might_fault (./arch/x86/include/asm/current.h:14 mm/memory.c:3795) +[135546.076349] ? __might_fault (mm/memory.c:3795) +[135546.077179] ? rds_send_drop_to (net/rds/send.c:976) +[135546.078114] sock_sendmsg (net/socket.c:611 net/socket.c:620) +[135546.078856] SYSC_sendto (net/socket.c:1657) +[135546.079596] ? SYSC_connect (net/socket.c:1628) +[135546.080510] ? trace_dump_stack (kernel/trace/trace.c:1926) +[135546.081397] ? ring_buffer_unlock_commit (kernel/trace/ring_buffer.c:2479 kernel/trace/ring_buffer.c:2558 kernel/trace/ring_buffer.c:2674) +[135546.082390] ? trace_buffer_unlock_commit (kernel/trace/trace.c:1749) +[135546.083410] ? trace_event_raw_event_sys_enter (include/trace/events/syscalls.h:16) +[135546.084481] ? do_audit_syscall_entry (include/trace/events/syscalls.h:16) +[135546.085438] ? trace_buffer_unlock_commit (kernel/trace/trace.c:1749) +[135546.085515] rds_ib_laddr_check(): addr 36.74.25.172 ret -99 node type -1 + +Acked-by: Santosh Shilimkar +Signed-off-by: Sasha Levin +Signed-off-by: David S. Miller +--- + net/rds/connection.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/net/rds/connection.c ++++ b/net/rds/connection.c +@@ -187,6 +187,12 @@ new_conn: + } + } + ++ if (trans == NULL) { ++ kmem_cache_free(rds_conn_slab, conn); ++ conn = ERR_PTR(-ENODEV); ++ goto out; ++ } ++ + conn->c_trans = trans; + + ret = trans->conn_alloc(conn, gfp); diff --git a/debian/patches/series b/debian/patches/series index 84f548fc2..0249b6552 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -94,3 +94,4 @@ bugfix/all/workqueue-make-flush_workqueue-available-again-to-no.patch bugfix/all/dcache-handle-escaped-paths-in-prepend_path.patch bugfix/all/dcache-reduce-the-scope-of-i_lock-in-d_splice_alias.patch bugfix/all/vfs-test-for-and-handle-paths-that-are-unreachable-f.patch +bugfix/all/rds-verify-the-underlying-transport-exists-before-cr.patch From 999c1923b1a54bf47ca0b5cf5b0d26acb96084dd Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sat, 19 Sep 2015 03:31:47 +0200 Subject: [PATCH 46/53] Correct list of patches for CVE-2015-2925, which differs from jessie-security --- debian/changelog | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 8a5b911da..894b51f83 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,9 +9,8 @@ linux (4.2-1~exp2) UNRELEASED; urgency=medium * workqueue: Make flush_workqueue() available again to non GPL modules (Closes: #798311) * vfs: Fix possible escape from mount namespace (CVE-2015-2925): - - namei: lift (open-coded) terminate_walk() in follow_dotdot_rcu() into - callers - dcache: Handle escaped paths in prepend_path + - dcache: Reduce the scope of i_lock in d_splice_alias - vfs: Test for and handle paths that are unreachable from their mnt_root * aufs: Update support patches to aufs4.x-rcN-20150921 - mmap: Fix races in madvise_remove() and sys_msync() (Closes: #796036) From 951b3a81ce0d76ae934ef2aad464943c9c905058 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 22 Sep 2015 00:33:36 +0200 Subject: [PATCH 47/53] Update to 4.2.1 --- debian/changelog | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 894b51f83..25cf168b0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,7 @@ -linux (4.2-1~exp2) UNRELEASED; urgency=medium +linux (4.2.1-1) UNRELEASED; urgency=medium + + * New upstream stable update: + https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.2.1 [ Ben Hutchings ] * [mips*el/loongson-3] udeb: Add fb-modules containing radeon driver From 20ad6e5150e0760132a01a53411464e52e4f38ed Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 22 Sep 2015 00:34:02 +0200 Subject: [PATCH 48/53] Set ABI to 1 --- debian/changelog | 1 + debian/config/defines | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 25cf168b0..eb152ad47 100644 --- a/debian/changelog +++ b/debian/changelog @@ -19,6 +19,7 @@ linux (4.2.1-1) UNRELEASED; urgency=medium - mmap: Fix races in madvise_remove() and sys_msync() (Closes: #796036) * RDS: verify the underlying transport exists before creating a connection (CVE-2015-6937) + * Set ABI to 1 [ Aurelien Jarno ] * [mips*el] Fix BPF assembly code for pre-R2 CPUs. (fixes FTBFS) diff --git a/debian/config/defines b/debian/config/defines index 4c1d14631..f03709a2c 100644 --- a/debian/config/defines +++ b/debian/config/defines @@ -1,5 +1,5 @@ [abi] -abiname: trunk +abiname: 1 [base] arches: From 30da8b4d4f4c919f0e3ac931f2678d5a53955b61 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 22 Sep 2015 20:33:59 +0200 Subject: [PATCH 49/53] e1000e: Fix tight loop implementation of systime read algorithm --- debian/changelog | 1 + ...-loop-implementation-of-systime-read.patch | 61 +++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 63 insertions(+) create mode 100644 debian/patches/bugfix/all/e1000e-fix-tight-loop-implementation-of-systime-read.patch diff --git a/debian/changelog b/debian/changelog index eb152ad47..b20696cf3 100644 --- a/debian/changelog +++ b/debian/changelog @@ -20,6 +20,7 @@ linux (4.2.1-1) UNRELEASED; urgency=medium * RDS: verify the underlying transport exists before creating a connection (CVE-2015-6937) * Set ABI to 1 + * e1000e: Fix tight loop implementation of systime read algorithm [ Aurelien Jarno ] * [mips*el] Fix BPF assembly code for pre-R2 CPUs. (fixes FTBFS) diff --git a/debian/patches/bugfix/all/e1000e-fix-tight-loop-implementation-of-systime-read.patch b/debian/patches/bugfix/all/e1000e-fix-tight-loop-implementation-of-systime-read.patch new file mode 100644 index 000000000..12f6aa264 --- /dev/null +++ b/debian/patches/bugfix/all/e1000e-fix-tight-loop-implementation-of-systime-read.patch @@ -0,0 +1,61 @@ +From: Raanan Avargil +Date: Sun, 19 Jul 2015 16:33:20 +0300 +Subject: e1000e: Fix tight loop implementation of systime read algorithm +Origin: https://git.kernel.org/linus/37b12910dd11d9ab969f2c310dc9160b7f3e3405 + +Change the algorithm. Read systimel twice and check for overflow. +If there was no overflow, use the first value. +If there was an overflow, read systimeh again and use the second +systimel value. + +Signed-off-by: Raanan Avargil +Tested-by: Aaron Brown +Signed-off-by: Jeff Kirsher +--- + drivers/net/ethernet/intel/e1000e/netdev.c | 31 ++++++++++++++++++++---------- + 1 file changed, 21 insertions(+), 10 deletions(-) + +diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c +index 24b7269..96a8166 100644 +--- a/drivers/net/ethernet/intel/e1000e/netdev.c ++++ b/drivers/net/ethernet/intel/e1000e/netdev.c +@@ -4280,18 +4280,29 @@ static cycle_t e1000e_cyclecounter_read(const struct cyclecounter *cc) + struct e1000_adapter *adapter = container_of(cc, struct e1000_adapter, + cc); + struct e1000_hw *hw = &adapter->hw; ++ u32 systimel_1, systimel_2, systimeh; + cycle_t systim, systim_next; +- /* SYSTIMH latching upon SYSTIML read does not work well. To fix that +- * we don't want to allow overflow of SYSTIML and a change to SYSTIMH +- * to occur between reads, so if we read a vale close to overflow, we +- * wait for overflow to occur and read both registers when its safe. ++ /* SYSTIMH latching upon SYSTIML read does not work well. ++ * This means that if SYSTIML overflows after we read it but before ++ * we read SYSTIMH, the value of SYSTIMH has been incremented and we ++ * will experience a huge non linear increment in the systime value ++ * to fix that we test for overflow and if true, we re-read systime. + */ +- u32 systim_overflow_latch_fix = 0x3FFFFFFF; +- +- do { +- systim = (cycle_t)er32(SYSTIML); +- } while (systim > systim_overflow_latch_fix); +- systim |= (cycle_t)er32(SYSTIMH) << 32; ++ systimel_1 = er32(SYSTIML); ++ systimeh = er32(SYSTIMH); ++ systimel_2 = er32(SYSTIML); ++ /* Check for overflow. If there was no overflow, use the values */ ++ if (systimel_1 < systimel_2) { ++ systim = (cycle_t)systimel_1; ++ systim |= (cycle_t)systimeh << 32; ++ } else { ++ /* There was an overflow, read again SYSTIMH, and use ++ * systimel_2 ++ */ ++ systimeh = er32(SYSTIMH); ++ systim = (cycle_t)systimel_2; ++ systim |= (cycle_t)systimeh << 32; ++ } + + if ((hw->mac.type == e1000_82574) || (hw->mac.type == e1000_82583)) { + u64 incvalue, time_delta, rem, temp; diff --git a/debian/patches/series b/debian/patches/series index 0249b6552..7bb0ee796 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -95,3 +95,4 @@ bugfix/all/dcache-handle-escaped-paths-in-prepend_path.patch bugfix/all/dcache-reduce-the-scope-of-i_lock-in-d_splice_alias.patch bugfix/all/vfs-test-for-and-handle-paths-that-are-unreachable-f.patch bugfix/all/rds-verify-the-underlying-transport-exists-before-cr.patch +bugfix/all/e1000e-fix-tight-loop-implementation-of-systime-read.patch From f0fc9d4c049a85c250fb331272b4daf13629a125 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 22 Sep 2015 23:48:38 +0200 Subject: [PATCH 50/53] mmc: Drop "eMMC: Don't initialize partitions on RPMB flagged areas" Upstream commit 4e93b9a6abc0 ("mmc: card: Don't access RPMB partitions for normal read/write") looks like a cleaner solution. --- debian/changelog | 3 +++ ...ize-partitions-on-rpmb-flagged-areas.patch | 27 ------------------- debian/patches/series | 1 - 3 files changed, 3 insertions(+), 28 deletions(-) delete mode 100644 debian/patches/debian/emmc-don-t-initialize-partitions-on-rpmb-flagged-areas.patch diff --git a/debian/changelog b/debian/changelog index b20696cf3..3b1ff64f5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -21,6 +21,9 @@ linux (4.2.1-1) UNRELEASED; urgency=medium (CVE-2015-6937) * Set ABI to 1 * e1000e: Fix tight loop implementation of systime read algorithm + * mmc: Drop "eMMC: Don't initialize partitions on RPMB flagged areas", as + upstream commit 4e93b9a6abc0 ("mmc: card: Don't access RPMB partitions for + normal read/write") looks like a cleaner solution [ Aurelien Jarno ] * [mips*el] Fix BPF assembly code for pre-R2 CPUs. (fixes FTBFS) diff --git a/debian/patches/debian/emmc-don-t-initialize-partitions-on-rpmb-flagged-areas.patch b/debian/patches/debian/emmc-don-t-initialize-partitions-on-rpmb-flagged-areas.patch deleted file mode 100644 index 5495a30f8..000000000 --- a/debian/patches/debian/emmc-don-t-initialize-partitions-on-rpmb-flagged-areas.patch +++ /dev/null @@ -1,27 +0,0 @@ -From: Nell Hardcastle -Date: Thu, 29 May 2014 22:06:50 -0700 -Subject: [PATCH] eMMC: Don't initialize partitions on RPMB flagged areas. -Origin: https://dev-nell.com/rpmb-emmc-errors-under-linux.html -Bug-Debian: https://bugs.debian.org/782038 - -Prevents a lot of pointless hanging at boot on some devices. ---- -[bwh: An RPMB is unlikely to be useful on any platform supported by a Debian -kernel, so I think it's best to hide them for now. Once we are confident -that userland will ignore them or the kernel does a better job of avoiding -hanging reads, we can drop this patch.] - - drivers/mmc/card/block.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/mmc/card/block.c -+++ b/drivers/mmc/card/block.c -@@ -2258,7 +2258,7 @@ static int mmc_blk_alloc_parts(struct mm - return 0; - - for (idx = 0; idx < card->nr_parts; idx++) { -- if (card->part[idx].size) { -+ if (card->part[idx].size && !(card->part[idx].area_type & MMC_BLK_DATA_AREA_RPMB)) { - ret = mmc_blk_alloc_part(card, md, - card->part[idx].part_cfg, - card->part[idx].size >> 9, diff --git a/debian/patches/series b/debian/patches/series index 7bb0ee796..7fc75221f 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -68,7 +68,6 @@ bugfix/all/disable-some-marvell-phys.patch bugfix/all/aic94xx-remove-broken-fallback-for-missing-ctrl-a.patch bugfix/all/rtsx_usb_ms-use-msleep_interruptible-in-polling-loop.patch bugfix/all/net-mv643xx-disable-tso-by-default.patch -debian/emmc-don-t-initialize-partitions-on-rpmb-flagged-areas.patch # Reproducible docs bugfix/all/scripts-kernel-doc-parse-kernel-doc-deterministicall.patch From a94e67cc3fe355dc29e88042ea41fa2002739b74 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Thu, 24 Sep 2015 02:46:27 +0100 Subject: [PATCH 51/53] mm: Change ZBUD back to built-in It's not really useful as a module. Currently we get the following error messages on boot: zpool: no driver for type zbud zswap: zbud zpool not available zswap: zpool creation failed --- debian/changelog | 1 + debian/config/config | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 3b1ff64f5..3d0170208 100644 --- a/debian/changelog +++ b/debian/changelog @@ -24,6 +24,7 @@ linux (4.2.1-1) UNRELEASED; urgency=medium * mmc: Drop "eMMC: Don't initialize partitions on RPMB flagged areas", as upstream commit 4e93b9a6abc0 ("mmc: card: Don't access RPMB partitions for normal read/write") looks like a cleaner solution + * mm: Change ZBUD back to built-in, as it's not really useful as a module [ Aurelien Jarno ] * [mips*el] Fix BPF assembly code for pre-R2 CPUs. (fixes FTBFS) diff --git a/debian/config/config b/debian/config/config index f36a4ab66..063e30279 100644 --- a/debian/config/config +++ b/debian/config/config @@ -5489,7 +5489,7 @@ CONFIG_FRONTSWAP=y # CONFIG_CMA is not set CONFIG_MEM_SOFT_DIRTY=y CONFIG_ZSWAP=y -CONFIG_ZBUD=m +CONFIG_ZBUD=y CONFIG_ZSMALLOC=m # CONFIG_PGTABLE_MAPPING is not set From 9f0e754c6097e22982a20cce7d55d8cb090cd960 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Fri, 25 Sep 2015 17:46:08 +0100 Subject: [PATCH 52/53] USB: whiteheat: fix potential null-deref at probe (CVE-2015-5257) --- debian/changelog | 1 + ...at-fix-potential-null-deref-at-probe.patch | 79 +++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 81 insertions(+) create mode 100644 debian/patches/bugfix/all/usb-whiteheat-fix-potential-null-deref-at-probe.patch diff --git a/debian/changelog b/debian/changelog index 3d0170208..a52a79bef 100644 --- a/debian/changelog +++ b/debian/changelog @@ -25,6 +25,7 @@ linux (4.2.1-1) UNRELEASED; urgency=medium upstream commit 4e93b9a6abc0 ("mmc: card: Don't access RPMB partitions for normal read/write") looks like a cleaner solution * mm: Change ZBUD back to built-in, as it's not really useful as a module + * USB: whiteheat: fix potential null-deref at probe (CVE-2015-5257) [ Aurelien Jarno ] * [mips*el] Fix BPF assembly code for pre-R2 CPUs. (fixes FTBFS) diff --git a/debian/patches/bugfix/all/usb-whiteheat-fix-potential-null-deref-at-probe.patch b/debian/patches/bugfix/all/usb-whiteheat-fix-potential-null-deref-at-probe.patch new file mode 100644 index 000000000..43809584a --- /dev/null +++ b/debian/patches/bugfix/all/usb-whiteheat-fix-potential-null-deref-at-probe.patch @@ -0,0 +1,79 @@ +From: Johan Hovold +Date: Wed, 23 Sep 2015 11:41:42 -0700 +Subject: USB: whiteheat: fix potential null-deref at probe +Origin: https://git.kernel.org/cgit/linux/kernel/git/gregkh/usb.git/commit?id=cbb4be652d374f64661137756b8f357a1827d6a4 + +Fix potential null-pointer dereference at probe by making sure that the +required endpoints are present. + +The whiteheat driver assumes there are at least five pairs of bulk +endpoints, of which the final pair is used for the "command port". An +attempt to bind to an interface with fewer bulk endpoints would +currently lead to an oops. + +Fixes CVE-2015-5257. + +Reported-by: Moein Ghasemzadeh +Cc: stable +Signed-off-by: Johan Hovold +Signed-off-by: Greg Kroah-Hartman +--- + drivers/usb/serial/whiteheat.c | 31 +++++++++++++++++++++++++++++++ + 1 file changed, 31 insertions(+) + +diff --git a/drivers/usb/serial/whiteheat.c b/drivers/usb/serial/whiteheat.c +index 6c3734d..d3ea90b 100644 +--- a/drivers/usb/serial/whiteheat.c ++++ b/drivers/usb/serial/whiteheat.c +@@ -80,6 +80,8 @@ static int whiteheat_firmware_download(struct usb_serial *serial, + static int whiteheat_firmware_attach(struct usb_serial *serial); + + /* function prototypes for the Connect Tech WhiteHEAT serial converter */ ++static int whiteheat_probe(struct usb_serial *serial, ++ const struct usb_device_id *id); + static int whiteheat_attach(struct usb_serial *serial); + static void whiteheat_release(struct usb_serial *serial); + static int whiteheat_port_probe(struct usb_serial_port *port); +@@ -116,6 +118,7 @@ static struct usb_serial_driver whiteheat_device = { + .description = "Connect Tech - WhiteHEAT", + .id_table = id_table_std, + .num_ports = 4, ++ .probe = whiteheat_probe, + .attach = whiteheat_attach, + .release = whiteheat_release, + .port_probe = whiteheat_port_probe, +@@ -217,6 +220,34 @@ static int whiteheat_firmware_attach(struct usb_serial *serial) + /***************************************************************************** + * Connect Tech's White Heat serial driver functions + *****************************************************************************/ ++ ++static int whiteheat_probe(struct usb_serial *serial, ++ const struct usb_device_id *id) ++{ ++ struct usb_host_interface *iface_desc; ++ struct usb_endpoint_descriptor *endpoint; ++ size_t num_bulk_in = 0; ++ size_t num_bulk_out = 0; ++ size_t min_num_bulk; ++ unsigned int i; ++ ++ iface_desc = serial->interface->cur_altsetting; ++ ++ for (i = 0; i < iface_desc->desc.bNumEndpoints; i++) { ++ endpoint = &iface_desc->endpoint[i].desc; ++ if (usb_endpoint_is_bulk_in(endpoint)) ++ ++num_bulk_in; ++ if (usb_endpoint_is_bulk_out(endpoint)) ++ ++num_bulk_out; ++ } ++ ++ min_num_bulk = COMMAND_PORT + 1; ++ if (num_bulk_in < min_num_bulk || num_bulk_out < min_num_bulk) ++ return -ENODEV; ++ ++ return 0; ++} ++ + static int whiteheat_attach(struct usb_serial *serial) + { + struct usb_serial_port *command_port; diff --git a/debian/patches/series b/debian/patches/series index 7fc75221f..d65aad0fc 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -95,3 +95,4 @@ bugfix/all/dcache-reduce-the-scope-of-i_lock-in-d_splice_alias.patch bugfix/all/vfs-test-for-and-handle-paths-that-are-unreachable-f.patch bugfix/all/rds-verify-the-underlying-transport-exists-before-cr.patch bugfix/all/e1000e-fix-tight-loop-implementation-of-systime-read.patch +bugfix/all/usb-whiteheat-fix-potential-null-deref-at-probe.patch From d55c08c8677f2b36cf904d8c072e9b9aa7036f0e Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Fri, 25 Sep 2015 18:18:28 +0100 Subject: [PATCH 53/53] Prepare to release linux (4.2.1-1). --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index a52a79bef..101c90a22 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -linux (4.2.1-1) UNRELEASED; urgency=medium +linux (4.2.1-1) unstable; urgency=medium * New upstream stable update: https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.2.1 @@ -30,7 +30,7 @@ linux (4.2.1-1) UNRELEASED; urgency=medium [ Aurelien Jarno ] * [mips*el] Fix BPF assembly code for pre-R2 CPUs. (fixes FTBFS) - -- Ben Hutchings Wed, 02 Sep 2015 00:29:36 +0100 + -- Ben Hutchings Fri, 25 Sep 2015 18:18:01 +0100 linux (4.2-1~exp1) experimental; urgency=medium