diff --git a/debian/README.source b/debian/README.source index e963e35a4..057189075 100644 --- a/debian/README.source +++ b/debian/README.source @@ -1,24 +1,96 @@ Updating the upstream source ============================ -1) You can use either: - a) a git repository of the kernel source - b) a kernel tarball from kernel.org (e.g. linux-3.4.tar.bz2) - and, optionally, a patch (e.g. patch-3.5-rc1.bz2). +In addition to the build-dependencies, you will need the rsync and +unifdef packages installed. -2) Run ./debian/bin/genorig.py - or ./debian/bin/genorig.py [patch] - This will produce ../orig/linux_.orig.tar.gz - (e.g. linux_3.5~rc1.orig.tar.gz). +1) It is recommended to fetch the release tag from the relevant upstream git + repository, one of: - (genorig.py requires the python and unifdef packages to be - installed) + * https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git + * https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git + * git://kernel.ubuntu.com/ubuntu/linux.git -3) Unpack linux_.orig.tar.gz, cd into the new directory, - and do a 'git archive' to get the debian/ subdirectory. - Alternatively unpack using "make -f debian/rules orig". + However, it is also possible to use upstream tarball and patch releases. + Both tags and files should be signed by the relevant maintainer, which + you *must* verify using commands such as: - (the orig target of the Makefiles requires rsync) + $ git tag -v v4.5 + $ xzcat linux-4.5.tar.xz | gpg --verify linux-4.5.tar.sign - + $ xzcat patch-4.5.1.xz | gpg --verify patch-4.5.1.sign - + + The upstream maintainers' key fingerprints are: + + pub 2048R/00411886 2011-09-20 + Key fingerprint = ABAF 11C6 5A29 70B1 30AB E3C4 79BE 3E43 0041 1886 + uid Linus Torvalds + sub 2048R/012F54CA 2011-09-20 + + pub 4096R/6092693E 2011-09-23 + Key fingerprint = 647F 2865 4894 E3BD 4571 99BE 38DB BDC8 6092 693E + uid Greg Kroah-Hartman (Linux kernel stable release signing key) + sub 4096R/76D54749 2011-09-23 + + pub 4096R/FDCE24FC 2011-12-10 + Key fingerprint = D4E1 E317 4470 9144 B0F8 101A DB74 AEB8 FDCE 24FC + uid Luis Henriques + uid Luis Henriques + sub 4096R/EFBC394A 2011-12-10 + +2) Run: ./debian/bin/genorig.py + or: ./debian/bin/genorig.py [patch] + + This will produce ../orig/linux_.orig.tar.xz + (e.g. linux_3.5~rc1.orig.tar.xz). + + It involves applying several patches and file deletions for DFSG + compliance, as listed in debian/patches/series-orig. Occasionally + you will need to refresh these. + +3) Run: make -f debian/rules orig + + This will apply the main quilt series to the upstream source, which + will usually fail due to conflicts with upstream changes. You need + to resolve those by dropping or refreshing patches. + +Recording updates in the changelog +---------------------------------- + +Upstream commits that we already cherry-picked and included in a +previous package upload should not be mentioned, since they don't make +any difference to the package. Any other commits that fix a Debian +bug report and/or a security issue with a CVE ID should always be +listed, along with the (Closes: #nnnnnn) and/or (CVE-yyyy-nnnn) +reference. + +Aside from those general rules: + +* For an upstream release candidate, don't attempt to list the changes + +* For a stable release by Linus, refer to the summary at + kernelnewbies.org, e.g. http://kernelnewbies.org/Linux_4.5 + +* For a stable update, refer to the changelog on kernel.org, e.g. + https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.5.1, and + list all changes that are relevant to our package and that fix bugs + that we would consider 'important' or higher severity + + - The script debian/bin/stable-update.sh updates the changelog + version and inserts the list of changes (but it doesn't always + put it in the right place!). It doesn't attempt to filter out + irrelevant or unimportant changes. + + - The script debian/bin/ckt-stable-update.sh does the same for + stable updates by the Canonical Kernel Team. + + - If you have time, please delete irrelevant changes such as: + + Fixes for architectures not supported by the package + + Fixes for drivers that aren't enabled in any of our configurations + + Build fixes for configurations that we don't use + + Fixes for lockdep false positives + +If you have time, please add bracketted prefixes to the upstream +change list as described below under "Changelog conventions". Applying patches to the Debian kernel tree ========================================== @@ -39,6 +111,25 @@ make -f debian/rules source The resulting source can be found below debian/build. +Changelog conventions +===================== + +If a change only affects some architectures, flavours or featuresets, +this should be noted with a bracketted prefix on the changelog line: + +* [] Change to featureset +* [] Change that affects Debian architecture +* [,...] Change that affects Debian architectures + , , ... +* [/] Change that affects kernel flavour + on Debian architecture +* [/{,...}] Change that affects kernel + flavours , , ... on Debian architecture + +You can use wildcards to cover multiple values, e.g. 'arm*' for armel, +armhf and arm64 architectures. Also 'x86' is used to cover the Debian +architectures amd64, i386 and x32. + Kernel config files =================== Configuration files are constructed dynamically from a number of config diff --git a/debian/changelog b/debian/changelog index ed09c6cd9..8cb01ef45 100644 --- a/debian/changelog +++ b/debian/changelog @@ -50,6 +50,156 @@ linux (4.5~rc4-1~exp1) experimental; urgency=medium -- Ben Hutchings Thu, 18 Feb 2016 01:57:20 +0000 +linux (4.4.6-1) unstable; urgency=medium + + [ Salvatore Bonaccorso ] + * New upstream stable update: + https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.4.5 + - Btrfs: fix deadlock running delayed iputs at transaction commit time + (regression in 4.1) + - btrfs: Fix no_space in write and rm loop + (regression in 4.4) + - btrfs: async-thread: Fix a use-after-free error for trace + - [x86] drm/amdgpu: mask out WC from BO on unsupported arches + - block: Initialize max_dev_sectors to 0 + - [hppa] Fix ptrace syscall number and return value modification + - [x86] kvm: Update tsc multiplier on change. + (regression in 4.4) + - fbcon: set a default value to blink interval + - cifs: fix out-of-bounds access in lease parsing + - CIFS: Fix SMB2+ interim response processing for read requests + - [x86] vfio: fix ioctl error handling + - [x86] KVM: fix root cause for missed hardware breakpoints + - [arm*] KVM: Fix ioctl error handling + - [amd64] iommu: Apply workaround for ATS write permission check + - [amd64] iommu: Fix boot warning when device 00:00.0 is not iommu covered + - [x86] iommu/vt-d: Use BUS_NOTIFY_REMOVED_DEVICE in hotplug path + - target: Fix WRITE_SAME/DISCARD conversion to linux 512b sectors + - [x86,powerpc*] drm/ast: Fix incorrect register check for DRAM width + - drm/radeon/pm: update current crtc info after setting the powerstate + - [x86] drm/amdgpu/pm: update current crtc info after setting the powerstate + - [x86] drm/amdgpu: apply gfx_v8 fixes to gfx_v7 as well + - [x86] drm/amdgpu/gfx8: specify which engine to wait before vm flush + - [x86] drm/amdgpu: return from atombios_dp_get_dpcd only when error + - libata: fix HDIO_GET_32BIT ioctl + - writeback: flush inode cgroup wb switches instead of pinning super_block + - Adding Intel Lewisburg device IDs for SATA + - [arm64] vmemmap: use virtual projection of linear region + (regression in 4.1) + - ata: ahci: don't mark HotPlugCapable Ports as external/removable + - tracing: Do not have 'comm' filter override event 'comm' field + (regression in 4.3) + - Btrfs: fix loading of orphan roots leading to BUG_ON + - Revert "jffs2: Fix lock acquisition order bug in jffs2_write_begin" + - jffs2: Fix page lock / f->sem deadlock + - jffs2: Fix directory hardlinks from deleted directories + - ALSA: usb-audio: Add a quirk for Plantronics DA45 + - [amd64] ALSA: ctl: Fix ioctls for X32 ABI + - [x86] ALSA: hda - Fix mic issues on Acer Aspire E1-472 + - [amd64] ALSA: rawmidi: Fix ioctls X32 ABI + - [amd64] ALSA: timer: Fix ioctls for X32 ABI + - [amd64] ALSA: pcm: Fix ioctls for X32 ABI + - ALSA: seq: oss: Don't drain at closing a client + - ALSA: hdspm: Fix wrong boolean ctl value accesses + - ALSA: hdsp: Fix wrong boolean ctl value accesses + - ALSA: hdspm: Fix zero-division + - ALSA: timer: Fix broken compat timer user status ioctl + - [armhf] usb: chipidea: otg: change workqueue ci_otg as freezable + - USB: cp210x: Add ID for Parrot NMEA GPS Flight Recorder + - USB: qcserial: add Dell Wireless 5809e Gobi 4G HSPA+ (rev3) + - USB: qcserial: add Sierra Wireless EM74xx device ID + - USB: serial: option: add support for Telit LE922 PID 0x1045 + - USB: serial: option: add support for Quectel UC20 + - [mips*] scache: Fix scache init with invalid line size. + - [mips*] traps: Fix SIGFPE information leak from `do_ov' and + `do_trap_or_bp' + - ubi: Fix out of bounds write in volume update code + - thermal: cpu_cooling: fix out of bounds access in time_in_idle + - [x86] drm/amdgpu: Use drm_calloc_large for VM page_tables array + - block: check virt boundary in bio_will_gap() + - [x86] drm/i915: more virtual south bridge detection + - [x86] drm/i915: refine qemu south bridge detection + - modules: fix longstanding /proc/kallsyms vs module insertion race. + - [x86] drm/amdgpu: fix topaz/tonga gmc assignment in 4.4 stable + + [ Ben Hutchings ] + * [x86] drm/i915: Fix oops caused by fbdev initialization failure + * module: Fix ABI change in 4.4.5 + * Revert "libata: Align ata_device's id on a cacheline" to avoid ABI change + * [amd64] Fix more regressions due to "efi: Build our own page table + structure": + - efi: Fix boot crash by always mapping boot service regions into new EFI + page tables (Closes: #815125) + - mm/pat: Fix boot crash when 1GB pages are not supported by cpu + * [armhf] gpio: Enable GPIO_PCF857X as module, needed by TI DRA7xx EVMs + (Closes: #818386) + * New upstream stable update: + https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.4.6 + - [arm64] account for sparsemem section alignment when choosing vmemmap + offset + - [armel,armhf] mvebu: fix overlap of Crypto SRAM with PCIe memory window + - [armhf] dts: dra7: do not gate cpsw clock due to errata i877 + - [armhf] OMAP2+: hwmod: Introduce ti,no-idle dt property + - PCI: Allow a NULL "parent" pointer in pci_bus_assign_domain_nr() + - kvm: cap halt polling at exactly halt_poll_ns + - [x86] KVM: VMX: disable PEBS before a guest entry + - [s390x] KVM: correct fprs on SIGP (STOP AND) STORE STATUS + - [powerpc*] KVM: Book3S HV: Sanitize special-purpose register values on + guest exit + - [x86] KVM: MMU: fix ept=0/pte.u=1/pte.w=0/CR0.WP=0/CR4.SMEP=1/EFER.NX=0 + combo + - [x86] KVM: MMU: fix reserved bit check for + ept=0/CR0.WP=0/CR4.SMEP=1/EFER.NX=0 + - [s390x] mm: four page table levels vs. fork (CVE-2016-2143) + - [s390x] dasd: fix diag 0x250 inline assembly + - tracing: Fix check for cpu online when event is disabled + - jffs2: reduce the breakage on recovery from halfway failed rename() + - ncpfs: fix a braino in OOM handling in ncp_fill_cache() + - ASoC: dapm: Fix ctl value accesses in a wrong type + - ovl: ignore lower entries when checking purity of non-directory entries + - ovl: fix working on distributed fs as lower layer + - wext: fix message delay/ordering + - cfg80211/wext: fix message ordering + - can: gs_usb: fixed disconnect bug by removing erroneous use of kfree() + - iwlwifi: mvm: inc pending frames counter also when txing non-sta + - mac80211: minstrel: Change expected throughput unit back to Kbps + - mac80211: fix use of uninitialised values in RX aggregation + - mac80211: minstrel_ht: set default tx aggregation timeout to 0 + - mac80211: minstrel_ht: fix a logic error in RTS/CTS handling + - mac80211: check PN correctly for GCMP-encrypted fragmented MPDUs + - mac80211: Fix Public Action frame RX in AP mode + - [armhf] gpu: ipu-v3: Do not bail out on missing optional port nodes + - [i386/686-pae] mm: Fix slow_virt_to_phys() for X86_PAE again + - Revert "drm/radeon: call hpd_irq_event on resume" + - [x86] drm/amdgpu: Fix error handling in amdgpu_flip_work_func. + - drm/radeon: Fix error handling in radeon_flip_work_func. + - Revert "drm/radeon/pm: adjust display configuration after powerstate" + - [powerpc*] powernv: Add a kmsg_dumper that flushes console output on panic + - [powerpc*] powernv: Fix OPAL_CONSOLE_FLUSH prototype and usages + - userfaultfd: don't block on the last VM updates at exit time + - ovl: copy new uid/gid into overlayfs runtime inode + - ovl: fix getcwd() failure after unsuccessful rmdir + - [mips*] smp.c: Fix uninitialised temp_foreign_map + - block: don't optimize for non-cloned bio in bio_get_last_bvec() + - target: Drop incorrect ABORT_TASK put for completed commands + * netfilter: x_tables: check for size overflow (CVE-2016-3135) + + [ Ian Campbell ] + * [arm64] Enable ARCH_HISI (Hisilicon) and the set of currently available + drivers (Power, Thermal, MMC) (Closes: #812540) + + -- Ben Hutchings Thu, 17 Mar 2016 01:25:23 +0000 + +linux (4.4.4-2) unstable; urgency=medium + + * Ignore ABI changes in sdhci* modules (fixes FTBFS on armhf) + * udeb: Add dependency from mmc-modules to crc-modules (fixes FTBFS on arm64) + * [hppa] Ignore ABI changes in built-in drm_kms_helper code (fixes FTBFS) + * [powerpc*] Revert "powerpc: Simplify module TOC handling"; it is not needed + to fix #808043 and causes a regression on ppc64el + + -- Ben Hutchings Wed, 09 Mar 2016 02:15:48 +0000 + linux (4.4.4-1) unstable; urgency=medium [ Salvatore Bonaccorso ] diff --git a/debian/config/arm64/config b/debian/config/arm64/config index a3dc57b3d..346e9499c 100644 --- a/debian/config/arm64/config +++ b/debian/config/arm64/config @@ -24,6 +24,7 @@ CONFIG_CRYPTO_CRC32_ARM64=y ## ## file: arch/arm64/Kconfig.platforms ## +CONFIG_ARCH_HISI=y CONFIG_ARCH_QCOM=y CONFIG_ARCH_SEATTLE=y CONFIG_ARCH_VEXPRESS=y @@ -104,6 +105,7 @@ CONFIG_HWSPINLOCK_QCOM=m ## ## file: drivers/i2c/busses/Kconfig ## +CONFIG_I2C_DESIGNWARE_PLATFORM=m CONFIG_I2C_QUP=m ## @@ -135,6 +137,8 @@ CONFIG_MMC_QCOM_DML=m CONFIG_MMC_SDHCI_PLTFM=m CONFIG_MMC_SDHCI_MSM=m CONFIG_MMC_SPI=m +CONFIG_MMC_DW=m +CONFIG_MMC_DW_K3=m ## ## file: drivers/net/ethernet/Kconfig @@ -259,6 +263,7 @@ CONFIG_PINCTRL_QCOM_SSBI_PMIC=m ## ## file: drivers/power/reset/Kconfig ## +CONFIG_POWER_RESET_HISI=y CONFIG_POWER_RESET_MSM=y CONFIG_POWER_RESET_VEXPRESS=y CONFIG_POWER_RESET_XGENE=y @@ -302,6 +307,11 @@ CONFIG_QCOM_SMD_RPM=m ## CONFIG_SPI_QUP=m +## +## file: drivers/thermal/Kconfig +## +CONFIG_HISI_THERMAL=m + ## ## file: drivers/tty/serial/Kconfig ## diff --git a/debian/config/armhf/config.armmp b/debian/config/armhf/config.armmp index c4853fb22..91609688e 100644 --- a/debian/config/armhf/config.armmp +++ b/debian/config/armhf/config.armmp @@ -226,6 +226,7 @@ CONFIG_RASPBERRYPI_FIRMWARE=y CONFIG_GPIOLIB=y CONFIG_GPIO_GENERIC_PLATFORM=m CONFIG_GPIO_PCA953X=m +CONFIG_GPIO_PCF857X=m CONFIG_GPIO_DA9052=m CONFIG_GPIO_PALMAS=y CONFIG_GPIO_TWL4030=y diff --git a/debian/installer/package-list b/debian/installer/package-list index f51c4436b..874264295 100644 --- a/debian/installer/package-list +++ b/debian/installer/package-list @@ -300,7 +300,7 @@ Description: MMC/SD/SDIO core modules This package contains core modules for MMC/SD/SDIO support. Package: mmc-modules -Depends: kernel-image, core-modules, mmc-core-modules, usb-modules +Depends: kernel-image, core-modules, mmc-core-modules, usb-modules, crc-modules Priority: extra Description: MMC/SD card modules This package contains modules needed to support MMC (multimedia) and diff --git a/debian/patches/bugfix/all/netfilter-x_tables-check-for-size-overflow.patch b/debian/patches/bugfix/all/netfilter-x_tables-check-for-size-overflow.patch new file mode 100644 index 000000000..914a9f087 --- /dev/null +++ b/debian/patches/bugfix/all/netfilter-x_tables-check-for-size-overflow.patch @@ -0,0 +1,29 @@ +From: Florian Westphal +Date: Thu, 10 Mar 2016 01:56:23 +0100 +Subject: netfilter: x_tables: check for size overflow +Origin: https://git.kernel.org/cgit/linux/kernel/git/pablo/nf-next.git/commit?id=d157bd761585605b7882935ffb86286919f62ea1 + +Ben Hawkes says: + integer overflow in xt_alloc_table_info, which on 32-bit systems can + lead to small structure allocation and a copy_from_user based heap + corruption. + +Reported-by: Ben Hawkes +Signed-off-by: Florian Westphal +Signed-off-by: Pablo Neira Ayuso +--- + net/netfilter/x_tables.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/net/netfilter/x_tables.c ++++ b/net/netfilter/x_tables.c +@@ -658,6 +658,9 @@ struct xt_table_info *xt_alloc_table_inf + struct xt_table_info *info = NULL; + size_t sz = sizeof(*info) + size; + ++ if (sz < sizeof(*info)) ++ return NULL; ++ + /* Pedantry: prevent them from hitting BUG() in vmalloc.c --RR */ + if ((SMP_ALIGN(size) >> PAGE_SHIFT) + 2 > totalram_pages) + return NULL; diff --git a/debian/patches/bugfix/x86/x86-mm-pat-fix-boot-crash-when-1gb-pages-are-not-supported.patch b/debian/patches/bugfix/x86/x86-mm-pat-fix-boot-crash-when-1gb-pages-are-not-supported.patch new file mode 100644 index 000000000..bae631eb3 --- /dev/null +++ b/debian/patches/bugfix/x86/x86-mm-pat-fix-boot-crash-when-1gb-pages-are-not-supported.patch @@ -0,0 +1,58 @@ +From: Matt Fleming +Date: Mon, 14 Mar 2016 10:33:01 +0000 +Subject: x86/mm/pat: Fix boot crash when 1GB pages are not supported by cpu +Origin: http://mid.gmane.org/1457951581-27353-2-git-send-email-matt@codeblueprint.co.uk + +Scott reports that with the new separate EFI page tables he's seeing +the following error on boot, caused by setting reserved bits in the +page table structures (fault code is PF_RSVD | PF_PROT), + + swapper/0: Corrupted page table at address 17b102020 + PGD 17b0e5063 PUD 1400000e3 + Bad pagetable: 0009 [#1] SMP + +On first inspection the PUD is using a 1GB page size (_PAGE_PSE) and +looks fine but that's only true if support for 1GB PUD pages +("pdpe1gb") is present in the cpu. + +Scott's Intel Celeron N2820 does not have that feature and so the +_PAGE_PSE bit is reserved. Fix this issue by making the 1GB mapping +code in conditional on "cpu_has_gbpages". + +This issue didn't come up in the past because the required mapping for +the faulting address (0x17b102020) will already have been setup by the +kernel in early boot before we got to efi_map_regions(), but we no +longer use the standard kernel page tables during EFI calls. + +Reported-by: Scott Ashcroft +Tested-by: Scott Ashcroft +Cc: Ard Biesheuvel +Cc: Ben Hutchings +Cc: Borislav Petkov +Cc: Brian Gerst +Cc: Denys Vlasenko +Cc: "H. Peter Anvin" +Cc: Linus Torvalds +Cc: Maarten Lankhorst +Cc: Matthew Garrett +Cc: Peter Zijlstra +Cc: Raphael Hertzog +Cc: Roger Shimizu +Cc: Thomas Gleixner +Cc: linux-efi@vger.kernel.org +Signed-off-by: Matt Fleming +--- + arch/x86/mm/pageattr.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/x86/mm/pageattr.c ++++ b/arch/x86/mm/pageattr.c +@@ -1036,7 +1036,7 @@ static int populate_pud(struct cpa_data + /* + * Map everything starting from the Gb boundary, possibly with 1G pages + */ +- while (end - start >= PUD_SIZE) { ++ while (cpu_has_gbpages && end - start >= PUD_SIZE) { + set_pud(pud, __pud(cpa->pfn << PAGE_SHIFT | _PAGE_PSE | + massage_pgprot(pud_pgprot))); + diff --git a/debian/patches/series b/debian/patches/series index 7a6481ed9..b2a917f18 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -84,3 +84,5 @@ debian/i386-686-pae-pci-set-pci-nobios-by-default.patch bugfix/x86/x86-efi-bgrt-fix-kernel-panic-when-mapping-bgrt-data.patch bugfix/x86/x86-efi-bgrt-replace-early_memremap-with-memremap.patch bugfix/all/uas-fix-high-order-alloc.patch +bugfix/x86/x86-mm-pat-fix-boot-crash-when-1gb-pages-are-not-supported.patch +bugfix/all/netfilter-x_tables-check-for-size-overflow.patch