diff --git a/debian/changelog b/debian/changelog index 126ca85e3..d8d641354 100644 --- a/debian/changelog +++ b/debian/changelog @@ -60,6 +60,244 @@ linux (3.15~rc5-1~exp1) experimental; urgency=medium -- maximilian attems Fri, 16 May 2014 14:33:57 +0200 +linux (3.14.7-1) unstable; urgency=medium + + * New upstream stable update: + http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.14.6 + - [mipsel] loongson2_cpufreq: Fix CPU clock rate setting + (regression in 3.14) + - rtmutex: Fix deadlock detector for real + - kernfs: add back missing error check in kernfs_fop_mmap() + (regression in 3.14) + - coredump: fix va_list corruption (regression in 3.11) + - mm: make fixup_user_fault() check the vma access rights too + - serial: 8250: Fix thread unsafe __dma_tx_complete function + - 8250_core: Fix unwanted TX chars write + - iwlwifi: 7000: bump API to 9 + - timer: Prevent overflow in apply_slack + - cfg80211: free sme on connection failures (regression in 3.11) + - cfg80211: add cfg80211_sched_scan_stopped_rtnl (regression in 3.14) + - mac80211: fix nested rtnl locking on ieee80211_reconfig + (regression in 3.14) + - mm, thp: close race between mremap() and split_huge_page() + - [x86] mm, hugetlb: Add missing TLB page invalidation for hugetlb_cow() + - hwpoison, hugetlb: lock_page/unlock_page does not match for handling a + free hugepage + - iwlwifi: mvm: delay enabling smart FIFO until after beacon RX + (regression in 3.14) + - aio: fix potential leak in aio_run_iocb(). + - Revert "hwmon: (coretemp) Refine TjMax detection" + - hrtimer: Prevent remote enqueue of leftmost timers + - hrtimer: Set expiry time before switch_hrtimer_base() + - dm verity: fix biovecs hash calculation regression (regression in 3.14) + - dm cache: fix writethrough mode quiescing in cache_map + (regression in 3.13) + - md/raid10: call wait_barrier() for each request submitted. + (regression in 3.14) + - PNP / ACPI: Do not return errors if _DIS or _SRS are not present + (regression in 3.14) + - ACPI / EC: Process rather than discard events in acpi_ec_clear + (regression in 3.13.7, 3.14) + - irqchip: armada-370-xp: fix invalid cast of signed value into unsigned + variable (regression in 3.13) + - irqchip: armada-370-xp: implement the ->check_device() msi_chip + operation (regression in 3.13) + - irqchip: armada-370-xp: Fix releasing of MSIs (regression in 3.13) + - [x86] drm/i915: Allow user modes to exceed DVI 165MHz limit + (regression in 3.14) + - [x86] drm/i915: Don't check gmch state on inherited configs + (regression in 3.13?) + - [x86] drm/i915: Don't WARN nor handle unexpected hpd interrupts on gmch + platforms (regression in 3.13) + - [x86] drm/radeon: fix runpm handling on APUs (v4) (regression in 3.13) + - drm/radeon: disable mclk dpm on R7 260X (regression in 3.14) + - drm/radeon: add support for newer mc ucode on SI (v2) + - drm/radeon: add support for newer mc ucode on CI (v2) + - drm/radeon: re-enable mclk dpm on R7 260X asics + - drm/radeon/uvd: use lower clocks on old UVD to boot v2 + (regression in 3.13) + - drm/radeon: check buffer relocation offset + - USB: Nokia 305 should be treated as unusual dev + - USB: Nokia 5300 should be treated as unusual dev + - Revert "Bluetooth: Enable autosuspend for Intel Bluetooth device" + (regression in 3.14) + - posix_acl: handle NULL ACL in posix_acl_equiv_mode + - fs/affs/super.c: bugfix / double free (regression in 3.14) + - [armel/orion5x] fix target ID for crypto SRAM window + (regression in 3.12) + - [armel/kirkwood]: dts: fix mislocated pcie-controller nodes + (regression in 3.12) + - [armhf/armmp-lpae] 8012/1: kdump: Avoid overflow when converting pfn to + physaddr + - drm/nouveau: fix another lock unbalance in nouveau_crtc_page_flip + (regression in 3.11) + - drm/i915/vlv: reset VLV media force wake request register + (regression in 3.14?) + - i40e: potential array underflow in i40e_vc_process_vf_msg() + - igb: Fix Null-pointer dereference in igb_reset_q_vector + (regression in 3.14) + - igb: Unset IGB_FLAG_HAS_MSIX-flag when falling back to msi-only + (regression in 3.14) + - leds: leds-pwm: properly clean up after probe failure + - device_cgroup: rework device access check and exception checking + - device_cgroup: check if exception removal is allowed + - media: media-device: fix infoleak in ioctl media_enum_entities() + (CVE-2014-1739) + - Input: Add INPUT_PROP_TOPBUTTONPAD device property + - Input: synaptics - report INPUT_PROP_TOPBUTTONPAD property + - e1000e: Fix no connectivity when driver loaded with cable out + (regression in 3.12) + - autofs: fix lockref lookup + - vfs: fix races between __d_instantiate() and checks of dentry flags + - ALSA: hda - hdmi: Set converter channel count even without sink + (regression in 3.13) + - NFSd: Move default initialisers from create_client() to alloc_client() + - NFSd: call rpc_destroy_wait_queue() from free_client() + - NFSD: Call ->set_acl with a NULL ACL structure if no entries + - nfsd4: remove lockowner when removing lock stateid + - workqueue: fix bugs in wq_update_unbound_numa() failure path + - workqueue: fix a possible race condition between rescuer and pwq-release + - [arm] mvebu: mvebu-soc-id: add missing clk_put() call + (regression in 3.14) + - [arm] mvebu: mvebu-soc-id: keep clock enabled if PCIe unit is enabled + (regression in 3.14) + - ASoC: dapm: Skip CODEC<->CODEC links in connect_dai_link_widgets() + (regression in 3.14) + - [hppa] ratelimit userspace segfault printing + - [amd64] modify_ldt: Make support for 16-bit segments a runtime option + - sysfs: make sure read buffer is zeroed (possible regression in 3.13) + - Target/iser: Fix wrong connection requests list addition + - Target/iser: Fix iscsit_accept_np and rdma_cm racy flow + - iscsi-target: Change BUG_ON to REJECT in iscsit_process_nop_out + (regression in 3.11) + - target: fix memory leak on XCOPY + - [x86] drm/i915: Disable self-refresh for untiled fbs on i915gm + (regression in 3.14) + - [x86] drm/i915: move power domain init earlier during system resume + (regression in 3.14?) + - [x86] drm/i915: Fix unsafe loop iteration over vma whilst unbinding them + (regression in 3.12) + - iwlwifi: mvm: BT Coex - fix Look Up Table (regression in 3.13) + - PCI: Wrong register used to check pending traffic (regression in 3.14) + - dm crypt: fix cpu hotplug crash by removing per-cpu structure + - dm thin: allow metadata commit if pool is in PM_OUT_OF_DATA_SPACE mode + (regression in 3.14) + - dm thin: add timeout to stop out-of-data-space mode holding IO forever + - dmaengine: fix dmaengine_unmap failure + - dma: mv_xor: Flush descriptors before activating a channel + - tcm_fc: Fix free-after-use regression in ft_free_cmd + (regression in 3.13) + - ACPICA: Tables: Restore old behavor to favor 32-bit FADT addresses. + (regression in 3.14) + - ACPI: Revert "ACPI: Remove CONFIG_ACPI_PROCFS_POWER and cm_sbsc.c" + (regression in 3.13) + - ACPI: Revert "ACPI / Battery: Remove battery's proc directory" + (regression in 3.13) + - [x86] ACPI / video: Add use_native_backlight quirks for more systems + - ACPI: Revert "ACPI / AC: convert ACPI ac driver to platform bus" + (regression in 3.13) + - [x86] ACPI / TPM: Fix resume regression on Chromebooks + (regression in 3.14) + - i2c: s3c2410: resume race fix + - [x86] intel_pstate: Set turbo VID for BayTrail + - [s390] crypto: fix aes,des ctr mode concurrency finding. + - clk: Fix double free due to devm_clk_register() + - clk: Fix slab corruption in clk_unregister() + - [powerpc] powernv: Reset root port in firmware (regression in 3.14) + - [powerpc] irq work racing with timer interrupt can result in timer + interrupt hang (regression in 3.14) + - [powerpc] kexec: Fix "Processor X is stuck" issue during kexec from ST + mode (regression in 3.13) + - spi: core: Ignore unsupported Dual/Quad Transfer Mode bits + (regression in 3.12) + - libceph: fix corruption when using page_count 0 page in rbd + - media: V4L2: ov7670: fix a wrong index, potentially Oopsing the kernel + from user-space + http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.14.7 + - perf: Limit perf_event_attr::sample_period to 63 bits + - perf: Fix race in removing an event + - SCSI: scsi_transport_sas: move bsg destructor into sas_rphy_remove + (regression in 3.13) + - [arm] 8051/1: put_user: fix possible data corruption in put_user + - [arm] 8064/1: fix v7-M signal return (regression in 3.11) + - cpufreq: remove race while accessing cur_policy + - firewire: revert to 4 GB RDMA, fix protocols using Memory Space + (regression in 3.14) + - [mips] Fix typo when reporting cache and ftlb errors for ImgTec cores + (regression in 3.14) + - dm cache: always split discards on cache block boundaries + - virtio_blk: fix race between start and stop queue + - sched/deadline: Restrict user params max value to 2^63 ns + - sched/dl: Fix race in dl_task_timer() + - drm/radeon: avoid crash if VM command submission isn't available + - [x86] drm/i915: Only copy back the modified fields to userspace from + execbuffer + - drm/radeon/dpm: resume fixes for some systems (regression in 3.14) + - libata: Blacklist queued trim for Crucial M500 (regression in 3.14.4) + - md: always set MD_RECOVERY_INTR when aborting a reshape or other + "resync". + - md: always set MD_RECOVERY_INTR when interrupting a reshape thread. + (regression in 3.12.9, 3.13) + - xhci: delete endpoints from bandwidth list before freeing whole device + - staging: comedi: ni_daq_700: add mux settling delay + - staging: r8192e_pci: fix htons error (regression in 3.14) + - ALSA: hda/analog - Fix silent output on ASUS A8JN (regression in 3.12) + - USB: io_ti: fix firmware download on big-endian machines (part 2) + - usb: pci-quirks: Prevent Sony VAIO t-series from switching usb ports + (regression in 3.12) + - percpu-refcount: fix usage of this_cpu_ops + - [x86] intel_pstate: Remove C0 tracking (regression in 3.14) + - [x86] intel_pstate: Correct rounding in busy calculation + (regression in 3.14) + - [x86] intel_pstate: add sample time scaling + - [x86] intel_pstate: Improve initial busy calculation + - mm: add !pte_present() check on existing hugetlb_entry callbacks + (CVE-2014-3940) + - mm: rmap: fix use-after-free in __put_anon_vma + - iser-target: Add missing target_put_sess_cmd for ImmedateData failure + - iscsi-target: Fix wrong buffer / buffer overrun in + iscsi_change_param_value() + - target: Fix alua_access_state attribute OOPs for un-configured devices + - netfilter: Fix potential use after free in ip6_route_me_harder() + - netfilter: nfnetlink: Fix use after free when it fails to process batch + - [x86] iommu/vt-d: Fix missing IOTLB flush in intel_iommu_unmap() + + [ Ian Campbell ] + * [armhf] Enable VIRTIO_BALLOON and VIRTIO_PCI (Closes: #750742) + * [arm64] Update modules included in installer udebs. + * Include virtio_mmio in virtio-modules udeb when available. + + [ Aurelien Jarno ] + * topconfig: Enable modular HW_RANDOM. + * [kernelarch-powerpc] Remove HW_RANDOM. + * [kernelarch-x86] Remove HW_RANDOM. + * [mips/4kc-malta] Remove HW_RANDOM. + * [mips/5kc-malta] Remove HW_RANDOM. + * [mips/octeon] Remove HW_RANDOM. + * [arm64] Enable modular RTC_DRV_PL031. + + [ Ben Hutchings ] + * [ppc64el] Add kernel image, thanks to Mauricio Faria de Oliveira: + - Split common/big-endian powerpc64 options + - Add little-endian powerpc64 options + - Temporarily disable zImage + - powerpc/powernv: Add calls to support little endian host + - Add 'ppc64le' (uname output) to bug/include-model script + - udeb: Add packages based on ppc64 configuration + * netfilter: ipv4: defrag: set local_df flag on defragmented skb + (regression in 3.14.5) + * [mips] seccomp: Check system calls whenever seccomp is enabled, + even if audit and trace are disabled (Closes: #751417) + * auditsc: audit_krule mask accesses need bounds checking (CVE-2014-3917) + * fs,userns: Change inode_capable to capable_wrt_inode_uidgid + (CVE-2014-4014) + * SCSI: Fix spurious request sense in error handling (regression in 3.14) + * PCI/MSI: Fix memory leak in free_msi_irqs() (regression in 3.14) + * [rt] hrtimer: Disable MISSED_TIMER_OFFSETS_HIST as it will currently + result in a panic + + -- Ben Hutchings Mon, 16 Jun 2014 09:51:49 +0100 + linux (3.14.5-1) unstable; urgency=high * New upstream stable update: diff --git a/debian/config/arm64/config b/debian/config/arm64/config index 877106627..94d894b7f 100644 --- a/debian/config/arm64/config +++ b/debian/config/arm64/config @@ -6,6 +6,12 @@ CONFIG_ARCH_XGENE=y CONFIG_SMP=y CONFIG_XEN=y +## +## file: drivers/input/misc/Kconfig +## +CONFIG_INPUT_MISC=y +CONFIG_INPUT_UINPUT=m + ## ## file: drivers/mmc/Kconfig ## @@ -46,6 +52,11 @@ CONFIG_SMSC911X=m CONFIG_POWER_RESET_VEXPRESS=y CONFIG_POWER_RESET_XGENE=y +## +## file: drivers/rtc/Kconfig +## +CONFIG_RTC_DRV_PL031=m + ## ## file: drivers/tty/serial/Kconfig ## diff --git a/debian/config/armel/config.ixp4xx b/debian/config/armel/config.ixp4xx index 9a9db1dbf..0708096cd 100644 --- a/debian/config/armel/config.ixp4xx +++ b/debian/config/armel/config.ixp4xx @@ -785,3 +785,9 @@ CONFIG_SND_PCXHR=m ## # CONFIG_SND_HDA_INTEL is not set +## +## file: drivers/virtio/Kconfig +## +# CONFIG_VIRTIO_PCI is not set +# CONFIG_VIRTIO_BALLOON is not set + diff --git a/debian/config/armel/config.kirkwood b/debian/config/armel/config.kirkwood index bc9800a98..c183e2fec 100644 --- a/debian/config/armel/config.kirkwood +++ b/debian/config/armel/config.kirkwood @@ -689,6 +689,12 @@ CONFIG_SND_KIRKWOOD_SOC=m CONFIG_SND_KIRKWOOD_SOC_OPENRD=m CONFIG_SND_KIRKWOOD_SOC_T5325=m +## +## file: drivers/virtio/Kconfig +## +# CONFIG_VIRTIO_PCI is not set +# CONFIG_VIRTIO_BALLOON is not set + ## ## file: unknown ## diff --git a/debian/config/armel/config.mv78xx0 b/debian/config/armel/config.mv78xx0 index b7cfb981f..bdbac762f 100644 --- a/debian/config/armel/config.mv78xx0 +++ b/debian/config/armel/config.mv78xx0 @@ -544,3 +544,9 @@ CONFIG_AX25=m CONFIG_NETROM=m CONFIG_ROSE=m +## +## file: drivers/virtio/Kconfig +## +# CONFIG_VIRTIO_PCI is not set +# CONFIG_VIRTIO_BALLOON is not set + diff --git a/debian/config/armel/config.orion5x b/debian/config/armel/config.orion5x index 06726aad2..305c5c797 100644 --- a/debian/config/armel/config.orion5x +++ b/debian/config/armel/config.orion5x @@ -565,6 +565,12 @@ CONFIG_AX25=m CONFIG_NETROM=m CONFIG_ROSE=m +## +## file: drivers/virtio/Kconfig +## +# CONFIG_VIRTIO_PCI is not set +# CONFIG_VIRTIO_BALLOON is not set + ## ## file: unknown ## diff --git a/debian/config/armhf/config.armmp b/debian/config/armhf/config.armmp index 8a704d353..d1b540142 100644 --- a/debian/config/armhf/config.armmp +++ b/debian/config/armhf/config.armmp @@ -138,7 +138,6 @@ CONFIG_OMAP_INTERCONNECT=m ## ## file: drivers/char/hw_random/Kconfig ## -CONFIG_HW_RANDOM=m CONFIG_HW_RANDOM_OMAP=m ## diff --git a/debian/config/config b/debian/config/config index 48d19737c..a20071430 100644 --- a/debian/config/config +++ b/debian/config/config @@ -335,7 +335,7 @@ CONFIG_TELCLOCK=m ## ## file: drivers/char/hw_random/Kconfig ## -# CONFIG_HW_RANDOM is not set +CONFIG_HW_RANDOM=m # CONFIG_HW_RANDOM_TIMERIOMEM is not set CONFIG_HW_RANDOM_VIRTIO=m CONFIG_HW_RANDOM_TPM=m diff --git a/debian/config/featureset-rt/config b/debian/config/featureset-rt/config index 247fe31b6..1610bdc49 100644 --- a/debian/config/featureset-rt/config +++ b/debian/config/featureset-rt/config @@ -1,7 +1,10 @@ # CONFIG_PREEMPT_VOLUNTARY is not set CONFIG_PREEMPT_RT_FULL=y CONFIG_SCHED_TRACER=y -CONFIG_MISSED_TIMER_OFFSETS_HIST=y +#. This option is broken after commit 84ea7fe37908 +#. ('hrtimer: Set expiry time before switch_hrtimer_base()') but should be +#. enabled when this is resolved +# CONFIG_MISSED_TIMER_OFFSETS_HIST is not set CONFIG_WAKEUP_LATENCY_HIST=y ## disable aufs as it's not needed on rt and conflicts with fs-dentry-use-seqlock.patch diff --git a/debian/config/kernelarch-arm/config b/debian/config/kernelarch-arm/config index 8dca5ef81..99ac4908b 100644 --- a/debian/config/kernelarch-arm/config +++ b/debian/config/kernelarch-arm/config @@ -107,12 +107,6 @@ CONFIG_MTD_PHYSMAP=y CONFIG_THERMAL=y CONFIG_CPU_THERMAL=y -## -## file: drivers/virtio/Kconfig -## -# CONFIG_VIRTIO_PCI is not set -# CONFIG_VIRTIO_BALLOON is not set - ## ## file: lib/xz/Kconfig ## diff --git a/debian/config/kernelarch-powerpc/config-arch-64 b/debian/config/kernelarch-powerpc/config-arch-64 index 269ddb03c..0748ce68e 100644 --- a/debian/config/kernelarch-powerpc/config-arch-64 +++ b/debian/config/kernelarch-powerpc/config-arch-64 @@ -10,6 +10,7 @@ CONFIG_NUMA=y CONFIG_SCHED_SMT=y CONFIG_CMDLINE="console=hvsi0 console=hvc0 console=ttyS0,9600 console=tty0" CONFIG_KERNEL_START=0xc000000000000000 +CONFIG_PPC_TRANSACTIONAL_MEM=y ## ## file: arch/powerpc/platforms/Kconfig @@ -18,16 +19,6 @@ CONFIG_RTAS_PROC=y CONFIG_RTAS_FLASH=m CONFIG_IBMEBUS=y -## -## file: arch/powerpc/platforms/cell/Kconfig -## -CONFIG_PPC_IBM_CELL_BLADE=y -# CONFIG_PPC_CELLEB is not set -CONFIG_SPU_FS=m -CONFIG_SPU_FS_64K_LS=y -CONFIG_CBE_RAS=y -CONFIG_CBE_THERM=m - ## ## file: arch/powerpc/platforms/Kconfig.cputype ## @@ -35,33 +26,6 @@ CONFIG_PPC64=y # CONFIG_TUNE_CELL is not set CONFIG_ALTIVEC=y CONFIG_SMP=y -CONFIG_NR_CPUS=32 - -## -## file: arch/powerpc/platforms/maple/Kconfig -## -CONFIG_PPC_MAPLE=y - -## -## file: arch/powerpc/platforms/pasemi/Kconfig -## -CONFIG_PPC_PASEMI=y -CONFIG_PPC_PASEMI_MDIO=m - -## -## file: arch/powerpc/platforms/ps3/Kconfig -## -CONFIG_PPC_PS3=y -CONFIG_PS3_ADVANCED=y -CONFIG_PS3_HTAB_SIZE=20 -# CONFIG_PS3_DYNAMIC_DMA is not set -CONFIG_PS3_PS3AV=y -CONFIG_PS3_SYS_MANAGER=y -CONFIG_PS3_DISK=m -CONFIG_PS3_ROM=m -CONFIG_PS3_FLASH=m -CONFIG_PS3_VRAM=m -CONFIG_PS3_LPM=m ## ## file: arch/powerpc/platforms/pseries/Kconfig @@ -90,29 +54,6 @@ CONFIG_BLK_DEV_RSXX=m ## ## file: drivers/char/hw_random/Kconfig ## -CONFIG_HW_RANDOM=m -CONFIG_HW_RANDOM_PASEMI=m - -## -## file: drivers/cpufreq/Kconfig.powerpc -## -CONFIG_CPU_FREQ_CBE=m -CONFIG_CPU_FREQ_PMAC64=y -#. It's a bool -CONFIG_PPC_PASEMI_CPUFREQ=y - -## -## file: drivers/i2c/busses/Kconfig -## -CONFIG_I2C_PASEMI=m - -## -## file: drivers/macintosh/Kconfig -## -CONFIG_WINDFARM=m -CONFIG_WINDFARM_PM81=m -CONFIG_WINDFARM_PM91=m -CONFIG_WINDFARM_PM112=m ## ## file: drivers/net/ethernet/ibm/Kconfig @@ -136,28 +77,11 @@ CONFIG_IBM_EMAC_RX_SKB_HEADROOM=0 ## # CONFIG_MV643XX_ETH is not set -## -## file: drivers/net/ethernet/pasemi/Kconfig -## -CONFIG_PASEMI_MAC=m - -## -## file: drivers/net/ethernet/toshiba/Kconfig -## -CONFIG_GELIC_NET=m -CONFIG_GELIC_WIRELESS=y -CONFIG_SPIDER_NET=m - ## ## file: drivers/pci/hotplug/Kconfig ## # CONFIG_HOTPLUG_PCI is not set -## -## file: drivers/rtc/Kconfig -## -CONFIG_RTC_DRV_PS3=m - ## ## file: drivers/scsi/Kconfig ## @@ -189,8 +113,6 @@ CONFIG_HVCS=m # CONFIG_FB_VALKYRIE is not set # CONFIG_FB_IMSTT is not set # CONFIG_FB_ATY128 is not set -CONFIG_FB_PS3=y -CONFIG_FB_PS3_DEFAULT_SIZE_M=9 ## ## file: drivers/watchdog/Kconfig @@ -207,9 +129,3 @@ CONFIG_SPARSEMEM_MANUAL=y ## end choice CONFIG_SPARSEMEM_VMEMMAP=y -## -## file: sound/ppc/Kconfig -## -CONFIG_SND_PS3=m -CONFIG_SND_PS3_DEFAULT_START_DELAY=2000 - diff --git a/debian/config/kernelarch-powerpc/config-arch-64-be b/debian/config/kernelarch-powerpc/config-arch-64-be new file mode 100644 index 000000000..486c347b3 --- /dev/null +++ b/debian/config/kernelarch-powerpc/config-arch-64-be @@ -0,0 +1,96 @@ +## +## file: arch/powerpc/platforms/Kconfig.cputype +## +CONFIG_NR_CPUS=32 + +## +## file: arch/powerpc/platforms/cell/Kconfig +## +CONFIG_PPC_IBM_CELL_BLADE=y +# CONFIG_PPC_CELLEB is not set +CONFIG_SPU_FS=m +CONFIG_SPU_FS_64K_LS=y +CONFIG_CBE_RAS=y +CONFIG_CBE_THERM=m + +## +## file: arch/powerpc/platforms/maple/Kconfig +## +CONFIG_PPC_MAPLE=y + +## +## file: arch/powerpc/platforms/pasemi/Kconfig +## +CONFIG_PPC_PASEMI=y +CONFIG_PPC_PASEMI_MDIO=m + +## +## file: arch/powerpc/platforms/ps3/Kconfig +## +CONFIG_PPC_PS3=y +CONFIG_PS3_ADVANCED=y +CONFIG_PS3_HTAB_SIZE=20 +# CONFIG_PS3_DYNAMIC_DMA is not set +CONFIG_PS3_PS3AV=y +CONFIG_PS3_SYS_MANAGER=y +CONFIG_PS3_DISK=m +CONFIG_PS3_ROM=m +CONFIG_PS3_FLASH=m +CONFIG_PS3_VRAM=m +CONFIG_PS3_LPM=m + +## +## file: drivers/char/hw_random/Kconfig +## +CONFIG_HW_RANDOM_PASEMI=m + +## +## file: drivers/cpufreq/Kconfig.powerpc +## +CONFIG_CPU_FREQ_CBE=m +CONFIG_CPU_FREQ_PMAC64=y +#. It's a bool +CONFIG_PPC_PASEMI_CPUFREQ=y + +## +## file: drivers/i2c/busses/Kconfig +## +CONFIG_I2C_PASEMI=m + +## +## file: drivers/macintosh/Kconfig +## +CONFIG_WINDFARM=m +CONFIG_WINDFARM_PM81=m +CONFIG_WINDFARM_PM91=m +CONFIG_WINDFARM_PM112=m + +## +## file: drivers/net/ethernet/pasemi/Kconfig +## +CONFIG_PASEMI_MAC=m + +## +## file: drivers/net/ethernet/toshiba/Kconfig +## +CONFIG_GELIC_NET=m +CONFIG_GELIC_WIRELESS=y +CONFIG_SPIDER_NET=m + +## +## file: drivers/rtc/Kconfig +## +CONFIG_RTC_DRV_PS3=m + +## +## file: drivers/video/Kconfig +## +CONFIG_FB_PS3=y +CONFIG_FB_PS3_DEFAULT_SIZE_M=9 + +## +## file: sound/ppc/Kconfig +## +CONFIG_SND_PS3=m +CONFIG_SND_PS3_DEFAULT_START_DELAY=2000 + diff --git a/debian/config/kernelarch-powerpc/config-arch-64-le b/debian/config/kernelarch-powerpc/config-arch-64-le new file mode 100644 index 000000000..367001a0b --- /dev/null +++ b/debian/config/kernelarch-powerpc/config-arch-64-le @@ -0,0 +1,34 @@ +## +## file: arch/powerpc/Kconfig +## +## choice: Page size +# CONFIG_PPC_4K_PAGES is not set +CONFIG_PPC_64K_PAGES=y +## end choice + +## +## file: arch/powerpc/platforms/Kconfig.cputype +## +## choice: Endianness selection +# CONFIG_CPU_BIG_ENDIAN is not set +CONFIG_CPU_LITTLE_ENDIAN=y +## end choice +CONFIG_NR_CPUS=2048 + +## +## file: arch/powerpc/platforms/powermac/Kconfig +## +#. This needs to be explicitly disabled currently (3.15) +# CONFIG_PPC_PMAC is not set + +## +## file: drivers/cpufreq/Kconfig +## +## choice: Default CPUFreq governor +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +## end choice + diff --git a/debian/config/kernelarch-x86/config b/debian/config/kernelarch-x86/config index 234d65d08..812a5398e 100644 --- a/debian/config/kernelarch-x86/config +++ b/debian/config/kernelarch-x86/config @@ -310,7 +310,6 @@ CONFIG_AGP_VIA=y ## ## file: drivers/char/hw_random/Kconfig ## -CONFIG_HW_RANDOM=m CONFIG_HW_RANDOM_INTEL=m CONFIG_HW_RANDOM_AMD=m CONFIG_HW_RANDOM_GEODE=m diff --git a/debian/config/mips/config.4kc-malta b/debian/config/mips/config.4kc-malta index 3410aace9..b3cc474d3 100644 --- a/debian/config/mips/config.4kc-malta +++ b/debian/config/mips/config.4kc-malta @@ -166,11 +166,6 @@ CONFIG_PPDEV=m CONFIG_R3964=m CONFIG_APPLICOM=m -## -## file: drivers/char/hw_random/Kconfig -## -CONFIG_HW_RANDOM=m - ## ## file: drivers/char/ipmi/Kconfig ## diff --git a/debian/config/mips/config.5kc-malta b/debian/config/mips/config.5kc-malta index 83a35a092..70bda5b9d 100644 --- a/debian/config/mips/config.5kc-malta +++ b/debian/config/mips/config.5kc-malta @@ -169,11 +169,6 @@ CONFIG_PPDEV=m CONFIG_R3964=m CONFIG_APPLICOM=m -## -## file: drivers/char/hw_random/Kconfig -## -CONFIG_HW_RANDOM=m - ## ## file: drivers/char/ipmi/Kconfig ## diff --git a/debian/config/mips/config.octeon b/debian/config/mips/config.octeon index da9b9f1f9..f0273903f 100644 --- a/debian/config/mips/config.octeon +++ b/debian/config/mips/config.octeon @@ -37,7 +37,6 @@ CONFIG_PATA_OCTEON_CF=y ## ## file: drivers/char/hw_random/Kconfig ## -CONFIG_HW_RANDOM=m CONFIG_HW_RANDOM_OCTEON=m ## diff --git a/debian/config/powerpc/defines b/debian/config/powerpc/defines index 32fbcf74d..53c8d89ff 100644 --- a/debian/config/powerpc/defines +++ b/debian/config/powerpc/defines @@ -30,4 +30,4 @@ configs: powerpc/config.powerpc powerpc/config.powerpc-smp hardware: 64-bit PowerPC [powerpc64_image] -configs: kernelarch-powerpc/config-arch-64 +configs: kernelarch-powerpc/config-arch-64 kernelarch-powerpc/config-arch-64-be diff --git a/debian/config/ppc64/defines b/debian/config/ppc64/defines index 3f0afd9e5..dd85eb039 100644 --- a/debian/config/ppc64/defines +++ b/debian/config/ppc64/defines @@ -19,4 +19,4 @@ gcc-4.8: gcc-4.8 (>= 4.8.2-21) hardware: 64-bit PowerPC [powerpc64_image] -configs: kernelarch-powerpc/config-arch-64 +configs: kernelarch-powerpc/config-arch-64 kernelarch-powerpc/config-arch-64-be diff --git a/debian/config/ppc64el/defines b/debian/config/ppc64el/defines index 11fd73a97..b5ec5ed67 100644 --- a/debian/config/ppc64el/defines +++ b/debian/config/ppc64el/defines @@ -1,4 +1,18 @@ [base] +flavours: + powerpc64le kernel-arch: powerpc -featuresets: -# empty + +[build] +image-file: vmlinux + +[image] +configs: +suggests: mkvmlinuz +install-stem: vmlinux + +[powerpc64le_description] +hardware: Little-endian 64-bit PowerPC + +[powerpc64le_image] +configs: kernelarch-powerpc/config-arch-64 kernelarch-powerpc/config-arch-64-le diff --git a/debian/installer/arm64/modules/arm64/nic-modules b/debian/installer/arm64/modules/arm64/nic-modules index a530f19fd..83a95ea84 100644 --- a/debian/installer/arm64/modules/arm64/nic-modules +++ b/debian/installer/arm64/modules/arm64/nic-modules @@ -1,3 +1,2 @@ -#include smc91x smsc911x diff --git a/debian/installer/arm64/modules/arm64/scsi-modules b/debian/installer/arm64/modules/arm64/scsi-modules index 675462a14..fa172f59f 100644 --- a/debian/installer/arm64/modules/arm64/scsi-modules +++ b/debian/installer/arm64/modules/arm64/scsi-modules @@ -1,2 +1,2 @@ -#include - +sg +xen-blkfront diff --git a/debian/installer/modules/virtio-modules b/debian/installer/modules/virtio-modules index 04ae7e89b..01c6997e8 100644 --- a/debian/installer/modules/virtio-modules +++ b/debian/installer/modules/virtio-modules @@ -5,3 +5,4 @@ virtio_scsi # Some architectures do not have PCI bus virtio_pci ? +virtio_mmio ? diff --git a/debian/installer/ppc64el/kernel-versions b/debian/installer/ppc64el/kernel-versions new file mode 100644 index 000000000..5f0d460d3 --- /dev/null +++ b/debian/installer/ppc64el/kernel-versions @@ -0,0 +1,2 @@ +# arch version flavour installedname suffix build-depends +ppc64el - powerpc64le - - - diff --git a/debian/installer/ppc64el/modules/ppc64el/ata-modules b/debian/installer/ppc64el/modules/ppc64el/ata-modules new file mode 100644 index 000000000..77a471d2f --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/ata-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/ata-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/btrfs-modules b/debian/installer/ppc64el/modules/ppc64el/btrfs-modules new file mode 100644 index 000000000..4ab00bed8 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/btrfs-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/btrfs-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/cdrom-core-modules b/debian/installer/ppc64el/modules/ppc64el/cdrom-core-modules new file mode 100644 index 000000000..ab06dbd9b --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/cdrom-core-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/cdrom-core-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/core-modules b/debian/installer/ppc64el/modules/ppc64el/core-modules new file mode 100644 index 000000000..b5c598d2a --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/core-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/core-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/crc-modules b/debian/installer/ppc64el/modules/ppc64el/crc-modules new file mode 100644 index 000000000..faf2d628d --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/crc-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/crc-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/crypto-dm-modules b/debian/installer/ppc64el/modules/ppc64el/crypto-dm-modules new file mode 100644 index 000000000..2c530b3d4 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/crypto-dm-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/crypto-dm-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/crypto-modules b/debian/installer/ppc64el/modules/ppc64el/crypto-modules new file mode 100644 index 000000000..c6170b1d3 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/crypto-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/crypto-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/event-modules b/debian/installer/ppc64el/modules/ppc64el/event-modules new file mode 100644 index 000000000..b0e5f5626 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/event-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/event-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/ext4-modules b/debian/installer/ppc64el/modules/ppc64el/ext4-modules new file mode 100644 index 000000000..ac5f4c066 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/ext4-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/ext4-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/fancontrol-modules b/debian/installer/ppc64el/modules/ppc64el/fancontrol-modules new file mode 100644 index 000000000..55cde68ad --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/fancontrol-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/fancontrol-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/fat-modules b/debian/installer/ppc64el/modules/ppc64el/fat-modules new file mode 100644 index 000000000..9ef0e07a2 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/fat-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/fat-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/firewire-core-modules b/debian/installer/ppc64el/modules/ppc64el/firewire-core-modules new file mode 100644 index 000000000..30b2c4c7c --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/firewire-core-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/firewire-core-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/fuse-modules b/debian/installer/ppc64el/modules/ppc64el/fuse-modules new file mode 100644 index 000000000..73597f9e7 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/fuse-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/fuse-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/hypervisor-modules b/debian/installer/ppc64el/modules/ppc64el/hypervisor-modules new file mode 100644 index 000000000..f2edc4b77 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/hypervisor-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/hypervisor-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/input-modules b/debian/installer/ppc64el/modules/ppc64el/input-modules new file mode 100644 index 000000000..e4625ac77 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/input-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/input-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/isofs-modules b/debian/installer/ppc64el/modules/ppc64el/isofs-modules new file mode 100644 index 000000000..18fb993d2 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/isofs-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/isofs-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/jfs-modules b/debian/installer/ppc64el/modules/ppc64el/jfs-modules new file mode 100644 index 000000000..193513f5f --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/jfs-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/jfs-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/kernel-image b/debian/installer/ppc64el/modules/ppc64el/kernel-image new file mode 100644 index 000000000..93f4a3702 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/kernel-image @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/kernel-image" diff --git a/debian/installer/ppc64el/modules/ppc64el/loop-modules b/debian/installer/ppc64el/modules/ppc64el/loop-modules new file mode 100644 index 000000000..fac3d38d4 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/loop-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/loop-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/md-modules b/debian/installer/ppc64el/modules/ppc64el/md-modules new file mode 100644 index 000000000..03b10183f --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/md-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/md-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/mouse-modules b/debian/installer/ppc64el/modules/ppc64el/mouse-modules new file mode 100644 index 000000000..163e3bab0 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/mouse-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/mouse-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/multipath-modules b/debian/installer/ppc64el/modules/ppc64el/multipath-modules new file mode 100644 index 000000000..cb7afcb65 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/multipath-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/multipath-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/nbd-modules b/debian/installer/ppc64el/modules/ppc64el/nbd-modules new file mode 100644 index 000000000..6540c0af6 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/nbd-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/nbd-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/nic-modules b/debian/installer/ppc64el/modules/ppc64el/nic-modules new file mode 100644 index 000000000..8ef5be227 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/nic-modules @@ -0,0 +1,5 @@ +#include "../../../ppc64/modules/ppc64/nic-modules" + +airport - +ps3_gelic - +spidernet - diff --git a/debian/installer/ppc64el/modules/ppc64el/nic-shared-modules b/debian/installer/ppc64el/modules/ppc64el/nic-shared-modules new file mode 100644 index 000000000..13812a869 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/nic-shared-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/nic-shared-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/ppp-modules b/debian/installer/ppc64el/modules/ppc64el/ppp-modules new file mode 100644 index 000000000..626201967 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/ppp-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/ppp-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/sata-modules b/debian/installer/ppc64el/modules/ppc64el/sata-modules new file mode 100644 index 000000000..6907d272e --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/sata-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/sata-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/scsi-common-modules b/debian/installer/ppc64el/modules/ppc64el/scsi-common-modules new file mode 100644 index 000000000..a52a3c900 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/scsi-common-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/scsi-common-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/scsi-core-modules b/debian/installer/ppc64el/modules/ppc64el/scsi-core-modules new file mode 100644 index 000000000..dd496f79b --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/scsi-core-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/scsi-core-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/scsi-extra-modules b/debian/installer/ppc64el/modules/ppc64el/scsi-extra-modules new file mode 100644 index 000000000..ccfa60b5a --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/scsi-extra-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/scsi-extra-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/scsi-modules b/debian/installer/ppc64el/modules/ppc64el/scsi-modules new file mode 100644 index 000000000..da4567b84 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/scsi-modules @@ -0,0 +1,3 @@ +#include "../../../ppc64/modules/ppc64/scsi-modules" + +ps3rom - diff --git a/debian/installer/ppc64el/modules/ppc64el/serial-modules b/debian/installer/ppc64el/modules/ppc64el/serial-modules new file mode 100644 index 000000000..22548f450 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/serial-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/serial-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/squashfs-modules b/debian/installer/ppc64el/modules/ppc64el/squashfs-modules new file mode 100644 index 000000000..8c0c6d1c2 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/squashfs-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/squashfs-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/udf-modules b/debian/installer/ppc64el/modules/ppc64el/udf-modules new file mode 100644 index 000000000..9ab96e026 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/udf-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/udf-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/uinput-modules b/debian/installer/ppc64el/modules/ppc64el/uinput-modules new file mode 100644 index 000000000..3d3929e24 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/uinput-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/uinput-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/usb-modules b/debian/installer/ppc64el/modules/ppc64el/usb-modules new file mode 100644 index 000000000..45ac3cf89 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/usb-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/usb-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/usb-serial-modules b/debian/installer/ppc64el/modules/ppc64el/usb-serial-modules new file mode 100644 index 000000000..63a8412e7 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/usb-serial-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/usb-serial-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/usb-storage-modules b/debian/installer/ppc64el/modules/ppc64el/usb-storage-modules new file mode 100644 index 000000000..1679b922b --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/usb-storage-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/usb-storage-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/virtio-modules b/debian/installer/ppc64el/modules/ppc64el/virtio-modules new file mode 100644 index 000000000..cbfbd1137 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/virtio-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/virtio-modules" diff --git a/debian/installer/ppc64el/modules/ppc64el/xfs-modules b/debian/installer/ppc64el/modules/ppc64el/xfs-modules new file mode 100644 index 000000000..5e8a7ce69 --- /dev/null +++ b/debian/installer/ppc64el/modules/ppc64el/xfs-modules @@ -0,0 +1 @@ +#include "../../../ppc64/modules/ppc64/xfs-modules" diff --git a/debian/installer/ppc64el/package-list b/debian/installer/ppc64el/package-list new file mode 120000 index 000000000..a872ee13e --- /dev/null +++ b/debian/installer/ppc64el/package-list @@ -0,0 +1 @@ +../ppc64/package-list \ No newline at end of file diff --git a/debian/patches/bugfix/all/PCI-MSI-Fix-memory-leak-in-free_msi_irqs.patch b/debian/patches/bugfix/all/PCI-MSI-Fix-memory-leak-in-free_msi_irqs.patch new file mode 100644 index 000000000..c3a90d88b --- /dev/null +++ b/debian/patches/bugfix/all/PCI-MSI-Fix-memory-leak-in-free_msi_irqs.patch @@ -0,0 +1,33 @@ +From: Alexei Starovoitov +Date: Wed, 4 Jun 2014 15:49:50 -0700 +Subject: PCI/MSI: Fix memory leak in free_msi_irqs() +Origin: https://git.kernel.org/linus/b701c0b1fe819a2083fc6ec5332e0e4492b9516d + +free_msi_irqs() is leaking memory, since list_for_each_entry(entry, +&dev->msi_list, list) {...} is never executed, because dev->msi_list is +made empty by the loop just above this one. + +Fix it by relying on zero termination of attribute array like +populate_msi_sysfs() does. + +Fixes: 1c51b50c2995 ("PCI/MSI: Export MSI mode using attributes, not kobjects") +Signed-off-by: Alexei Starovoitov +Signed-off-by: Bjorn Helgaas +Acked-by: Neil Horman +Acked-by: Greg Kroah-Hartman +CC: stable@vger.kernel.org # v3.14+ +--- + drivers/pci/msi.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/pci/msi.c ++++ b/drivers/pci/msi.c +@@ -414,7 +414,7 @@ static void free_msi_irqs(struct pci_dev + if (dev->msi_irq_groups) { + sysfs_remove_groups(&dev->dev.kobj, dev->msi_irq_groups); + msi_attrs = dev->msi_irq_groups[0]->attrs; +- list_for_each_entry(entry, &dev->msi_list, list) { ++ while (msi_attrs[count]) { + dev_attr = container_of(msi_attrs[count], + struct device_attribute, attr); + kfree(dev_attr->attr.name); diff --git a/debian/patches/bugfix/all/auditsc-audit_krule-mask-accesses-need-bounds-checki.patch b/debian/patches/bugfix/all/auditsc-audit_krule-mask-accesses-need-bounds-checki.patch new file mode 100644 index 000000000..b5c10893c --- /dev/null +++ b/debian/patches/bugfix/all/auditsc-audit_krule-mask-accesses-need-bounds-checki.patch @@ -0,0 +1,80 @@ +From: Andy Lutomirski +Date: Wed, 28 May 2014 23:09:58 -0400 +Subject: auditsc: audit_krule mask accesses need bounds checking +Origin: https://git.kernel.org/linus/a3c54931199565930d6d84f4c3456f6440aefd41 + +Fixes an easy DoS and possible information disclosure. + +This does nothing about the broken state of x32 auditing. + +eparis: If the admin has enabled auditd and has specifically loaded +audit rules. This bug has been around since before git. Wow... + +Cc: stable@vger.kernel.org +Signed-off-by: Andy Lutomirski +Signed-off-by: Eric Paris +Signed-off-by: Linus Torvalds +--- + kernel/auditsc.c | 27 ++++++++++++++++++--------- + 1 file changed, 18 insertions(+), 9 deletions(-) + +--- a/kernel/auditsc.c ++++ b/kernel/auditsc.c +@@ -720,6 +720,22 @@ static enum audit_state audit_filter_tas + return AUDIT_BUILD_CONTEXT; + } + ++static int audit_in_mask(const struct audit_krule *rule, unsigned long val) ++{ ++ int word, bit; ++ ++ if (val > 0xffffffff) ++ return false; ++ ++ word = AUDIT_WORD(val); ++ if (word >= AUDIT_BITMASK_SIZE) ++ return false; ++ ++ bit = AUDIT_BIT(val); ++ ++ return rule->mask[word] & bit; ++} ++ + /* At syscall entry and exit time, this filter is called if the + * audit_state is not low enough that auditing cannot take place, but is + * also not high enough that we already know we have to write an audit +@@ -737,11 +753,8 @@ static enum audit_state audit_filter_sys + + rcu_read_lock(); + if (!list_empty(list)) { +- int word = AUDIT_WORD(ctx->major); +- int bit = AUDIT_BIT(ctx->major); +- + list_for_each_entry_rcu(e, list, list) { +- if ((e->rule.mask[word] & bit) == bit && ++ if (audit_in_mask(&e->rule, ctx->major) && + audit_filter_rules(tsk, &e->rule, ctx, NULL, + &state, false)) { + rcu_read_unlock(); +@@ -761,20 +774,16 @@ static enum audit_state audit_filter_sys + static int audit_filter_inode_name(struct task_struct *tsk, + struct audit_names *n, + struct audit_context *ctx) { +- int word, bit; + int h = audit_hash_ino((u32)n->ino); + struct list_head *list = &audit_inode_hash[h]; + struct audit_entry *e; + enum audit_state state; + +- word = AUDIT_WORD(ctx->major); +- bit = AUDIT_BIT(ctx->major); +- + if (list_empty(list)) + return 0; + + list_for_each_entry_rcu(e, list, list) { +- if ((e->rule.mask[word] & bit) == bit && ++ if (audit_in_mask(&e->rule, ctx->major) && + audit_filter_rules(tsk, &e->rule, ctx, n, &state, false)) { + ctx->current_state = state; + return 1; diff --git a/debian/patches/bugfix/all/fs-userns-change-inode_capable-to-capable_wrt_inode_uidgid.patch b/debian/patches/bugfix/all/fs-userns-change-inode_capable-to-capable_wrt_inode_uidgid.patch new file mode 100644 index 000000000..2a6460a42 --- /dev/null +++ b/debian/patches/bugfix/all/fs-userns-change-inode_capable-to-capable_wrt_inode_uidgid.patch @@ -0,0 +1,191 @@ +From: Andy Lutomirski +Date: Tue, 10 Jun 2014 12:45:42 -0700 +Subject: fs,userns: Change inode_capable to capable_wrt_inode_uidgid +Origin: https://git.kernel.org/linus/23adbe12ef7d3d4195e80800ab36b37bee28cd03 + +The kernel has no concept of capabilities with respect to inodes; inodes +exist independently of namespaces. For example, inode_capable(inode, +CAP_LINUX_IMMUTABLE) would be nonsense. + +This patch changes inode_capable to check for uid and gid mappings and +renames it to capable_wrt_inode_uidgid, which should make it more +obvious what it does. + +Fixes CVE-2014-4014. + +Cc: Theodore Ts'o +Cc: Serge Hallyn +Cc: "Eric W. Biederman" +Cc: Dave Chinner +Cc: stable@vger.kernel.org +Signed-off-by: Andy Lutomirski +Signed-off-by: Linus Torvalds +--- + fs/attr.c | 8 ++++---- + fs/inode.c | 10 +++++++--- + fs/namei.c | 11 ++++++----- + fs/xfs/xfs_ioctl.c | 2 +- + include/linux/capability.h | 2 +- + kernel/capability.c | 20 ++++++++------------ + 6 files changed, 27 insertions(+), 26 deletions(-) + +--- a/fs/attr.c ++++ b/fs/attr.c +@@ -50,14 +50,14 @@ int inode_change_ok(const struct inode * + if ((ia_valid & ATTR_UID) && + (!uid_eq(current_fsuid(), inode->i_uid) || + !uid_eq(attr->ia_uid, inode->i_uid)) && +- !inode_capable(inode, CAP_CHOWN)) ++ !capable_wrt_inode_uidgid(inode, CAP_CHOWN)) + return -EPERM; + + /* Make sure caller can chgrp. */ + if ((ia_valid & ATTR_GID) && + (!uid_eq(current_fsuid(), inode->i_uid) || + (!in_group_p(attr->ia_gid) && !gid_eq(attr->ia_gid, inode->i_gid))) && +- !inode_capable(inode, CAP_CHOWN)) ++ !capable_wrt_inode_uidgid(inode, CAP_CHOWN)) + return -EPERM; + + /* Make sure a caller can chmod. */ +@@ -67,7 +67,7 @@ int inode_change_ok(const struct inode * + /* Also check the setgid bit! */ + if (!in_group_p((ia_valid & ATTR_GID) ? attr->ia_gid : + inode->i_gid) && +- !inode_capable(inode, CAP_FSETID)) ++ !capable_wrt_inode_uidgid(inode, CAP_FSETID)) + attr->ia_mode &= ~S_ISGID; + } + +@@ -160,7 +160,7 @@ void setattr_copy(struct inode *inode, c + umode_t mode = attr->ia_mode; + + if (!in_group_p(inode->i_gid) && +- !inode_capable(inode, CAP_FSETID)) ++ !capable_wrt_inode_uidgid(inode, CAP_FSETID)) + mode &= ~S_ISGID; + inode->i_mode = mode; + } +--- a/fs/inode.c ++++ b/fs/inode.c +@@ -1842,14 +1842,18 @@ EXPORT_SYMBOL(inode_init_owner); + * inode_owner_or_capable - check current task permissions to inode + * @inode: inode being checked + * +- * Return true if current either has CAP_FOWNER to the inode, or +- * owns the file. ++ * Return true if current either has CAP_FOWNER in a namespace with the ++ * inode owner uid mapped, or owns the file. + */ + bool inode_owner_or_capable(const struct inode *inode) + { ++ struct user_namespace *ns; ++ + if (uid_eq(current_fsuid(), inode->i_uid)) + return true; +- if (inode_capable(inode, CAP_FOWNER)) ++ ++ ns = current_user_ns(); ++ if (ns_capable(ns, CAP_FOWNER) && kuid_has_mapping(ns, inode->i_uid)) + return true; + return false; + } +--- a/fs/namei.c ++++ b/fs/namei.c +@@ -332,10 +332,11 @@ int generic_permission(struct inode *ino + + if (S_ISDIR(inode->i_mode)) { + /* DACs are overridable for directories */ +- if (inode_capable(inode, CAP_DAC_OVERRIDE)) ++ if (capable_wrt_inode_uidgid(inode, CAP_DAC_OVERRIDE)) + return 0; + if (!(mask & MAY_WRITE)) +- if (inode_capable(inode, CAP_DAC_READ_SEARCH)) ++ if (capable_wrt_inode_uidgid(inode, ++ CAP_DAC_READ_SEARCH)) + return 0; + return -EACCES; + } +@@ -345,7 +346,7 @@ int generic_permission(struct inode *ino + * at least one exec bit set. + */ + if (!(mask & MAY_EXEC) || (inode->i_mode & S_IXUGO)) +- if (inode_capable(inode, CAP_DAC_OVERRIDE)) ++ if (capable_wrt_inode_uidgid(inode, CAP_DAC_OVERRIDE)) + return 0; + + /* +@@ -353,7 +354,7 @@ int generic_permission(struct inode *ino + */ + mask &= MAY_READ | MAY_WRITE | MAY_EXEC; + if (mask == MAY_READ) +- if (inode_capable(inode, CAP_DAC_READ_SEARCH)) ++ if (capable_wrt_inode_uidgid(inode, CAP_DAC_READ_SEARCH)) + return 0; + + return -EACCES; +@@ -2370,7 +2371,7 @@ static inline int check_sticky(struct in + return 0; + if (uid_eq(dir->i_uid, fsuid)) + return 0; +- return !inode_capable(inode, CAP_FOWNER); ++ return !capable_wrt_inode_uidgid(inode, CAP_FOWNER); + } + + /* +--- a/fs/xfs/xfs_ioctl.c ++++ b/fs/xfs/xfs_ioctl.c +@@ -1241,7 +1241,7 @@ xfs_ioctl_setattr( + * cleared upon successful return from chown() + */ + if ((ip->i_d.di_mode & (S_ISUID|S_ISGID)) && +- !inode_capable(VFS_I(ip), CAP_FSETID)) ++ !capable_wrt_inode_uidgid(VFS_I(ip), CAP_FSETID)) + ip->i_d.di_mode &= ~(S_ISUID|S_ISGID); + + /* +--- a/include/linux/capability.h ++++ b/include/linux/capability.h +@@ -210,7 +210,7 @@ extern bool has_ns_capability_noaudit(st + struct user_namespace *ns, int cap); + extern bool capable(int cap); + extern bool ns_capable(struct user_namespace *ns, int cap); +-extern bool inode_capable(const struct inode *inode, int cap); ++extern bool capable_wrt_inode_uidgid(const struct inode *inode, int cap); + extern bool file_ns_capable(const struct file *file, struct user_namespace *ns, int cap); + + /* audit system wants to get cap info from files as well */ +--- a/kernel/capability.c ++++ b/kernel/capability.c +@@ -433,23 +433,19 @@ bool capable(int cap) + EXPORT_SYMBOL(capable); + + /** +- * inode_capable - Check superior capability over inode ++ * capable_wrt_inode_uidgid - Check nsown_capable and uid and gid mapped + * @inode: The inode in question + * @cap: The capability in question + * +- * Return true if the current task has the given superior capability +- * targeted at it's own user namespace and that the given inode is owned +- * by the current user namespace or a child namespace. +- * +- * Currently we check to see if an inode is owned by the current +- * user namespace by seeing if the inode's owner maps into the +- * current user namespace. +- * ++ * Return true if the current task has the given capability targeted at ++ * its own user namespace and that the given inode's uid and gid are ++ * mapped into the current user namespace. + */ +-bool inode_capable(const struct inode *inode, int cap) ++bool capable_wrt_inode_uidgid(const struct inode *inode, int cap) + { + struct user_namespace *ns = current_user_ns(); + +- return ns_capable(ns, cap) && kuid_has_mapping(ns, inode->i_uid); ++ return ns_capable(ns, cap) && kuid_has_mapping(ns, inode->i_uid) && ++ kgid_has_mapping(ns, inode->i_gid); + } +-EXPORT_SYMBOL(inode_capable); ++EXPORT_SYMBOL(capable_wrt_inode_uidgid); diff --git a/debian/patches/bugfix/powerpc/ppc64el-powernv-calls-to-support-little-endian.patch b/debian/patches/bugfix/powerpc/ppc64el-powernv-calls-to-support-little-endian.patch new file mode 100644 index 000000000..547fc44c8 --- /dev/null +++ b/debian/patches/bugfix/powerpc/ppc64el-powernv-calls-to-support-little-endian.patch @@ -0,0 +1,105 @@ +From: Benjamin Herrenschmidt +Date: Tue, 20 May 2014 11:01:28 +1000 +Subject: powerpc/powernv: Add calls to support little endian host +Origin: https://git.kernel.org/linus/4926616c77435e735c59288f838e7761baec4a6c + +When running as a powernv "host" system on P8, we need to switch +the endianness of interrupt handlers. This does it via the appropriate +call to the OPAL firmware which may result in just switching HID0:HILE +but depending on the processor version might need to do a few more +things. This call must be done early before any other processor has +been brought out of firmware. + +Signed-off-by: Benjamin Herrenschmidt +Signed-off-by: Andy Whitcroft +Signed-off-by: Benjamin Herrenschmidt +--- + arch/powerpc/include/asm/opal.h | 7 +++++++ + arch/powerpc/platforms/powernv/opal-wrappers.S | 1 + + arch/powerpc/platforms/powernv/opal.c | 22 ++++++++++++++++++++++ + 3 files changed, 30 insertions(+) + +diff --git a/arch/powerpc/include/asm/opal.h b/arch/powerpc/include/asm/opal.h +index 81720ff..ea8bba7 100644 +--- a/arch/powerpc/include/asm/opal.h ++++ b/arch/powerpc/include/asm/opal.h +@@ -154,6 +154,7 @@ extern int opal_enter_rtas(struct rtas_args *args, + #define OPAL_LPC_READ 67 + #define OPAL_LPC_WRITE 68 + #define OPAL_RETURN_CPU 69 ++#define OPAL_REINIT_CPUS 70 + #define OPAL_ELOG_READ 71 + #define OPAL_ELOG_WRITE 72 + #define OPAL_ELOG_ACK 73 +@@ -725,6 +726,11 @@ struct OpalIoPhb3ErrorData { + uint64_t pestB[OPAL_PHB3_NUM_PEST_REGS]; + }; + ++enum { ++ OPAL_REINIT_CPUS_HILE_BE = (1 << 0), ++ OPAL_REINIT_CPUS_HILE_LE = (1 << 1), ++}; ++ + typedef struct oppanel_line { + const char * line; + uint64_t line_len; +@@ -849,6 +855,7 @@ int64_t opal_pci_next_error(uint64_t phb_id, uint64_t *first_frozen_pe, + uint16_t *pci_error_type, uint16_t *severity); + int64_t opal_pci_poll(uint64_t phb_id); + int64_t opal_return_cpu(void); ++int64_t opal_reinit_cpus(uint64_t flags); + + int64_t opal_xscom_read(uint32_t gcid, uint64_t pcb_addr, __be64 *val); + int64_t opal_xscom_write(uint32_t gcid, uint64_t pcb_addr, uint64_t val); +diff --git a/arch/powerpc/platforms/powernv/opal-wrappers.S b/arch/powerpc/platforms/powernv/opal-wrappers.S +index b5ebc54..4abbff2 100644 +--- a/arch/powerpc/platforms/powernv/opal-wrappers.S ++++ b/arch/powerpc/platforms/powernv/opal-wrappers.S +@@ -124,6 +124,7 @@ OPAL_CALL(opal_xscom_write, OPAL_XSCOM_WRITE); + OPAL_CALL(opal_lpc_read, OPAL_LPC_READ); + OPAL_CALL(opal_lpc_write, OPAL_LPC_WRITE); + OPAL_CALL(opal_return_cpu, OPAL_RETURN_CPU); ++OPAL_CALL(opal_reinit_cpus, OPAL_REINIT_CPUS); + OPAL_CALL(opal_read_elog, OPAL_ELOG_READ); + OPAL_CALL(opal_send_ack_elog, OPAL_ELOG_ACK); + OPAL_CALL(opal_get_elog_size, OPAL_ELOG_SIZE); +diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c +index 360ad80c..539243e 100644 +--- a/arch/powerpc/platforms/powernv/opal.c ++++ b/arch/powerpc/platforms/powernv/opal.c +@@ -57,6 +57,21 @@ static DEFINE_SPINLOCK(opal_notifier_lock); + static uint64_t last_notified_mask = 0x0ul; + static atomic_t opal_notifier_hold = ATOMIC_INIT(0); + ++static void opal_reinit_cores(void) ++{ ++ /* Do the actual re-init, This will clobber all FPRs, VRs, etc... ++ * ++ * It will preserve non volatile GPRs and HSPRG0/1. It will ++ * also restore HIDs and other SPRs to their original value ++ * but it might clobber a bunch. ++ */ ++#ifdef __BIG_ENDIAN__ ++ opal_reinit_cpus(OPAL_REINIT_CPUS_HILE_BE); ++#else ++ opal_reinit_cpus(OPAL_REINIT_CPUS_HILE_LE); ++#endif ++} ++ + int __init early_init_dt_scan_opal(unsigned long node, + const char *uname, int depth, void *data) + { +@@ -96,6 +111,13 @@ int __init early_init_dt_scan_opal(unsigned long node, + printk("OPAL V1 detected !\n"); + } + ++ /* Reinit all cores with the right endian */ ++ opal_reinit_cores(); ++ ++ /* Restore some bits */ ++ if (cur_cpu_spec->cpu_restore) ++ cur_cpu_spec->cpu_restore(); ++ + return 1; + } + diff --git a/debian/patches/debian/ppc64el-disable-zImage.patch b/debian/patches/debian/ppc64el-disable-zImage.patch new file mode 100644 index 000000000..a234961ea --- /dev/null +++ b/debian/patches/debian/ppc64el-disable-zImage.patch @@ -0,0 +1,49 @@ +From: Mauricio Faria de Oliveira +Date: Wed, 4 Jun 2014 09:06:27 -0300 +Subject: ppc64el: kernel: patch: temporarily disable zImage + +Debian ppc64el will wait for the 'powerpc/boot: 64bit little endian wrapper' +(zImage) patches upstream rather than shipping 32-bit tools for zImage. The +patches are currently in Ben Herrenschmidt's linux-next tree [1]. + +The patches are not being carried over instead of this workaround because, +even without both, the build process does produces vmlinux, only failing for +zImage. So, it's ok to just work-around this for now, as we pick vmlinux. + +The workaround patch just avoids this build error: + + [...] + LD vmlinux + SYSMAP System.map + [...] + WRAP arch/powerpc/boot/zImage.pseries + ld: unrecognised emulation mode: elf32ppc + Supported emulations: elf64lppc elf32lppc elf32lppclinux elf32lppcsim + make[6]: *** [arch/powerpc/boot/zImage.pseries] Error 1 + make[5]: *** [zImage] Error 2 + +[1] https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/log/?qt=grep&q=powerpc%2Fboot + (15 commits with message prefix 'powerpc/boot:' dated of 2014-04-28) + +Signed-off-by: Mauricio Faria de Oliveira +--- +Index: linux-3.14.2/arch/powerpc/boot/Makefile +=================================================================== +--- linux-3.14.2.orig/arch/powerpc/boot/Makefile 2014-05-02 16:52:37.000000000 -0300 ++++ linux-3.14.2/arch/powerpc/boot/Makefile 2014-05-07 09:39:11.000000000 -0300 +@@ -344,6 +344,15 @@ + $(obj)/%.dtb: $(src)/dts/%.dts FORCE + $(call if_changed_dep,dtc) + ++# Debian ppc64el will wait for the 'powerpc/boot: 64bit little endian wrapper' ++# (zImage) patches upstream rather than shipping 32-bit tools for zImage. ++# This makes the next conditional block to pick vmlinux.strip as image-y. ++ifdef CONFIG_PPC64 ++ifdef CONFIG_CPU_LITTLE_ENDIAN ++image-y := ++endif ++endif ++ + # If there isn't a platform selected then just strip the vmlinux. + ifeq (,$(image-y)) + image-y := vmlinux.strip diff --git a/debian/patches/series b/debian/patches/series index eff37f9f1..793713aef 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -6,6 +6,7 @@ debian/ia64-hardcode-arch-script-output.patch debian/mips-disable-werror.patch debian/arch-sh4-fix-uimage-build.patch debian/powerpcspe-omit-uimage.patch +debian/ppc64el-disable-zImage.patch features/all/Kbuild-kconfig-Verbose-version-of-listnewconfig.patch # Fixes/improvements to firmware loading @@ -57,6 +58,7 @@ bugfix/arm/omap-musb-choice.patch bugfix/mips/disable-advansys.patch bugfix/arm/ixp4xx_iobe.patch bugfix/m68k/ethernat-kconfig.patch +bugfix/powerpc/ppc64el-powernv-calls-to-support-little-endian.patch # Miscellaneous bug fixes bugfix/all/misc-bmp085-Enable-building-as-a-module.patch @@ -94,3 +96,7 @@ features/arm/ARM-dts-sun7i-Add-reg_vcc3v3-to-sun7i-board-mmc-node.patch features/arm/ARM-dts-sun7i-cubietruck-set-mmc3-bus-width-property.patch features/arm/ARM-dts-imx6qdl-wandboard-Add-HDMI-support.patch features/arm/ARM-imx-add-HDMI-support-for-SolidRun-HummingBoard-a.patch + +bugfix/all/auditsc-audit_krule-mask-accesses-need-bounds-checki.patch +bugfix/all/fs-userns-change-inode_capable-to-capable_wrt_inode_uidgid.patch +bugfix/all/PCI-MSI-Fix-memory-leak-in-free_msi_irqs.patch diff --git a/debian/templates/image.plain.bug/include-model b/debian/templates/image.plain.bug/include-model index 40f802133..532ac5717 100644 --- a/debian/templates/image.plain.bug/include-model +++ b/debian/templates/image.plain.bug/include-model @@ -23,7 +23,7 @@ grep_model() { parisc|parisc64) egrep '^(model|[hs]version)\b' /proc/cpuinfo ;; - ppc|ppc64) + ppc|ppc64|ppc64le) egrep -i '^(board|machine|model|motherboard|platform|revision|vendor)\b' /proc/cpuinfo ;; s390|s390x)