Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1517929 > unrolled thread

[PATCH 4.8 000/138] 4.8.7-stable review

Started byGreg Kroah-Hartman <gregkh@linuxfoundation.org>
First post2016-11-09 12:10 +0100
Last post2016-11-11 14:10 +0100
Articles 20 on this page of 122 — 7 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 4.8 000/138] 4.8.7-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 045/138] timers: Lock base for same bucket optimization Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 047/138] ubifs: Fix regression in ubifs_readdir() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 030/138] ALSA: hda - Adding a new group of pin cfg into ALC295 pin quirk table Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 052/138] USB: serial: cp210x: fix tiocmget error handling Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 051/138] USB: serial: fix potential NULL-dereference at probe Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 056/138] usb: increase ohci watchdog delay to 275 msec Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 073/138] ARM: dts: fix the SD card on the Snowball Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 035/138] cxl: Fix leaking pid refs in some error paths Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 016/138] gpio: GPIOHANDLE_GET_LINE_VALUES_IOCTL: Fix another information leak Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 044/138] timers: Plug locking race vs. timer migration Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 021/138] mm: memcontrol: do not recurse in direct reclaim Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 069/138] KVM: s390: Fix STHYI buffer alignment for diag224 Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 022/138] thermal/powerclamp: correct cpu support check Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
      Re: [PATCH 4.8 022/138] thermal/powerclamp: correct cpu support  check Jacob Pan <jacob.jun.pan@linux.intel.com> - 2016-11-09 16:10 +0100
    [PATCH 4.8 040/138] powerpc/64: Fix race condition in setting lock bit in idle/wakeup code Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 080/138] virtio_ring: Make interrupt suppression spec compliant Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 006/138] spi: mark device nodes only in case of successful instantiation Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 010/138] gpio: GPIO_GET_CHIPINFO_IOCTL: Fix information leak Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 014/138] gpio: GPIO_GET_LINEHANDLE_IOCTL: Reject invalid line flags Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 067/138] dm: free io_barrier after blk_cleanup_queue call Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 079/138] parisc: Ensure consistent state when switching to kernel stack at syscall entry Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 066/138] Staging: wilc1000: Fix kernel Oops on opening the device Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 064/138] arm64: dts: marvell: fix clocksource for CP110 master SPI0 Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 036/138] btrfs: fix races on root_log_ctx lists Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 049/138] usb: gadget: udc: atmel: fix endpoint name Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 008/138] gpio / ACPI: fix returned error from acpi_dev_gpio_irq_get() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 065/138] iio:chemical:atlas-ph-sensor: Fix use of 32 bit int to hold 16 bit big endian value Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:10 +0100
    [PATCH 4.8 100/138] RAID1: ignore discard error Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 133/138] ARM: fix oops when using older ARMv4T CPUs Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 120/138] drm: i915: Wait for fences on new fb, not old Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 099/138] mmc: dw_mmc-pltfm: fix the potential NULL pointer dereference Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 075/138] MIPS: KASLR: Fix handling of NULL FDT Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 096/138] ath10k: cache calibration data when the core is stopped Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 128/138] usb: dwc3: Fix size used in dma_free_coherent() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 136/138] ubi: fastmap: Fix add_vol() return value test in ubi_attach_fastmap() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 077/138] ovl: update S_ISGID when setting posix ACLs Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 113/138] drm/i915/gen9: fix DDB partitioning for multi-screen cases Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 130/138] usb: musb: Fix hardirq-safe hardirq-unsafe lock order error Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 123/138] UBI: fastmap: scrub PEB when bitflips are detected in a free PEB EC header Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 102/138] md: be careful not lot leak internal curr_resync value into metadata. -- (all) Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 126/138] omapfb: fix return value check in dsi_bind() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 127/138] pwm: Unexport children before chip removal Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 076/138] ovl: fix get_acl() on tmpfs Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 105/138] drm/imx: ipuv3-plane: Access old u/vbo properly in ->atomic_check for YU12/YV12 Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 094/138] mac80211: discard multicast and 4-addr A-MSDUs Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 107/138] drm/radeon/si_dpm: workaround for SI kickers Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 109/138] drm/nouveau/acpi: fix check for power resources support Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 135/138] btrfs: qgroup: Prevent qgroup->reserved from going subzero Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 125/138] video: fbdev: pxafb: potential NULL dereference on error Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 106/138] drm/radeon/si_dpm: Limit clocks on HD86xx part Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 114/138] drm/i915/gen9: fix watermarks when using the pipe scaler Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 129/138] usb: chipidea: host: fix NULL ptr dereference during shutdown Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 122/138] netfilter: xt_NFLOG: fix unexpected truncated packet Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 138/138] HID: usbhid: add ATEN CS962 to list of quirky devices Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 134/138] kvm: x86: Check memopp before dereference (CVE-2016-8630) Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 082/138] virtio: console: Unlock vqs while freeing buffers Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 098/138] scsi: arcmsr: Send SYNCHRONIZE_CACHE command to firmware Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 131/138] [media] v4l: vsp1: Prevent pipelines from running when not streaming Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 121/138] i2c: mark device nodes only in case of successful instantiation Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 097/138] scsi: scsi_debug: Fix memory leak if LBP enabled and module is unloaded Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 078/138] ovl: fsync after copy-up Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 101/138] RAID10: ignore discard error Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 137/138] cpufreq: intel_pstate: Set P-state upfront in performance mode Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 074/138] nfsd: Fix general protection fault in release_lock_stateid() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:20 +0100
    [PATCH 4.8 089/138] rtl8xxxu: Fix big-endian problem reporting mactime Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 057/138] GenWQE: Fix bad page access during abort of resource allocation Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 086/138] dm raid: fix compat_features validation Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 058/138] x86/smpboot: Init apic mapping before usage Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 095/138] Revert "ath9k_hw: implement temperature compensation support for AR9003+" Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 087/138] dm raid: fix activation of existing raid4/10 devices Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 027/138] ALSA: usb-audio: Add quirk for Syntek STK1160 Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 104/138] drm/imx: ipuv3-plane: Switch EBA buffer only when we dont need modeset Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 029/138] ALSA: hda - allow 40 bit DMA mask for NVidia devices Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 091/138] Input: i8042 - add XMG C504 to keyboard reset table Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 046/138] ubifs: Abort readdir upon error Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 048/138] mei: txe: dont clean an unprocessed interrupt cause. Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 061/138] xhci: add restart quirk for Intel Wildcatpoint PCH Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 031/138] ALSA: hda - Fix surround output pins for ASRock B150M mobo Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 028/138] ALSA: seq: Fix time account regression Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 088/138] rtl8xxxu: Fix memory leak in handling rxdesc16 packets Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 081/138] virtio_pci: Limit DMA mask to 44 bits for legacy virtio devices Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 084/138] dm table: fix missing dm_put_target_type() in dm_table_add_target() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 093/138] firewire: net: fix fragmented datagram_size off-by-one Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 059/138] vt: clear selection before resizing Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 063/138] tty: limit terminal size to 4M chars Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 092/138] firewire: net: guard against rx buffer overflows Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 053/138] USB: serial: ftdi_sio: add support for Infineon TriBoard TC2X7 Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 062/138] xhci: workaround for hosts missing CAS bit Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 054/138] xhci: use default USB_RESUME_TIMEOUT when resuming ports. Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 085/138] dm rq: clear kworker_task if kthread_run() returned an error Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 083/138] dm mirror: fix read error on recovery after default leg failure Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 090/138] rtl8xxxu: Fix rtl8723bu driver reload issue Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 025/138] security/keys: make BIG_KEYS dependent on stdrng. Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 060/138] hv: do not lose pending heartbeat vmbus packets Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:30 +0100
    [PATCH 4.8 009/138] gpio: GPIO_GET_CHIPINFO_IOCTL: Fix line offset validation Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:40 +0100
    [PATCH 4.8 041/138] x86/microcode/AMD: Fix more fallout from CONFIG_RANDOMIZE_MEMORY=y Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:40 +0100
    [PATCH 4.8 039/138] powerpc/64: Re-fix race condition between going idle and entering guest Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:40 +0100
    [PATCH 4.8 011/138] gpio: GPIO_GET_LINEHANDLE_IOCTL: Validate line offset Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:40 +0100
    [PATCH 4.8 024/138] KEYS: Sort out big_key initialisation Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:40 +0100
    [PATCH 4.8 032/138] ALSA: hda - Fix headset mic detection problem for two Dell laptops Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:40 +0100
    [PATCH 4.8 043/138] timers: Prevent base clock corruption when forwarding Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:40 +0100
    [PATCH 4.8 019/138] mm/list_lru.c: avoid error-path NULL pointer deref Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:40 +0100
    [PATCH 4.8 037/138] powerpc: Convert cmp to cmpd in idle enter sequence Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:40 +0100
    [PATCH 4.8 038/138] powerpc/mm/radix: Use tlbiel only if we ever ran on the current cpu Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:40 +0100
    [PATCH 4.8 007/138] h8300: fix syscall restarting Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:40 +0100
    [PATCH 4.8 020/138] mm/slab: fix kmemcg cache creation delayed issue Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:40 +0100
    [PATCH 4.8 017/138] gpio: GPIO_GET_LINE{HANDLE,EVENT}_IOCTL: Fix file descriptor leak Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:40 +0100
    [PATCH 4.8 015/138] gpio: GPIO_GET_LINEEVENT_IOCTL: Reject invalid line and event flags Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:40 +0100
    [PATCH 4.8 003/138] i2c: core: fix NULL pointer dereference under race condition Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:40 +0100
    [PATCH 4.8 042/138] timers: Prevent base clock rewind when forwarding clock Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:40 +0100
    [PATCH 4.8 013/138] gpio: GPIO_GET_LINEEVENT_IOCTL: Validate line offset Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:40 +0100
    [PATCH 4.8 023/138] KEYS: Fix short sprintf buffer in /proc/keys show function Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-09 12:40 +0100
    Re: [PATCH 4.8 000/138] 4.8.7-stable review Shuah Khan <shuah.kh@samsung.com> - 2016-11-09 19:30 +0100
      Re: [PATCH 4.8 000/138] 4.8.7-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-10 12:40 +0100
    Re: [PATCH 4.8 000/138] 4.8.7-stable review Guenter Roeck <linux@roeck-us.net> - 2016-11-09 20:40 +0100
      Re: [PATCH 4.8 000/138] 4.8.7-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-10 12:40 +0100
    Re: [PATCH 4.8 000/138] 4.8.7-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-10 16:40 +0100
    Re: [PATCH 4.8 118/138] drm/i915: Clean up DDI DDC/AUX CH sanitation Maarten Maathuis <madman2003@gmail.com> - 2016-11-10 21:20 +0100
      Re: [PATCH 4.8 118/138] drm/i915: Clean up DDI DDC/AUX CH sanitation Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-11-11 00:10 +0100
      Re: [PATCH 4.8 118/138] drm/i915: Clean up DDI DDC/AUX CH sanitation Ville Syrjälä <ville.syrjala@linux.intel.com> - 2016-11-11 13:40 +0100
        Re: [PATCH 4.8 118/138] drm/i915: Clean up DDI DDC/AUX CH sanitation Jani Nikula <jani.nikula@intel.com> - 2016-11-11 14:10 +0100

Page 6 of 7 — ← Prev page 1 2 3 4 5 [6] 7  Next page →


#1518061 — [PATCH 4.8 032/138] ALSA: hda - Fix headset mic detection problem for two Dell laptops

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2016-11-09 12:40 +0100
Subject[PATCH 4.8 032/138] ALSA: hda - Fix headset mic detection problem for two Dell laptops
Message-ID<sBzou-6GJ-33@gated-at.bofh.it>
In reply to#1517929
4.8-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Hui Wang <hui.wang@canonical.com>

commit 6aecd8715802d23dc6a0859b50c62d2b0a99de3a upstream.

They uses the codec ALC255, and have the different pin cfg definition
from the ones in the existing pin quirk table. Now adding them into
the table to fix the problem.

Signed-off-by: Hui Wang <hui.wang@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 sound/pci/hda/patch_realtek.c |    8 ++++++++
 1 file changed, 8 insertions(+)

--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -5855,11 +5855,19 @@ static const struct snd_hda_pin_quirk al
 		{0x1b, 0x02011020},
 		{0x21, 0x0221101f}),
 	SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
+		{0x14, 0x90170110},
+		{0x1b, 0x01011020},
+		{0x21, 0x0221101f}),
+	SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
 		{0x14, 0x90170130},
 		{0x1b, 0x01014020},
 		{0x21, 0x0221103f}),
 	SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
 		{0x14, 0x90170130},
+		{0x1b, 0x01011020},
+		{0x21, 0x0221103f}),
+	SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
+		{0x14, 0x90170130},
 		{0x1b, 0x02011020},
 		{0x21, 0x0221103f}),
 	SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,

[toc] | [prev] | [next] | [standalone]


#1518062 — [PATCH 4.8 043/138] timers: Prevent base clock corruption when forwarding

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2016-11-09 12:40 +0100
Subject[PATCH 4.8 043/138] timers: Prevent base clock corruption when forwarding
Message-ID<sBzou-6GJ-25@gated-at.bofh.it>
In reply to#1517929
4.8-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Thomas Gleixner <tglx@linutronix.de>

commit 6bad6bccf2d717f652d37e63cf261eaa23466009 upstream.

When a timer is enqueued we try to forward the timer base clock. This
mechanism has two issues:

1) Forwarding a remote base unlocked

The forwarding function is called from get_target_base() with the current
timer base lock held. But if the new target base is a different base than
the current base (can happen with NOHZ, sigh!) then the forwarding is done
on an unlocked base. This can lead to corruption of base->clk.

Solution is simple: Invoke the forwarding after the target base is locked.

2) Possible corruption due to jiffies advancing

This is similar to the issue in get_net_timer_interrupt() which was fixed
in the previous patch. jiffies can advance between check and assignement
and therefore advancing base->clk beyond the next expiry value.

So we need to read jiffies into a local variable once and do the checks and
assignment with the local copy.

Fixes: a683f390b93f("timers: Forward the wheel clock whenever possible")
Reported-by: Ashton Holmes <scoopta@gmail.com>
Reported-by: Michael Thayer <michael.thayer@oracle.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Michal Necasek <michal.necasek@oracle.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: knut.osmundsen@oracle.com
Cc: stern@rowland.harvard.edu
Cc: rt@linutronix.de
Link: http://lkml.kernel.org/r/20161022110552.253640125@linutronix.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 kernel/time/timer.c |   23 ++++++++++-------------
 1 file changed, 10 insertions(+), 13 deletions(-)

--- a/kernel/time/timer.c
+++ b/kernel/time/timer.c
@@ -878,7 +878,7 @@ static inline struct timer_base *get_tim
 
 #ifdef CONFIG_NO_HZ_COMMON
 static inline struct timer_base *
-__get_target_base(struct timer_base *base, unsigned tflags)
+get_target_base(struct timer_base *base, unsigned tflags)
 {
 #ifdef CONFIG_SMP
 	if ((tflags & TIMER_PINNED) || !base->migration_enabled)
@@ -891,25 +891,27 @@ __get_target_base(struct timer_base *bas
 
 static inline void forward_timer_base(struct timer_base *base)
 {
+	unsigned long jnow = READ_ONCE(jiffies);
+
 	/*
 	 * We only forward the base when it's idle and we have a delta between
 	 * base clock and jiffies.
 	 */
-	if (!base->is_idle || (long) (jiffies - base->clk) < 2)
+	if (!base->is_idle || (long) (jnow - base->clk) < 2)
 		return;
 
 	/*
 	 * If the next expiry value is > jiffies, then we fast forward to
 	 * jiffies otherwise we forward to the next expiry value.
 	 */
-	if (time_after(base->next_expiry, jiffies))
-		base->clk = jiffies;
+	if (time_after(base->next_expiry, jnow))
+		base->clk = jnow;
 	else
 		base->clk = base->next_expiry;
 }
 #else
 static inline struct timer_base *
-__get_target_base(struct timer_base *base, unsigned tflags)
+get_target_base(struct timer_base *base, unsigned tflags)
 {
 	return get_timer_this_cpu_base(tflags);
 }
@@ -917,14 +919,6 @@ __get_target_base(struct timer_base *bas
 static inline void forward_timer_base(struct timer_base *base) { }
 #endif
 
-static inline struct timer_base *
-get_target_base(struct timer_base *base, unsigned tflags)
-{
-	struct timer_base *target = __get_target_base(base, tflags);
-
-	forward_timer_base(target);
-	return target;
-}
 
 /*
  * We are using hashed locking: Holding per_cpu(timer_bases[x]).lock means
@@ -1025,6 +1019,9 @@ __mod_timer(struct timer_list *timer, un
 		}
 	}
 
+	/* Try to forward a stale timer base clock */
+	forward_timer_base(base);
+
 	timer->expires = expires;
 	/*
 	 * If 'idx' was calculated above and the base time did not advance

[toc] | [prev] | [next] | [standalone]


#1518063 — [PATCH 4.8 019/138] mm/list_lru.c: avoid error-path NULL pointer deref

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2016-11-09 12:40 +0100
Subject[PATCH 4.8 019/138] mm/list_lru.c: avoid error-path NULL pointer deref
Message-ID<sBzou-6GJ-41@gated-at.bofh.it>
In reply to#1517929
4.8-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Alexander Polakov <apolyakov@beget.ru>

commit 1bc11d70b5db7c6bb1414b283d7f09b1fe1ac0d0 upstream.

As described in https://bugzilla.kernel.org/show_bug.cgi?id=177821:

After some analysis it seems to be that the problem is in alloc_super().
In case list_lru_init_memcg() fails it goes into destroy_super(), which
calls list_lru_destroy().

And in list_lru_init() we see that in case memcg_init_list_lru() fails,
lru->node is freed, but not set NULL, which then leads list_lru_destroy()
to believe it is initialized and call memcg_destroy_list_lru().
memcg_destroy_list_lru() in turn can access lru->node[i].memcg_lrus,
which is NULL.

[akpm@linux-foundation.org: add comment]
Signed-off-by: Alexander Polakov <apolyakov@beget.ru>
Acked-by: Vladimir Davydov <vdavydov.dev@gmail.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 mm/list_lru.c |    2 ++
 1 file changed, 2 insertions(+)

--- a/mm/list_lru.c
+++ b/mm/list_lru.c
@@ -554,6 +554,8 @@ int __list_lru_init(struct list_lru *lru
 	err = memcg_init_list_lru(lru, memcg_aware);
 	if (err) {
 		kfree(lru->node);
+		/* Do this so a list_lru_destroy() doesn't crash: */
+		lru->node = NULL;
 		goto out;
 	}
 

[toc] | [prev] | [next] | [standalone]


#1518065 — [PATCH 4.8 037/138] powerpc: Convert cmp to cmpd in idle enter sequence

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2016-11-09 12:40 +0100
Subject[PATCH 4.8 037/138] powerpc: Convert cmp to cmpd in idle enter sequence
Message-ID<sBzou-6GJ-31@gated-at.bofh.it>
In reply to#1517929
4.8-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Segher Boessenkool <segher@kernel.crashing.org>

commit 80f23935cadb1c654e81951f5a8b7ceae0acc1b4 upstream.

PowerPC's "cmp" instruction has four operands. Normally people write
"cmpw" or "cmpd" for the second cmp operand 0 or 1. But, frequently
people forget, and write "cmp" with just three operands.

With older binutils this is silently accepted as if this was "cmpw",
while often "cmpd" is wanted. With newer binutils GAS will complain
about this for 64-bit code. For 32-bit code it still silently assumes
"cmpw" is what is meant.

In this instance the code comes directly from ISA v2.07, including the
cmp, but cmpd is correct. Backport to stable so that new toolchains can
build old kernels.

Fixes: 948cf67c4726 ("powerpc: Add NAP mode support on Power7 in HV mode")
Reviewed-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
Signed-off-by: Segher Boessenkool <segher@kernel.crashing.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/powerpc/include/asm/cpuidle.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/arch/powerpc/include/asm/cpuidle.h
+++ b/arch/powerpc/include/asm/cpuidle.h
@@ -26,7 +26,7 @@ extern u64 pnv_first_deep_stop_state;
 	std	r0,0(r1);					\
 	ptesync;						\
 	ld	r0,0(r1);					\
-1:	cmp	cr0,r0,r0;					\
+1:	cmpd	cr0,r0,r0;					\
 	bne	1b;						\
 	IDLE_INST;						\
 	b	.

[toc] | [prev] | [next] | [standalone]


#1518068 — [PATCH 4.8 038/138] powerpc/mm/radix: Use tlbiel only if we ever ran on the current cpu

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2016-11-09 12:40 +0100
Subject[PATCH 4.8 038/138] powerpc/mm/radix: Use tlbiel only if we ever ran on the current cpu
Message-ID<sBzou-6GJ-43@gated-at.bofh.it>
In reply to#1517929
4.8-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>

commit bd77c4498616e27d5725b5959d880ce2272fefa9 upstream.

Before this patch, we used tlbiel, if we ever ran only on this core.
That was mostly derived from the nohash usage of the same. But is
incorrect, the ISA 3.0 clarifies tlbiel such that:

"All TLB entries that have all of the following properties are made
invalid on the thread executing the tlbiel instruction"

ie. tlbiel only invalidates TLB entries on the current thread. So if the
mm has been used on any other thread (aka. cpu) then we must broadcast
the invalidate.

This bug could lead to invalid TLB entries if a program runs on multiple
threads of a core.

Hence use tlbiel, if we only ever ran on only the current cpu.

Fixes: 1a472c9dba6b ("powerpc/mm/radix: Add tlbflush routines")
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/powerpc/include/asm/tlb.h |   12 ++++++++++++
 arch/powerpc/mm/tlb-radix.c    |    8 ++++----
 2 files changed, 16 insertions(+), 4 deletions(-)

--- a/arch/powerpc/include/asm/tlb.h
+++ b/arch/powerpc/include/asm/tlb.h
@@ -52,11 +52,23 @@ static inline int mm_is_core_local(struc
 	return cpumask_subset(mm_cpumask(mm),
 			      topology_sibling_cpumask(smp_processor_id()));
 }
+
+static inline int mm_is_thread_local(struct mm_struct *mm)
+{
+	return cpumask_equal(mm_cpumask(mm),
+			      cpumask_of(smp_processor_id()));
+}
+
 #else
 static inline int mm_is_core_local(struct mm_struct *mm)
 {
 	return 1;
 }
+
+static inline int mm_is_thread_local(struct mm_struct *mm)
+{
+	return 1;
+}
 #endif
 
 #endif /* __KERNEL__ */
--- a/arch/powerpc/mm/tlb-radix.c
+++ b/arch/powerpc/mm/tlb-radix.c
@@ -175,7 +175,7 @@ void radix__flush_tlb_mm(struct mm_struc
 	if (unlikely(pid == MMU_NO_CONTEXT))
 		goto no_context;
 
-	if (!mm_is_core_local(mm)) {
+	if (!mm_is_thread_local(mm)) {
 		int lock_tlbie = !mmu_has_feature(MMU_FTR_LOCKLESS_TLBIE);
 
 		if (lock_tlbie)
@@ -201,7 +201,7 @@ void radix__flush_tlb_pwc(struct mmu_gat
 	if (unlikely(pid == MMU_NO_CONTEXT))
 		goto no_context;
 
-	if (!mm_is_core_local(mm)) {
+	if (!mm_is_thread_local(mm)) {
 		int lock_tlbie = !mmu_has_feature(MMU_FTR_LOCKLESS_TLBIE);
 
 		if (lock_tlbie)
@@ -226,7 +226,7 @@ void radix__flush_tlb_page_psize(struct
 	pid = mm ? mm->context.id : 0;
 	if (unlikely(pid == MMU_NO_CONTEXT))
 		goto bail;
-	if (!mm_is_core_local(mm)) {
+	if (!mm_is_thread_local(mm)) {
 		int lock_tlbie = !mmu_has_feature(MMU_FTR_LOCKLESS_TLBIE);
 
 		if (lock_tlbie)
@@ -321,7 +321,7 @@ void radix__flush_tlb_range_psize(struct
 {
 	unsigned long pid;
 	unsigned long addr;
-	int local = mm_is_core_local(mm);
+	int local = mm_is_thread_local(mm);
 	unsigned long ap = mmu_get_ap(psize);
 	int lock_tlbie = !mmu_has_feature(MMU_FTR_LOCKLESS_TLBIE);
 	unsigned long page_size = 1UL << mmu_psize_defs[psize].shift;

[toc] | [prev] | [next] | [standalone]


#1518069 — [PATCH 4.8 007/138] h8300: fix syscall restarting

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2016-11-09 12:40 +0100
Subject[PATCH 4.8 007/138] h8300: fix syscall restarting
Message-ID<sBzou-6GJ-49@gated-at.bofh.it>
In reply to#1517929
4.8-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Mark Rutland <mark.rutland@arm.com>

commit 21753583056d48a5fad964d6f272e28168426845 upstream.

Back in commit f56141e3e2d9 ("all arches, signal: move restart_block to
struct task_struct"), all architectures and core code were changed to
use task_struct::restart_block.  However, when h8300 support was
subsequently restored in v4.2, it was not updated to account for this,
and maintains thread_info::restart_block, which is not kept in sync.

This patch drops the redundant restart_block from thread_info, and moves
h8300 to the common one in task_struct, ensuring that syscall restarting
always works as expected.

Fixes: f56141e3e2d9 ("all arches, signal: move restart_block to struct task_struct")
Link: http://lkml.kernel.org/r/1476714934-11635-1-git-send-email-mark.rutland@arm.com
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: uclinux-h8-devel@lists.sourceforge.jp
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/h8300/include/asm/thread_info.h |    4 ----
 arch/h8300/kernel/signal.c           |    2 +-
 2 files changed, 1 insertion(+), 5 deletions(-)

--- a/arch/h8300/include/asm/thread_info.h
+++ b/arch/h8300/include/asm/thread_info.h
@@ -31,7 +31,6 @@ struct thread_info {
 	int		   cpu;			/* cpu we're on */
 	int		   preempt_count;	/* 0 => preemptable, <0 => BUG */
 	mm_segment_t		addr_limit;
-	struct restart_block restart_block;
 };
 
 /*
@@ -44,9 +43,6 @@ struct thread_info {
 	.cpu =		0,			\
 	.preempt_count = INIT_PREEMPT_COUNT,	\
 	.addr_limit	= KERNEL_DS,		\
-	.restart_block	= {			\
-		.fn = do_no_restart_syscall,	\
-	},					\
 }
 
 #define init_thread_info	(init_thread_union.thread_info)
--- a/arch/h8300/kernel/signal.c
+++ b/arch/h8300/kernel/signal.c
@@ -79,7 +79,7 @@ restore_sigcontext(struct sigcontext *us
 	unsigned int er0;
 
 	/* Always make any pending restarted system calls return -EINTR */
-	current_thread_info()->restart_block.fn = do_no_restart_syscall;
+	current->restart_block.fn = do_no_restart_syscall;
 
 	/* restore passed registers */
 #define COPY(r)  do { err |= get_user(regs->r, &usc->sc_##r); } while (0)

[toc] | [prev] | [next] | [standalone]


#1518071 — [PATCH 4.8 020/138] mm/slab: fix kmemcg cache creation delayed issue

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2016-11-09 12:40 +0100
Subject[PATCH 4.8 020/138] mm/slab: fix kmemcg cache creation delayed issue
Message-ID<sBzou-6GJ-51@gated-at.bofh.it>
In reply to#1517929
4.8-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Joonsoo Kim <iamjoonsoo.kim@lge.com>

commit 86d9f48534e800e4d62cdc1b5aaf539f4c1d47d6 upstream.

There is a bug report that SLAB makes extreme load average due to over
2000 kworker thread.

  https://bugzilla.kernel.org/show_bug.cgi?id=172981

This issue is caused by kmemcg feature that try to create new set of
kmem_caches for each memcg.  Recently, kmem_cache creation is slowed by
synchronize_sched() and futher kmem_cache creation is also delayed since
kmem_cache creation is synchronized by a global slab_mutex lock.  So,
the number of kworker that try to create kmem_cache increases quietly.

synchronize_sched() is for lockless access to node's shared array but
it's not needed when a new kmem_cache is created.  So, this patch rules
out that case.

Fixes: 801faf0db894 ("mm/slab: lockless decision to grow cache")
Link: http://lkml.kernel.org/r/1475734855-4837-1-git-send-email-iamjoonsoo.kim@lge.com
Reported-by: Doug Smythies <dsmythies@telus.net>
Tested-by: Doug Smythies <dsmythies@telus.net>
Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 mm/slab.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/mm/slab.c
+++ b/mm/slab.c
@@ -964,7 +964,7 @@ static int setup_kmem_cache_node(struct
 	 * guaranteed to be valid until irq is re-enabled, because it will be
 	 * freed after synchronize_sched().
 	 */
-	if (force_change)
+	if (old_shared && force_change)
 		synchronize_sched();
 
 fail:

[toc] | [prev] | [next] | [standalone]


#1518073 — [PATCH 4.8 017/138] gpio: GPIO_GET_LINE{HANDLE,EVENT}_IOCTL: Fix file descriptor leak

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2016-11-09 12:40 +0100
Subject[PATCH 4.8 017/138] gpio: GPIO_GET_LINE{HANDLE,EVENT}_IOCTL: Fix file descriptor leak
Message-ID<sBzov-6GJ-65@gated-at.bofh.it>
In reply to#1517929
4.8-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Lars-Peter Clausen <lars@metafoo.de>

commit 953b956a2e6d35298e684f251bad98ea6c96f982 upstream.

When allocating a new line handle or event a file is allocated that it is
associated to. The file is attached to a file descriptor of the current
process and the file descriptor is returned to userspace using
copy_to_user(). If this copy operation fails the line handle or event
allocation is aborted, all acquired resources are freed and an error is
returned.

But the file struct is not freed and left attached to the userspace
application and even though the file descriptor number was not copied it is
trivial to guess. If a userspace application performs a IOCTL on such a
left over file descriptor it will trigger a use-after-free and if the file
descriptor is closed (latest when the application exits) a double-free is
triggered.

anon_inode_getfd() performs 3 tasks, allocate a file struct, allocate a
file descriptor for the current process and install the file struct in the
file descriptor. As soon as the file struct is installed in the file
descriptor it is accessible by userspace (even if the IOCTL itself hasn't
completed yet), this means uninstalling the fd on the error path is not an
option, since userspace might already got a reference to the file.

Instead anon_inode_getfd() needs to be broken into its individual steps.
The allocation of the file struct and file descriptor is done first, then
the copy_to_user() is executed and only if it succeeds the file is
installed.

Since the file struct is reference counted it can not be just freed, but
its reference needs to be dropped, which will also call the release()
callback, which will free the state attached to the file. So in this case
the normal error cleanup path should not be taken.

Fixes: d932cd49182f ("gpio: free handles in fringe cases")
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/gpio/gpiolib.c |   57 ++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 45 insertions(+), 12 deletions(-)

--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -21,6 +21,7 @@
 #include <linux/uaccess.h>
 #include <linux/compat.h>
 #include <linux/anon_inodes.h>
+#include <linux/file.h>
 #include <linux/kfifo.h>
 #include <linux/poll.h>
 #include <linux/timekeeping.h>
@@ -421,6 +422,7 @@ static int linehandle_create(struct gpio
 {
 	struct gpiohandle_request handlereq;
 	struct linehandle_state *lh;
+	struct file *file;
 	int fd, i, ret;
 
 	if (copy_from_user(&handlereq, ip, sizeof(handlereq)))
@@ -497,26 +499,41 @@ static int linehandle_create(struct gpio
 	i--;
 	lh->numdescs = handlereq.lines;
 
-	fd = anon_inode_getfd("gpio-linehandle",
-			      &linehandle_fileops,
-			      lh,
-			      O_RDONLY | O_CLOEXEC);
+	fd = get_unused_fd_flags(O_RDONLY | O_CLOEXEC);
 	if (fd < 0) {
 		ret = fd;
 		goto out_free_descs;
 	}
 
+	file = anon_inode_getfile("gpio-linehandle",
+				  &linehandle_fileops,
+				  lh,
+				  O_RDONLY | O_CLOEXEC);
+	if (IS_ERR(file)) {
+		ret = PTR_ERR(file);
+		goto out_put_unused_fd;
+	}
+
 	handlereq.fd = fd;
 	if (copy_to_user(ip, &handlereq, sizeof(handlereq))) {
-		ret = -EFAULT;
-		goto out_free_descs;
+		/*
+		 * fput() will trigger the release() callback, so do not go onto
+		 * the regular error cleanup path here.
+		 */
+		fput(file);
+		put_unused_fd(fd);
+		return -EFAULT;
 	}
 
+	fd_install(fd, file);
+
 	dev_dbg(&gdev->dev, "registered chardev handle for %d lines\n",
 		lh->numdescs);
 
 	return 0;
 
+out_put_unused_fd:
+	put_unused_fd(fd);
 out_free_descs:
 	for (; i >= 0; i--)
 		gpiod_free(lh->descs[i]);
@@ -719,6 +736,7 @@ static int lineevent_create(struct gpio_
 	struct gpioevent_request eventreq;
 	struct lineevent_state *le;
 	struct gpio_desc *desc;
+	struct file *file;
 	u32 offset;
 	u32 lflags;
 	u32 eflags;
@@ -813,23 +831,38 @@ static int lineevent_create(struct gpio_
 	if (ret)
 		goto out_free_desc;
 
-	fd = anon_inode_getfd("gpio-event",
-			      &lineevent_fileops,
-			      le,
-			      O_RDONLY | O_CLOEXEC);
+	fd = get_unused_fd_flags(O_RDONLY | O_CLOEXEC);
 	if (fd < 0) {
 		ret = fd;
 		goto out_free_irq;
 	}
 
+	file = anon_inode_getfile("gpio-event",
+				  &lineevent_fileops,
+				  le,
+				  O_RDONLY | O_CLOEXEC);
+	if (IS_ERR(file)) {
+		ret = PTR_ERR(file);
+		goto out_put_unused_fd;
+	}
+
 	eventreq.fd = fd;
 	if (copy_to_user(ip, &eventreq, sizeof(eventreq))) {
-		ret = -EFAULT;
-		goto out_free_irq;
+		/*
+		 * fput() will trigger the release() callback, so do not go onto
+		 * the regular error cleanup path here.
+		 */
+		fput(file);
+		put_unused_fd(fd);
+		return -EFAULT;
 	}
 
+	fd_install(fd, file);
+
 	return 0;
 
+out_put_unused_fd:
+	put_unused_fd(fd);
 out_free_irq:
 	free_irq(le->irq, le);
 out_free_desc:

[toc] | [prev] | [next] | [standalone]


#1518075 — [PATCH 4.8 015/138] gpio: GPIO_GET_LINEEVENT_IOCTL: Reject invalid line and event flags

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2016-11-09 12:40 +0100
Subject[PATCH 4.8 015/138] gpio: GPIO_GET_LINEEVENT_IOCTL: Reject invalid line and event flags
Message-ID<sBzov-6GJ-61@gated-at.bofh.it>
In reply to#1517929
4.8-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Lars-Peter Clausen <lars@metafoo.de>

commit ac7dbb991ee5afc0beacce3a252dcaaa249a7786 upstream.

The GPIO_GET_LINEEVENT_IOCTL currently ignores unknown or undefined
linehandle and lineevent flags. From a backwards and forwards compatibility
viewpoint it is highly desirable to reject unknown flags though.

On one hand an application that is using newer flags and is running on
an older kernel has no way to detect if the new flags were handled
correctly if they are silently discarded.

On the other hand an application that (accidentally) passes undefined flags
will run fine on an older kernel, but may break on a newer kernel when
these flags get defined.

Ensure that requests that have undefined flags set are rejected with an
error, rather than silently discarding the undefined flags.

Fixes: 61f922db7221 ("gpio: userspace ABI for reading GPIO line events")
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/gpio/gpiolib.c |   11 +++++++++++
 1 file changed, 11 insertions(+)

--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -554,6 +554,10 @@ struct lineevent_state {
 	struct mutex read_lock;
 };
 
+#define GPIOEVENT_REQUEST_VALID_FLAGS \
+	(GPIOEVENT_REQUEST_RISING_EDGE | \
+	GPIOEVENT_REQUEST_FALLING_EDGE)
+
 static unsigned int lineevent_poll(struct file *filep,
 				   struct poll_table_struct *wait)
 {
@@ -748,6 +752,13 @@ static int lineevent_create(struct gpio_
 		ret = -EINVAL;
 		goto out_free_label;
 	}
+
+	/* Return an error if a unknown flag is set */
+	if ((lflags & ~GPIOHANDLE_REQUEST_VALID_FLAGS) ||
+	    (eflags & ~GPIOEVENT_REQUEST_VALID_FLAGS)) {
+		ret = -EINVAL;
+		goto out_free_label;
+	}
 
 	/* This is just wrong: we don't look for events on output lines */
 	if (lflags & GPIOHANDLE_REQUEST_OUTPUT) {

[toc] | [prev] | [next] | [standalone]


#1518077 — [PATCH 4.8 003/138] i2c: core: fix NULL pointer dereference under race condition

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2016-11-09 12:40 +0100
Subject[PATCH 4.8 003/138] i2c: core: fix NULL pointer dereference under race condition
Message-ID<sBzov-6GJ-73@gated-at.bofh.it>
In reply to#1517929
4.8-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>

commit 147b36d5b70c083cc76770c47d60b347e8eaf231 upstream.

Race condition between registering an I2C device driver and
deregistering an I2C adapter device which is assumed to manage that
I2C device may lead to a NULL pointer dereference due to the
uninitialized list head of driver clients.

The root cause of the issue is that the I2C bus may know about the
registered device driver and thus it is matched by bus_for_each_drv(),
but the list of clients is not initialized and commonly it is NULL,
because I2C device drivers define struct i2c_driver as static and
clients field is expected to be initialized by I2C core:

  i2c_register_driver()             i2c_del_adapter()
    driver_register()                 ...
      bus_add_driver()                ...
        ...                           bus_for_each_drv(..., __process_removed_adapter)
      ...                               i2c_do_del_adapter()
    ...                                   list_for_each_entry_safe(..., &driver->clients, ...)
    INIT_LIST_HEAD(&driver->clients);

To solve the problem it is sufficient to do clients list head
initialization before calling driver_register().

The problem was found while using an I2C device driver with a sluggish
registration routine on a bus provided by a physically detachable I2C
master controller, but practically the oops may be reproduced under
the race between arbitraty I2C device driver registration and managing
I2C bus device removal e.g. by unbinding the latter over sysfs:

% echo 21a4000.i2c > /sys/bus/platform/drivers/imx-i2c/unbind
  Unable to handle kernel NULL pointer dereference at virtual address 00000000
  Internal error: Oops: 17 [#1] SMP ARM
  CPU: 2 PID: 533 Comm: sh Not tainted 4.9.0-rc3+ #61
  Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
  task: e5ada400 task.stack: e4936000
  PC is at i2c_do_del_adapter+0x20/0xcc
  LR is at __process_removed_adapter+0x14/0x1c
  Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
  Control: 10c5387d  Table: 35bd004a  DAC: 00000051
  Process sh (pid: 533, stack limit = 0xe4936210)
  Stack: (0xe4937d28 to 0xe4938000)
  Backtrace:
  [<c0667be0>] (i2c_do_del_adapter) from [<c0667cc0>] (__process_removed_adapter+0x14/0x1c)
  [<c0667cac>] (__process_removed_adapter) from [<c0516998>] (bus_for_each_drv+0x6c/0xa0)
  [<c051692c>] (bus_for_each_drv) from [<c06685ec>] (i2c_del_adapter+0xbc/0x284)
  [<c0668530>] (i2c_del_adapter) from [<bf0110ec>] (i2c_imx_remove+0x44/0x164 [i2c_imx])
  [<bf0110a8>] (i2c_imx_remove [i2c_imx]) from [<c051a838>] (platform_drv_remove+0x2c/0x44)
  [<c051a80c>] (platform_drv_remove) from [<c05183d8>] (__device_release_driver+0x90/0x12c)
  [<c0518348>] (__device_release_driver) from [<c051849c>] (device_release_driver+0x28/0x34)
  [<c0518474>] (device_release_driver) from [<c0517150>] (unbind_store+0x80/0x104)
  [<c05170d0>] (unbind_store) from [<c0516520>] (drv_attr_store+0x28/0x34)
  [<c05164f8>] (drv_attr_store) from [<c0298acc>] (sysfs_kf_write+0x50/0x54)
  [<c0298a7c>] (sysfs_kf_write) from [<c029801c>] (kernfs_fop_write+0x100/0x214)
  [<c0297f1c>] (kernfs_fop_write) from [<c0220130>] (__vfs_write+0x34/0x120)
  [<c02200fc>] (__vfs_write) from [<c0221088>] (vfs_write+0xa8/0x170)
  [<c0220fe0>] (vfs_write) from [<c0221e74>] (SyS_write+0x4c/0xa8)
  [<c0221e28>] (SyS_write) from [<c0108a20>] (ret_fast_syscall+0x0/0x1c)

Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/i2c/i2c-core.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/i2c/i2c-core.c
+++ b/drivers/i2c/i2c-core.c
@@ -2073,6 +2073,7 @@ int i2c_register_driver(struct module *o
 	/* add the driver to the list of i2c drivers in the driver core */
 	driver->driver.owner = owner;
 	driver->driver.bus = &i2c_bus_type;
+	INIT_LIST_HEAD(&driver->clients);
 
 	/* When registration returns, the driver core
 	 * will have called probe() for all matching-but-unbound devices.
@@ -2083,7 +2084,6 @@ int i2c_register_driver(struct module *o
 
 	pr_debug("driver [%s] registered\n", driver->driver.name);
 
-	INIT_LIST_HEAD(&driver->clients);
 	/* Walk the adapters that are already present */
 	i2c_for_each_dev(driver, __process_new_driver);
 

[toc] | [prev] | [next] | [standalone]


#1518079 — [PATCH 4.8 042/138] timers: Prevent base clock rewind when forwarding clock

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2016-11-09 12:40 +0100
Subject[PATCH 4.8 042/138] timers: Prevent base clock rewind when forwarding clock
Message-ID<sBzov-6GJ-79@gated-at.bofh.it>
In reply to#1517929
4.8-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Thomas Gleixner <tglx@linutronix.de>

commit 041ad7bc758db259bb960ef795197dd14aab19a6 upstream.

Ashton and Michael reported, that kernel versions 4.8 and later suffer from
USB timeouts which are caused by the timer wheel rework.

This is caused by a bug in the base clock forwarding mechanism, which leads
to timers expiring early. The scenario which leads to this is:

run_timers()
  while (jiffies >= base->clk) {
    collect_expired_timers();
    base->clk++;
    expire_timers();
  }

So base->clk = jiffies + 1. Now the cpu goes idle:

idle()
  get_next_timer_interrupt()
    nextevt = __next_time_interrupt();
    if (time_after(nextevt, base->clk))
       	base->clk = jiffies;

jiffies has not advanced since run_timers(), so this assignment effectively
decrements base->clk by one.

base->clk is the index into the timer wheel arrays. So let's assume the
following state after the base->clk increment in run_timers():

 jiffies = 0
 base->clk = 1

A timer gets enqueued with an expiry delta of 63 ticks (which is the case
with the USB timeout and HZ=250) so the resulting bucket index is:

  base->clk + delta = 1 + 63 = 64

The timer goes into the first wheel level. The array size is 64 so it ends
up in bucket 0, which is correct as it takes 63 ticks to advance base->clk
to index into bucket 0 again.

If the cpu goes idle before jiffies advance, then the bug in the forwarding
mechanism sets base->clk back to 0, so the next invocation of run_timers()
at the next tick will index into bucket 0 and therefore expire the timer 62
ticks too early.

Instead of blindly setting base->clk to jiffies we must make the forwarding
conditional on jiffies > base->clk, but we cannot use jiffies for this as
we might run into the following issue:

  if (time_after(jiffies, base->clk) {
    if (time_after(nextevt, base->clk))
       base->clk = jiffies;

jiffies can increment between the check and the assigment far enough to
advance beyond nextevt. So we need to use a stable value for checking.

get_next_timer_interrupt() has the basej argument which is the jiffies
value snapshot taken in the calling code. So we can just that.

Thanks to Ashton for bisecting and providing trace data!

Fixes: a683f390b93f ("timers: Forward the wheel clock whenever possible")
Reported-by: Ashton Holmes <scoopta@gmail.com>
Reported-by: Michael Thayer <michael.thayer@oracle.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Michal Necasek <michal.necasek@oracle.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: knut.osmundsen@oracle.com
Cc: stern@rowland.harvard.edu
Cc: rt@linutronix.de
Link: http://lkml.kernel.org/r/20161022110552.175308322@linutronix.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 kernel/time/timer.c |   14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

--- a/kernel/time/timer.c
+++ b/kernel/time/timer.c
@@ -1510,12 +1510,16 @@ u64 get_next_timer_interrupt(unsigned lo
 	is_max_delta = (nextevt == base->clk + NEXT_TIMER_MAX_DELTA);
 	base->next_expiry = nextevt;
 	/*
-	 * We have a fresh next event. Check whether we can forward the base:
+	 * We have a fresh next event. Check whether we can forward the
+	 * base. We can only do that when @basej is past base->clk
+	 * otherwise we might rewind base->clk.
 	 */
-	if (time_after(nextevt, jiffies))
-		base->clk = jiffies;
-	else if (time_after(nextevt, base->clk))
-		base->clk = nextevt;
+	if (time_after(basej, base->clk)) {
+		if (time_after(nextevt, basej))
+			base->clk = basej;
+		else if (time_after(nextevt, base->clk))
+			base->clk = nextevt;
+	}
 
 	if (time_before_eq(nextevt, basej)) {
 		expires = basem;

[toc] | [prev] | [next] | [standalone]


#1518080 — [PATCH 4.8 013/138] gpio: GPIO_GET_LINEEVENT_IOCTL: Validate line offset

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2016-11-09 12:40 +0100
Subject[PATCH 4.8 013/138] gpio: GPIO_GET_LINEEVENT_IOCTL: Validate line offset
Message-ID<sBzov-6GJ-71@gated-at.bofh.it>
In reply to#1517929
4.8-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Lars-Peter Clausen <lars@metafoo.de>

commit b8b0e3d303654b3bb7b31b0266c513fd6f4132ce upstream.

The line offset that is used as an index into the descs array is provided
by userspace and might go beyond the bounds of the array. If that happens
undefined behavior will occur.

Make sure that the offset is within the bounds of the desc array and reject
any requests that specify a value outside of it.

Fixes: 61f922db7221 ("gpio: userspace ABI for reading GPIO line events")
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/gpio/gpiolib.c |    5 +++++
 1 file changed, 5 insertions(+)

--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -731,6 +731,11 @@ static int lineevent_create(struct gpio_
 	lflags = eventreq.handleflags;
 	eflags = eventreq.eventflags;
 
+	if (offset >= gdev->ngpio) {
+		ret = -EINVAL;
+		goto out_free_label;
+	}
+
 	/* This is just wrong: we don't look for events on output lines */
 	if (lflags & GPIOHANDLE_REQUEST_OUTPUT) {
 		ret = -EINVAL;

[toc] | [prev] | [next] | [standalone]


#1518081 — [PATCH 4.8 023/138] KEYS: Fix short sprintf buffer in /proc/keys show function

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2016-11-09 12:40 +0100
Subject[PATCH 4.8 023/138] KEYS: Fix short sprintf buffer in /proc/keys show function
Message-ID<sBzov-6GJ-81@gated-at.bofh.it>
In reply to#1517929
4.8-stable review patch.  If anyone has any objections, please let me know.

------------------

From: David Howells <dhowells@redhat.com>

commit 03dab869b7b239c4e013ec82aea22e181e441cfc upstream.

This fixes CVE-2016-7042.

Fix a short sprintf buffer in proc_keys_show().  If the gcc stack protector
is turned on, this can cause a panic due to stack corruption.

The problem is that xbuf[] is not big enough to hold a 64-bit timeout
rendered as weeks:

	(gdb) p 0xffffffffffffffffULL/(60*60*24*7)
	$2 = 30500568904943

That's 14 chars plus NUL, not 11 chars plus NUL.

Expand the buffer to 16 chars.

I think the unpatched code apparently works if the stack-protector is not
enabled because on a 32-bit machine the buffer won't be overflowed and on a
64-bit machine there's a 64-bit aligned pointer at one side and an int that
isn't checked again on the other side.

The panic incurred looks something like:

Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: ffffffff81352ebe
CPU: 0 PID: 1692 Comm: reproducer Not tainted 4.7.2-201.fc24.x86_64 #1
Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2011
 0000000000000086 00000000fbbd2679 ffff8800a044bc00 ffffffff813d941f
 ffffffff81a28d58 ffff8800a044bc98 ffff8800a044bc88 ffffffff811b2cb6
 ffff880000000010 ffff8800a044bc98 ffff8800a044bc30 00000000fbbd2679
Call Trace:
 [<ffffffff813d941f>] dump_stack+0x63/0x84
 [<ffffffff811b2cb6>] panic+0xde/0x22a
 [<ffffffff81352ebe>] ? proc_keys_show+0x3ce/0x3d0
 [<ffffffff8109f7f9>] __stack_chk_fail+0x19/0x30
 [<ffffffff81352ebe>] proc_keys_show+0x3ce/0x3d0
 [<ffffffff81350410>] ? key_validate+0x50/0x50
 [<ffffffff8134db30>] ? key_default_cmp+0x20/0x20
 [<ffffffff8126b31c>] seq_read+0x2cc/0x390
 [<ffffffff812b6b12>] proc_reg_read+0x42/0x70
 [<ffffffff81244fc7>] __vfs_read+0x37/0x150
 [<ffffffff81357020>] ? security_file_permission+0xa0/0xc0
 [<ffffffff81246156>] vfs_read+0x96/0x130
 [<ffffffff81247635>] SyS_read+0x55/0xc0
 [<ffffffff817eb872>] entry_SYSCALL_64_fastpath+0x1a/0xa4

Reported-by: Ondrej Kozina <okozina@redhat.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Tested-by: Ondrej Kozina <okozina@redhat.com>
Signed-off-by: James Morris <james.l.morris@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 security/keys/proc.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/security/keys/proc.c
+++ b/security/keys/proc.c
@@ -181,7 +181,7 @@ static int proc_keys_show(struct seq_fil
 	struct timespec now;
 	unsigned long timo;
 	key_ref_t key_ref, skey_ref;
-	char xbuf[12];
+	char xbuf[16];
 	int rc;
 
 	struct keyring_search_context ctx = {

[toc] | [prev] | [next] | [standalone]


#1518386

FromShuah Khan <shuah.kh@samsung.com>
Date2016-11-09 19:30 +0100
Message-ID<sBFNh-2u3-57@gated-at.bofh.it>
In reply to#1517929
On 11/09/2016 03:44 AM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.8.7 release.
> There are 138 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
> 
> Responses should be made by Fri Nov 11 10:28:05 UTC 2016.
> Anything received after that time might be too late.
> 
> The whole patch series can be found in one patch at:
> 	kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.8.7-rc1.gz
> or in the git tree and branch at:
>   git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.8.y
> and the diffstat can be found below.
> 
> thanks,
> 
> greg k-h
> 

Compiled and booted on my test system. No dmesg regressions.

thanks,
-- Shuah

-- 
Shuah Khan
Sr. Linux Kernel Developer
Open Source Innovation Group
Samsung Research America(Silicon Valley)
shuah.kh@samsung.com

[toc] | [prev] | [next] | [standalone]


#1518894

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2016-11-10 12:40 +0100
Message-ID<sBVS2-5xN-41@gated-at.bofh.it>
In reply to#1518386
On Wed, Nov 09, 2016 at 11:22:26AM -0700, Shuah Khan wrote:
> On 11/09/2016 03:44 AM, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 4.8.7 release.
> > There are 138 patches in this series, all will be posted as a response
> > to this one.  If anyone has any issues with these being applied, please
> > let me know.
> > 
> > Responses should be made by Fri Nov 11 10:28:05 UTC 2016.
> > Anything received after that time might be too late.
> > 
> > The whole patch series can be found in one patch at:
> > 	kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.8.7-rc1.gz
> > or in the git tree and branch at:
> >   git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.8.y
> > and the diffstat can be found below.
> > 
> > thanks,
> > 
> > greg k-h
> > 
> 
> Compiled and booted on my test system. No dmesg regressions.

Thanks for testing these and letting me know.

greg k-h

[toc] | [prev] | [next] | [standalone]


#1518433

FromGuenter Roeck <linux@roeck-us.net>
Date2016-11-09 20:40 +0100
Message-ID<sBGSZ-386-5@gated-at.bofh.it>
In reply to#1517929
On Wed, Nov 09, 2016 at 11:44:43AM +0100, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.8.7 release.
> There are 138 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
> 
> Responses should be made by Fri Nov 11 10:28:05 UTC 2016.
> Anything received after that time might be too late.
> 

Build results:
	total: 149 pass: 149 fail: 0
Qemu test results:
        total: 114 pass: 114 fail: 0

[ and welcome nios2 to the list of qemu boot tests ... ]

Details are available at http://kerneltests.org/builders.

Guenter

[toc] | [prev] | [next] | [standalone]


#1518886

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2016-11-10 12:40 +0100
Message-ID<sBVS1-5xN-9@gated-at.bofh.it>
In reply to#1518433
On Wed, Nov 09, 2016 at 11:36:35AM -0800, Guenter Roeck wrote:
> On Wed, Nov 09, 2016 at 11:44:43AM +0100, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 4.8.7 release.
> > There are 138 patches in this series, all will be posted as a response
> > to this one.  If anyone has any issues with these being applied, please
> > let me know.
> > 
> > Responses should be made by Fri Nov 11 10:28:05 UTC 2016.
> > Anything received after that time might be too late.
> > 
> 
> Build results:
> 	total: 149 pass: 149 fail: 0
> Qemu test results:
>         total: 114 pass: 114 fail: 0
> 
> [ and welcome nios2 to the list of qemu boot tests ... ]
> 
> Details are available at http://kerneltests.org/builders.

Great!  Glad to see more tests added, thanks for running these and
letting me know.

greg k-h

[toc] | [prev] | [next] | [standalone]


#1519067

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2016-11-10 16:40 +0100
Message-ID<sBZCi-83k-29@gated-at.bofh.it>
In reply to#1517929
On Thu, Nov 10, 2016 at 04:19:29AM -0800, kernelci.org bot wrote:
> stable-rc boot: 168 boots: 0 failed, 163 passed with 5 offline (v4.8.6-139-gde71548ee45d)

Yeah!

[toc] | [prev] | [next] | [standalone]


#1519341 — Re: [PATCH 4.8 118/138] drm/i915: Clean up DDI DDC/AUX CH sanitation

FromMaarten Maathuis <madman2003@gmail.com>
Date2016-11-10 21:20 +0100
SubjectRe: [PATCH 4.8 118/138] drm/i915: Clean up DDI DDC/AUX CH sanitation
Message-ID<sC3Zf-2IW-29@gated-at.bofh.it>
In reply to#1517929
Hi,

I'm merely curious why this patch isn't also included:
https://cgit.freedesktop.org/drm-intel/commit/?id=e4ab73a13291fc844c9e24d5c347bd95818544d2

When i checked it, it's also not in 4.9-rc git tree.
This patch affects HDMI, and the HDMI connector was "my problem".

@Ville: Is it intentional this one was left out?

Maarten.

On Wed, Nov 9, 2016 at 11:46 AM, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
> 4.8-stable review patch.  If anyone has any objections, please let me know.
>
> ------------------
>
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> commit 0ce140d45a8398b501934ac289aef0eb7f47c596 upstream.
>
> Now that we use the AUX and GMBUS assignment from VBT for all ports,
> let's clean up the sanitization of the port information a bit.
> Previosuly we only did this for port E, and only complained about a
> non-standard assignment for the other ports. But as we know that
> non-standard assignments are a fact of life, let's expand the
> sanitization to all the ports.
>
> v2: Include a commit message, fix up the comments a bit
> v3: Don't clobber other ports if the current port has no alternate aux ch/ddc pin
>
> Cc: Maarten Maathuis <madman2003@gmail.com>
> Tested-by: Maarten Maathuis <madman2003@gmail.com>
> References: https://bugs.freedesktop.org/show_bug.cgi?id=97877
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Link: http://patchwork.freedesktop.org/patch/msgid/1476208368-5710-4-git-send-email-ville.syrjala@linux.intel.com
> Reviewed-by: Jim Bride <jim.bride@linux.intel.com> (v2)
> (cherry picked from commit 9454fa871edf15c20a0371548b3ec0d6d944a498)
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>
> ---
>  drivers/gpu/drm/i915/intel_bios.c |  122 +++++++++++++++++++++++---------------
>  1 file changed, 77 insertions(+), 45 deletions(-)
>
> --- a/drivers/gpu/drm/i915/intel_bios.c
> +++ b/drivers/gpu/drm/i915/intel_bios.c
> @@ -1031,6 +1031,77 @@ static u8 translate_iboost(u8 val)
>         return mapping[val];
>  }
>
> +static void sanitize_ddc_pin(struct drm_i915_private *dev_priv,
> +                            enum port port)
> +{
> +       const struct ddi_vbt_port_info *info =
> +               &dev_priv->vbt.ddi_port_info[port];
> +       enum port p;
> +
> +       if (!info->alternate_ddc_pin)
> +               return;
> +
> +       for_each_port_masked(p, (1 << port) - 1) {
> +               struct ddi_vbt_port_info *i = &dev_priv->vbt.ddi_port_info[p];
> +
> +               if (info->alternate_ddc_pin != i->alternate_ddc_pin)
> +                       continue;
> +
> +               DRM_DEBUG_KMS("port %c trying to use the same DDC pin (0x%x) as port %c, "
> +                             "disabling port %c DVI/HDMI support\n",
> +                             port_name(p), i->alternate_ddc_pin,
> +                             port_name(port), port_name(p));
> +
> +               /*
> +                * If we have multiple ports supposedly sharing the
> +                * pin, then dvi/hdmi couldn't exist on the shared
> +                * port. Otherwise they share the same ddc bin and
> +                * system couldn't communicate with them separately.
> +                *
> +                * Due to parsing the ports in alphabetical order,
> +                * a higher port will always clobber a lower one.
> +                */
> +               i->supports_dvi = false;
> +               i->supports_hdmi = false;
> +               i->alternate_ddc_pin = 0;
> +       }
> +}
> +
> +static void sanitize_aux_ch(struct drm_i915_private *dev_priv,
> +                           enum port port)
> +{
> +       const struct ddi_vbt_port_info *info =
> +               &dev_priv->vbt.ddi_port_info[port];
> +       enum port p;
> +
> +       if (!info->alternate_aux_channel)
> +               return;
> +
> +       for_each_port_masked(p, (1 << port) - 1) {
> +               struct ddi_vbt_port_info *i = &dev_priv->vbt.ddi_port_info[p];
> +
> +               if (info->alternate_aux_channel != i->alternate_aux_channel)
> +                       continue;
> +
> +               DRM_DEBUG_KMS("port %c trying to use the same AUX CH (0x%x) as port %c, "
> +                             "disabling port %c DP support\n",
> +                             port_name(p), i->alternate_aux_channel,
> +                             port_name(port), port_name(p));
> +
> +               /*
> +                * If we have multiple ports supposedlt sharing the
> +                * aux channel, then DP couldn't exist on the shared
> +                * port. Otherwise they share the same aux channel
> +                * and system couldn't communicate with them separately.
> +                *
> +                * Due to parsing the ports in alphabetical order,
> +                * a higher port will always clobber a lower one.
> +                */
> +               i->supports_dp = false;
> +               i->alternate_aux_channel = 0;
> +       }
> +}
> +
>  static void parse_ddi_port(struct drm_i915_private *dev_priv, enum port port,
>                            const struct bdb_header *bdb)
>  {
> @@ -1105,54 +1176,15 @@ static void parse_ddi_port(struct drm_i9
>                 DRM_DEBUG_KMS("Port %c is internal DP\n", port_name(port));
>
>         if (is_dvi) {
> -               if (port == PORT_E) {
> -                       info->alternate_ddc_pin = ddc_pin;
> -                       /* if DDIE share ddc pin with other port, then
> -                        * dvi/hdmi couldn't exist on the shared port.
> -                        * Otherwise they share the same ddc bin and system
> -                        * couldn't communicate with them seperately. */
> -                       if (ddc_pin == DDC_PIN_B) {
> -                               dev_priv->vbt.ddi_port_info[PORT_B].supports_dvi = 0;
> -                               dev_priv->vbt.ddi_port_info[PORT_B].supports_hdmi = 0;
> -                       } else if (ddc_pin == DDC_PIN_C) {
> -                               dev_priv->vbt.ddi_port_info[PORT_C].supports_dvi = 0;
> -                               dev_priv->vbt.ddi_port_info[PORT_C].supports_hdmi = 0;
> -                       } else if (ddc_pin == DDC_PIN_D) {
> -                               dev_priv->vbt.ddi_port_info[PORT_D].supports_dvi = 0;
> -                               dev_priv->vbt.ddi_port_info[PORT_D].supports_hdmi = 0;
> -                       }
> -               } else if (ddc_pin == DDC_PIN_B && port != PORT_B)
> -                       DRM_DEBUG_KMS("Unexpected DDC pin for port B\n");
> -               else if (ddc_pin == DDC_PIN_C && port != PORT_C)
> -                       DRM_DEBUG_KMS("Unexpected DDC pin for port C\n");
> -               else if (ddc_pin == DDC_PIN_D && port != PORT_D)
> -                       DRM_DEBUG_KMS("Unexpected DDC pin for port D\n");
> +               info->alternate_ddc_pin = ddc_pin;
> +
> +               sanitize_ddc_pin(dev_priv, port);
>         }
>
>         if (is_dp) {
> -               if (port == PORT_E) {
> -                       info->alternate_aux_channel = aux_channel;
> -                       /* if DDIE share aux channel with other port, then
> -                        * DP couldn't exist on the shared port. Otherwise
> -                        * they share the same aux channel and system
> -                        * couldn't communicate with them seperately. */
> -                       if (aux_channel == DP_AUX_A)
> -                               dev_priv->vbt.ddi_port_info[PORT_A].supports_dp = 0;
> -                       else if (aux_channel == DP_AUX_B)
> -                               dev_priv->vbt.ddi_port_info[PORT_B].supports_dp = 0;
> -                       else if (aux_channel == DP_AUX_C)
> -                               dev_priv->vbt.ddi_port_info[PORT_C].supports_dp = 0;
> -                       else if (aux_channel == DP_AUX_D)
> -                               dev_priv->vbt.ddi_port_info[PORT_D].supports_dp = 0;
> -               }
> -               else if (aux_channel == DP_AUX_A && port != PORT_A)
> -                       DRM_DEBUG_KMS("Unexpected AUX channel for port A\n");
> -               else if (aux_channel == DP_AUX_B && port != PORT_B)
> -                       DRM_DEBUG_KMS("Unexpected AUX channel for port B\n");
> -               else if (aux_channel == DP_AUX_C && port != PORT_C)
> -                       DRM_DEBUG_KMS("Unexpected AUX channel for port C\n");
> -               else if (aux_channel == DP_AUX_D && port != PORT_D)
> -                       DRM_DEBUG_KMS("Unexpected AUX channel for port D\n");
> +               info->alternate_aux_channel = aux_channel;
> +
> +               sanitize_aux_ch(dev_priv, port);
>         }
>
>         if (bdb->version >= 158) {
>
>



-- 
Far away from the primal instinct, the song seems to fade away, the
river get wider between your thoughts and the things we do and say.

[toc] | [prev] | [next] | [standalone]


#1519428 — Re: [PATCH 4.8 118/138] drm/i915: Clean up DDI DDC/AUX CH sanitation

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2016-11-11 00:10 +0100
SubjectRe: [PATCH 4.8 118/138] drm/i915: Clean up DDI DDC/AUX CH sanitation
Message-ID<sC6DM-4xR-3@gated-at.bofh.it>
In reply to#1519341
On Thu, Nov 10, 2016 at 09:16:49PM +0100, Maarten Maathuis wrote:
> Hi,
> 
> I'm merely curious why this patch isn't also included:
> https://cgit.freedesktop.org/drm-intel/commit/?id=e4ab73a13291fc844c9e24d5c347bd95818544d2
> 
> When i checked it, it's also not in 4.9-rc git tree.

That's why it's not in a stable release yet :)

greg k-h

[toc] | [prev] | [next] | [standalone]


Page 6 of 7 — ← Prev page 1 2 3 4 5 [6] 7  Next page →

Back to top | Article view | linux.kernel


csiph-web