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


Groups > linux.kernel > #1184435 > unrolled thread

[3.16.y-ckt stable] Linux 3.16.7-ckt15 stable review

Started byLuis Henriques <luis.henriques@canonical.com>
First post2015-07-15 11:20 +0200
Last post2015-07-15 12:20 +0200
Articles 20 on this page of 186 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [3.16.y-ckt stable] Linux 3.16.7-ckt15 stable review Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 060/185] x86/PCI: Use host bridge _CRS info on Foxconn K8M890-8237A Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 111/185] mm: kmemleak: allow safe memory scanning during kmemleak disabling Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 031/185] scsi_transport_srp: Fix a race condition Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 173/185] perf: Fix ring_buffer_attach() RCU sync, again Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 008/185] packet: read num_members once in packet_rcv_fanout() Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 067/185] pinctrl: mvebu: armada-375: remove incorrect space in pin description Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 138/185] vfs: Remove incorrect debugging WARN in prepend_path Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 178/185] __bitmap_parselist: fix bug in empty string handling Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 104/185] fs: Fix S_NOSEC handling Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 180/185] kvm: x86: fix kvm_apic_has_events to check for NULL pointer Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 056/185] b43: fix support for 14e4:4321 PCI dev with BCM4321 chipset Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 184/185] LZ4 : fix the data abort issue Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 145/185] KVM: s390: virtio-ccw: don't overwrite config space values Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 113/185] ALSA: hda - Fix Dock Headphone on Thinkpad X250 seen as a Line Out Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 091/185] ACPI / PNP: Avoid conflicting resource reservations Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 082/185] ima: fix ima_show_template_data_ascii() Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 177/185] security_syslog() should be called once only Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 170/185] ACPI / init: Switch over platform to the ACPI mode later Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 020/185] mtd: fix: avoid race condition when accessing mtd->usecount Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 179/185] x86/iosf: Add Kconfig prompt for IOSF_MBI selection Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 120/185] drm/i915: fix backlight after resume on 855gm Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 027/185] ASoC: wm8903: Fix define for WM8903_VMID_RES_250K Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 183/185] ACPI / PNP: Reserve ACPI resources at the fs_initcall_sync stage Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 168/185] sched/fair: Prevent throttling in early pick_next_task_fair() Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 185/185] lz4: fix system halt at boot kernel on x86_64 Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:20 +0200
    [PATCH 3.16.y-ckt 150/185] clk: ti: dra7-atl-clock: Fix possible ERR_PTR dereference Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 149/185] powerpc/pseries: Fix possible leaked device node reference Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 162/185] mac80211: prevent possible crypto tx tailroom corruption Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 146/185] 9p: forgetting to cancel request on interrupted zero-copy RPC Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 159/185] ath9k_htc: memory corruption calling set_bit() Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 164/185] phy: twl4030-usb: remove incorrect pm_runtime_get_sync() in probe function. Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 156/185] tty: remove platform_sysrq_reset_seq Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 171/185] drm/tegra: dpaux: Fix transfers larger than 4 bytes Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 152/185] HID: rmi: fix some harmless BIT() mistakes Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 163/185] cfg80211: ignore netif running state when changing iftype Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 176/185] mm/hugetlb: introduce minimum hugepage order Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 160/185] rndis_wlan: harmless issue calling set_bit() Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 174/185] watchdog: omap: assert the counter being stopped before reprogramming Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 158/185] IB/mlx4: Convert slave port before building address-handle Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 166/185] Btrfs: lock superblock before remounting for rw subvol Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 169/185] ASoC: imx-wm8962: Add a missing error check Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 175/185] bridge: multicast: restore router configuration on port link down/up Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 154/185] pktgen: adjust spacing in proc file interface output Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 167/185] of: return NUMA_NO_NODE from fallback of_node_to_nid() Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 155/185] USB: devio: fix a condition in async_completed() Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 161/185] mtd: dc21285: use raw spinlock functions for nw_gpio_lock Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 165/185] NFS: Fix size of NFSACL SETACL operations Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 182/185] fs/ufs: restore s_lock mutex_init() Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 181/185] sparc: Use GFP_ATOMIC in ldc_alloc_exp_dring() as it can be called in softirq context Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 172/185] mmc: card: Fixup request missing in mmc_blk_issue_rw_rq Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 157/185] net/mlx4_core: Enhance the MAD_IFC wrapper to convert VF port to physical Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:30 +0200
    [PATCH 3.16.y-ckt 133/185] sysctl: Allow creating permanently empty directories that serve as mountpoints. Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 140/185] ACPICA: Tables: Enable both 32-bit and 64-bit FACS Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 129/185] fuse: initialize fc->release before calling it Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 151/185] ipip: fix one sparse error Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 144/185] KVM: x86: properly restore LVT0 Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 148/185] e1000e: Cleanup handling of VLAN_HLEN as a part of max frame size Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 128/185] arm64: Don't report clear pmds and puds as huge Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 141/185] ACPICA: Tables: Fix an issue that FACS initialization is performed twice Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 142/185] ACPICA: Tables: Enable default 64-bit FADT addresses favor Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 124/185] ARM: mvebu: update Ethernet compatible string for Armada XP Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 134/185] proc: Allow creating permanently empty directories that serve as mount points Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 127/185] rbd: use GFP_NOIO in rbd_obj_request_create() Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 137/185] mnt: Update fs_fully_visible to test for permanently empty directories Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 153/185] HID: i2c-hid: fix harmless test_bit() issue Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 130/185] vfs: Ignore unlocked mounts in fs_fully_visible Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 126/185] crush: fix a bug in tree bucket decode Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 132/185] fs: Add helper functions for permanently empty directories. Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 143/185] KVM: x86: make vapics_in_nmi_mode atomic Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 135/185] kernfs: Add support for always empty directories. Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 122/185] drm/radeon: SDMA fix hibernation (CI GPU family). Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 139/185] hwmon: (mcp3021) Fix broken output scaling Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 147/185] clk: Fix JSON output in debugfs Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 125/185] net: mvneta: disable IP checksum with jumbo frames for Armada 370 Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 136/185] sysfs: Add support for permanently empty directories to serve as mount points. Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 131/185] VFS: Introduce inode-getting helpers for layered/unioned fs environments Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:40 +0200
    [PATCH 3.16.y-ckt 095/185] arm64: vdso: work-around broken ELF toolchains in Makefile Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 117/185] ALSA: hda - Add headset support to Acer Aspire V5 Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 121/185] drm/radeon: compute ring fix hibernation (CI GPU family) v2. Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 115/185] tracing/filter: Do not allow infix to exceed end of string Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 108/185] ARC: add compiler barrier to LLSC based cmpxchg Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 092/185] Bluetooth: ath3k: add support of 04ca:300f AR3012 device Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 107/185] PM / sleep: Increase default DPM watchdog timeout to 60 Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 098/185] MIPS: Fix KVM guest fixmap address Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 096/185] iommu/amd: Handle large pages correctly in free_pagetable Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 080/185] fs/ufs: restore s_lock mutex Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 105/185] stmmac: troubleshoot unexpected bits in des0 & des1 Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 114/185] tracing/filter: Do not WARN on operand count going below zero Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 123/185] net: mvneta: introduce compatible string "marvell, armada-xp-neta" Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 112/185] dell-laptop: Fix allocating & freeing SMI buffer page Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 094/185] libata: Do not blacklist Micron M500DC Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 099/185] xfs: fix remote symlinks on V5/CRC filesystems Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 103/185] netfilter: nf_qeueue: Drop queue entries on nf_unregister_hook Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 116/185] clocksource: exynos_mct: Avoid blocking calls in the cpu hotplug notifier Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 100/185] ext4: don't retry file block mapping on bigalloc fs with non-extent file Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 109/185] locking,arch,arc: Fold atomic_ops Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 110/185] ARC: add smp barriers around atomics per Documentation/atomic_ops.txt Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 097/185] ext4: call sync_blockdev() before invalidate_bdev() in put_super() Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 102/185] NET: ROSE: Don't dereference NULL neighbour pointer. Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 101/185] xfs: don't truncate attribute extents if no extents exist Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 106/185] ACPI / resources: free memory on error in add_region_before() Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 118/185] ALSA: hda - Fix the dock headphone output on Fujitsu Lifebook E780 Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 119/185] agp/intel: Fix typo in needs_ilk_vtd_wa() Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 11:50 +0200
    [PATCH 3.16.y-ckt 078/185] jbd2: fix ocfs2 corrupt when updating journal superblock fails Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 065/185] pinctrl: mvebu: armada-xp: remove non-existing VDD cpu_pd functions Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 069/185] i2c: at91: fix a race condition when using the DMA controller Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 062/185] pinctrl: mvebu: armada-370: fix spi0 pin description Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 072/185] arm64: Do not attempt to use init_mm in reset_context() Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 076/185] jbd2: use GFP_NOFS in jbd2_cleanup_journal_tail() Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 081/185] regmap: Fix possible shift overflow in regmap_field_init() Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 089/185] x86/PCI: Use host bridge _CRS info on systems with >32 bit addressing Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 088/185] dm stats: fix divide by zero if 'number_of_areas' arg is zero Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 066/185] pinctrl: mvebu: armada-xp: fix functions of MPP48 Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 063/185] pinctrl: mvebu: armada-375: remove non-existing NAND re/we pins Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 087/185] dm space map metadata: fix occasional leak of a metadata block on resize Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 074/185] Disable write buffering on Toshiba ToPIC95 Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 073/185] ext4: fix race between truncate and __ext4_journalled_writepage() Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 075/185] fs/ufs: revert "ufs: fix deadlocks introduced by sb mutex merge" Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 070/185] dmaengine: mv_xor: bug fix for racing condition in descriptors cleanup Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 085/185] arm: KVM: force execution of HCPTR access on VM exit Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 079/185] ideapad: fix software rfkill setting Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 071/185] ASoC: wm8960: the enum of "DAC Polarity" should be wm8960_enum[1] Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 064/185] pinctrl: mvebu: armada-xp: remove non-existing NAND pins Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 061/185] pinctrl: mvebu: armada-38x: fix PCIe functions Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 068/185] pinctrl: mvebu: armada-38x: fix incorrect total number of GPIOs Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 077/185] regmap: Fix regmap_bulk_read in BE mode Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 086/185] arm64: mm: Fix freeing of the wrong memmap entries with !SPARSEMEM_VMEMMAP Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 090/185] pNFS: Fix a memory leak when attempted pnfs fails Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 093/185] Bluetooth: ath3k: Add support of 04ca:300d AR3012 device Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 084/185] vTPM: set virtual device before passing to ibmvtpm_reset_crq Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 083/185] nfs: increase size of EXCHANGE_ID name string buffer Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:00 +0200
    [PATCH 3.16.y-ckt 058/185] regulator: core: fix constraints output buffer Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 048/185] mnt: Modify fs_fully_visible to deal with locked ro nodev and atime Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 042/185] fixing infinite OPEN loop in 4.0 stateid recovery Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 040/185] usb: core: Fix USB 3.0 devices lost in NOTATTACHED state after a hub port reset Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 044/185] powerpc/perf: Fix book3s kernel to userspace backtraces Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 043/185] ideapad_laptop: Lenovo G50-30 fix rfkill reports wireless blocked Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 041/185] staging: vt6655: device_rx_srv check sk_buff is NULL Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 057/185] cdc-acm: Add support of ATOL FPrint fiscal printers Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 054/185] Bluetooth: btusb: Fix memory leak in Intel setup routine Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 051/185] selinux: fix setting of security labels on NFS Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 047/185] ieee802154: Fix sockaddr_ieee802154 implicit padding information leak. Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 037/185] ASoC: arizona: Fix noise generator gain TLV Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 049/185] drm/qxl: Do not cause spice-server to clean our objects Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 038/185] usb: dwc3: gadget: don't clear EP_BUSY too early Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 033/185] w1_therm reference count family data Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 055/185] ath9k: fix DMA stop sequence for AR9003+ Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 059/185] ACPI / PM: Add missing pm_generic_complete() invocation Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 039/185] staging: rtl8712: prevent buffer overrun in recvbuf2recvframe Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 050/185] drm/qxl: Do not leak memory if qxl_release_list_add fails Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 035/185] usb: dwc3: gadget: return error if command sent to DGCMD register fails Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 045/185] SUNRPC: Fix a memory leak in the backchannel code Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 046/185] ipr: Increase default adapter init stage change timeout Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 036/185] rcu: Correctly handle non-empty Tiny RCU callback list with none ready Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 053/185] ath3k: add support of 13d3:3474 AR3012 device Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 014/185] x86/mce: Fix MCE severity messages Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 052/185] ath3k: Add support of 0489:e076 AR3012 device Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 030/185] scsi_transport_srp: Introduce srp_wait_for_queuecommand() Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:10 +0200
    [PATCH 3.16.y-ckt 025/185] genirq: devres: Fix testing return value of request_any_context_irq() Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 002/185] KVM: nSVM: Check for NRIPS support before updating control field Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 021/185] intel_pstate: set BYT MSR with wrmsrl_on_cpu() Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 009/185] packet: avoid out of bounds read in round robin fanout Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 003/185] nfs: take extra reference to fl->fl_file when running a setlk Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 015/185] [media] s5h1420: fix a buffer overflow when checking userspace params Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 005/185] net: don't wait for order-3 page allocation Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 010/185] neigh: do not modify unlinked entries Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 028/185] mnt: Refactor the logic for mounting sysfs and proc in a user namespace Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 016/185] [media] cx24116: fix a buffer overflow when checking userspace params Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 024/185] Revert "crypto: talitos - convert to use be16_add_cpu()" Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 034/185] drm/radeon: take the mode_config mutex when dealing with hpds (v2) Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 017/185] [media] af9013: Don't accept invalid bandwidth Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 022/185] leds / PM: fix hibernation on arm when gpio-led used with CPU led trigger Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 006/185] sctp: fix ASCONF list handling Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 019/185] spi: fix race freeing dummy_tx/rx before it is unmapped Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 013/185] sctp: Fix race between OOTB responce and route removal Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 001/185] ARM: clk-imx6q: refine sata's parent Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 018/185] [media] cx24117: fix a buffer overflow when checking userspace params Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 029/185] ASoC: wm8955: Fix setting wrong register for WM8955_K_8_0_MASK bits Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 026/185] ASoC: wm8737: Fixup setting VMID Impedance control register Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 004/185] bridge: fix multicast router rlist endless loop Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 032/185] KVM: mips: use id_to_memslot correctly Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 023/185] crypto: talitos - avoid memleak in talitos_alg_alloc() Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 007/185] bridge: fix br_stp_set_bridge_priority race conditions Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 011/185] tcp: Do not call tcp_fastopen_reset_cipher from interrupt context Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200
    [PATCH 3.16.y-ckt 012/185] net: phy: fix phy link up when limiting speed via device tree Luis Henriques <luis.henriques@canonical.com> - 2015-07-15 12:20 +0200

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


#1184520 — [PATCH 3.16.y-ckt 142/185] ACPICA: Tables: Enable default 64-bit FADT addresses favor

FromLuis Henriques <luis.henriques@canonical.com>
Date2015-07-15 11:40 +0200
Subject[PATCH 3.16.y-ckt 142/185] ACPICA: Tables: Enable default 64-bit FADT addresses favor
Message-ID<pMrku-3up-45@gated-at.bofh.it>
In reply to#1184435
3.16.7-ckt15 -stable review patch.  If anyone has any objections, please let me know.

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

From: Lv Zheng <lv.zheng@intel.com>

commit 0ea61381788a37d864f9841b0fe97d40f7058f3b upstream.

ACPICA commit 4da56eeae0749dfe8491285c1e1fad48f6efafd8

The following commit temporarily disables correct 64-bit FADT addresses
favor during the period the root cause of the bug is not fixed:
 Commit: 85dbd5801f62b66e2aa7826aaefcaebead44c8a6
 ACPICA: Tables: Restore old behavor to favor 32-bit FADT addresses.

With enough protections, this patch re-enables 64-bit FADT addresses by
default. If regressions are reported against such change, this patch should
be bisected and reverted.
Note that 64-bit FACS favor and 64-bit firmware waking vector favor are
excluded by this commit in order not to break OSPMs. Lv Zheng.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=74021
Link: https://github.com/acpica/acpica/commit/4da56eea
Reported-and-tested-by: Oswald Buddenhagen <ossi@kde.org>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 include/acpi/acpixf.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/acpi/acpixf.h b/include/acpi/acpixf.h
index 77391cfd7c6b..d95681144545 100644
--- a/include/acpi/acpixf.h
+++ b/include/acpi/acpixf.h
@@ -197,9 +197,9 @@ ACPI_INIT_GLOBAL(u8, acpi_gbl_do_not_use_xsdt, FALSE);
  * address. Although ACPICA adheres to the ACPI specification which
  * requires the use of the corresponding 64-bit address if it is non-zero,
  * some machines have been found to have a corrupted non-zero 64-bit
- * address. Default is TRUE, favor the 32-bit addresses.
+ * address. Default is FALSE, do not favor the 32-bit addresses.
  */
-ACPI_INIT_GLOBAL(u8, acpi_gbl_use32_bit_fadt_addresses, TRUE);
+ACPI_INIT_GLOBAL(u8, acpi_gbl_use32_bit_fadt_addresses, FALSE);
 
 /*
  * Optionally use 32-bit FACS table addresses.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1184521 — [PATCH 3.16.y-ckt 124/185] ARM: mvebu: update Ethernet compatible string for Armada XP

FromLuis Henriques <luis.henriques@canonical.com>
Date2015-07-15 11:40 +0200
Subject[PATCH 3.16.y-ckt 124/185] ARM: mvebu: update Ethernet compatible string for Armada XP
Message-ID<pMrkv-3up-47@gated-at.bofh.it>
In reply to#1184435
3.16.7-ckt15 -stable review patch.  If anyone has any objections, please let me know.

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

From: Simon Guinot <simon.guinot@sequanux.org>

commit ea3b55fe83b5fcede82d183164b9d6831b26e33b upstream.

This patch updates the Ethernet DT nodes for Armada XP SoCs with the
compatible string "marvell,armada-xp-neta".

Signed-off-by: Simon Guinot <simon.guinot@sequanux.org>
Fixes: 77916519cba3 ("arm: mvebu: Armada XP MV78230 has only three Ethernet interfaces")
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 arch/arm/boot/dts/armada-370-xp.dtsi     |  2 --
 arch/arm/boot/dts/armada-370.dtsi        |  8 ++++++++
 arch/arm/boot/dts/armada-xp-mv78260.dtsi |  2 +-
 arch/arm/boot/dts/armada-xp-mv78460.dtsi |  2 +-
 arch/arm/boot/dts/armada-xp.dtsi         | 10 +++++++++-
 5 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/arch/arm/boot/dts/armada-370-xp.dtsi b/arch/arm/boot/dts/armada-370-xp.dtsi
index 23227e0027ec..c02e43adadae 100644
--- a/arch/arm/boot/dts/armada-370-xp.dtsi
+++ b/arch/arm/boot/dts/armada-370-xp.dtsi
@@ -225,7 +225,6 @@
 			};
 
 			eth0: ethernet@70000 {
-				compatible = "marvell,armada-370-neta";
 				reg = <0x70000 0x4000>;
 				interrupts = <8>;
 				clocks = <&gateclk 4>;
@@ -241,7 +240,6 @@
 			};
 
 			eth1: ethernet@74000 {
-				compatible = "marvell,armada-370-neta";
 				reg = <0x74000 0x4000>;
 				interrupts = <10>;
 				clocks = <&gateclk 3>;
diff --git a/arch/arm/boot/dts/armada-370.dtsi b/arch/arm/boot/dts/armada-370.dtsi
index 77d22d82faf5..adcc244b781e 100644
--- a/arch/arm/boot/dts/armada-370.dtsi
+++ b/arch/arm/boot/dts/armada-370.dtsi
@@ -279,6 +279,14 @@
 					dmacap,memset;
 				};
 			};
+
+			ethernet@70000 {
+				compatible = "marvell,armada-370-neta";
+			};
+
+			ethernet@74000 {
+				compatible = "marvell,armada-370-neta";
+			};
 		};
 	};
 };
diff --git a/arch/arm/boot/dts/armada-xp-mv78260.dtsi b/arch/arm/boot/dts/armada-xp-mv78260.dtsi
index 3396b25b39e1..caae3310ed00 100644
--- a/arch/arm/boot/dts/armada-xp-mv78260.dtsi
+++ b/arch/arm/boot/dts/armada-xp-mv78260.dtsi
@@ -294,7 +294,7 @@
 			};
 
 			eth3: ethernet@34000 {
-				compatible = "marvell,armada-370-neta";
+				compatible = "marvell,armada-xp-neta";
 				reg = <0x34000 0x4000>;
 				interrupts = <14>;
 				clocks = <&gateclk 1>;
diff --git a/arch/arm/boot/dts/armada-xp-mv78460.dtsi b/arch/arm/boot/dts/armada-xp-mv78460.dtsi
index 6da84bf40aaf..908d491b1b65 100644
--- a/arch/arm/boot/dts/armada-xp-mv78460.dtsi
+++ b/arch/arm/boot/dts/armada-xp-mv78460.dtsi
@@ -330,7 +330,7 @@
 			};
 
 			eth3: ethernet@34000 {
-				compatible = "marvell,armada-370-neta";
+				compatible = "marvell,armada-xp-neta";
 				reg = <0x34000 0x4000>;
 				interrupts = <14>;
 				clocks = <&gateclk 1>;
diff --git a/arch/arm/boot/dts/armada-xp.dtsi b/arch/arm/boot/dts/armada-xp.dtsi
index 5902e8359c91..aa4dad7203b5 100644
--- a/arch/arm/boot/dts/armada-xp.dtsi
+++ b/arch/arm/boot/dts/armada-xp.dtsi
@@ -125,7 +125,7 @@
 			};
 
 			eth2: ethernet@30000 {
-				compatible = "marvell,armada-370-neta";
+				compatible = "marvell,armada-xp-neta";
 				reg = <0x30000 0x4000>;
 				interrupts = <12>;
 				clocks = <&gateclk 2>;
@@ -168,6 +168,14 @@
 				};
 			};
 
+			ethernet@70000 {
+				compatible = "marvell,armada-xp-neta";
+			};
+
+			ethernet@74000 {
+				compatible = "marvell,armada-xp-neta";
+			};
+
 			xor@f0900 {
 				compatible = "marvell,orion-xor";
 				reg = <0xF0900 0x100
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1184523 — [PATCH 3.16.y-ckt 134/185] proc: Allow creating permanently empty directories that serve as mount points

FromLuis Henriques <luis.henriques@canonical.com>
Date2015-07-15 11:40 +0200
Subject[PATCH 3.16.y-ckt 134/185] proc: Allow creating permanently empty directories that serve as mount points
Message-ID<pMrkv-3up-51@gated-at.bofh.it>
In reply to#1184435
3.16.7-ckt15 -stable review patch.  If anyone has any objections, please let me know.

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

From: "Eric W. Biederman" <ebiederm@xmission.com>

commit eb6d38d5427b3ad42f5268da0f1dd31bb0af1264 upstream.

Add a new function proc_create_mount_point that when used to creates a
directory that can not be added to.

Add a new function is_empty_pde to test if a function is a mount
point.

Update the code to use make_empty_dir_inode when reporting
a permanently empty directory to the vfs.

Update the code to not allow adding to permanently empty directories.

Update /proc/openprom and /proc/fs/nfsd to be permanently empty directories.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
[ luis: backported to 3.16: adjusted context ]
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 fs/proc/generic.c  | 24 ++++++++++++++++++++++++
 fs/proc/inode.c    |  4 ++++
 fs/proc/internal.h |  6 ++++++
 fs/proc/root.c     |  4 ++--
 4 files changed, 36 insertions(+), 2 deletions(-)

diff --git a/fs/proc/generic.c b/fs/proc/generic.c
index 2e2d9d5d78d9..c18d9b05cea9 100644
--- a/fs/proc/generic.c
+++ b/fs/proc/generic.c
@@ -334,6 +334,11 @@ static struct proc_dir_entry *__proc_create(struct proc_dir_entry **parent,
 
 	len = strlen(fn);
 
+	if (is_empty_pde(*parent)) {
+		WARN(1, "attempt to add to permanently empty directory");
+		return NULL;
+	}
+
 	ent = kzalloc(sizeof(struct proc_dir_entry) + len + 1, GFP_KERNEL);
 	if (!ent)
 		goto out;
@@ -409,6 +414,25 @@ struct proc_dir_entry *proc_mkdir(const char *name,
 }
 EXPORT_SYMBOL(proc_mkdir);
 
+struct proc_dir_entry *proc_create_mount_point(const char *name)
+{
+	umode_t mode = S_IFDIR | S_IRUGO | S_IXUGO;
+	struct proc_dir_entry *ent, *parent = NULL;
+
+	ent = __proc_create(&parent, name, mode, 2);
+	if (ent) {
+		ent->data = NULL;
+		ent->proc_fops = NULL;
+		ent->proc_iops = NULL;
+		if (proc_register(parent, ent) < 0) {
+			kfree(ent);
+			parent->nlink--;
+			ent = NULL;
+		}
+	}
+	return ent;
+}
+
 struct proc_dir_entry *proc_create_data(const char *name, umode_t mode,
 					struct proc_dir_entry *parent,
 					const struct file_operations *proc_fops,
diff --git a/fs/proc/inode.c b/fs/proc/inode.c
index 965b82e61570..6582583201ee 100644
--- a/fs/proc/inode.c
+++ b/fs/proc/inode.c
@@ -431,6 +431,10 @@ struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de)
 		inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
 		PROC_I(inode)->pde = de;
 
+		if (is_empty_pde(de)) {
+			make_empty_dir_inode(inode);
+			return inode;
+		}
 		if (de->mode) {
 			inode->i_mode = de->mode;
 			inode->i_uid = de->uid;
diff --git a/fs/proc/internal.h b/fs/proc/internal.h
index 8b24f3640cd9..e62c247b46cc 100644
--- a/fs/proc/internal.h
+++ b/fs/proc/internal.h
@@ -193,6 +193,12 @@ static inline struct proc_dir_entry *pde_get(struct proc_dir_entry *pde)
 }
 extern void pde_put(struct proc_dir_entry *);
 
+static inline bool is_empty_pde(const struct proc_dir_entry *pde)
+{
+	return S_ISDIR(pde->mode) && !pde->proc_iops;
+}
+struct proc_dir_entry *proc_create_mount_point(const char *name);
+
 /*
  * inode.c
  */
diff --git a/fs/proc/root.c b/fs/proc/root.c
index 7fd8c1f1b1d9..dd77e1483196 100644
--- a/fs/proc/root.c
+++ b/fs/proc/root.c
@@ -176,10 +176,10 @@ void __init proc_root_init(void)
 #endif
 	proc_mkdir("fs", NULL);
 	proc_mkdir("driver", NULL);
-	proc_mkdir("fs/nfsd", NULL); /* somewhere for the nfsd filesystem to be mounted */
+	proc_create_mount_point("fs/nfsd"); /* somewhere for the nfsd filesystem to be mounted */
 #if defined(CONFIG_SUN_OPENPROMFS) || defined(CONFIG_SUN_OPENPROMFS_MODULE)
 	/* just give it a mountpoint */
-	proc_mkdir("openprom", NULL);
+	proc_create_mount_point("openprom");
 #endif
 	proc_tty_init();
 	proc_mkdir("bus", NULL);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1184524 — [PATCH 3.16.y-ckt 127/185] rbd: use GFP_NOIO in rbd_obj_request_create()

FromLuis Henriques <luis.henriques@canonical.com>
Date2015-07-15 11:40 +0200
Subject[PATCH 3.16.y-ckt 127/185] rbd: use GFP_NOIO in rbd_obj_request_create()
Message-ID<pMrkv-3up-53@gated-at.bofh.it>
In reply to#1184435
3.16.7-ckt15 -stable review patch.  If anyone has any objections, please let me know.

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

From: Ilya Dryomov <idryomov@gmail.com>

commit 5a60e87603c4c533492c515b7f62578189b03c9c upstream.

rbd_obj_request_create() is called on the main I/O path, so we need to
use GFP_NOIO to make sure allocation doesn't blow back on us.  Not all
callers need this, but I'm still hardcoding the flag inside rather than
making it a parameter because a) this is going to stable, and b) those
callers shouldn't really use rbd_obj_request_create() and will be fixed
in the future.

More memory allocation fixes will follow.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Alex Elder <elder@linaro.org>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 drivers/block/rbd.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
index f017d1964eb6..b3fdc1b7ea76 100644
--- a/drivers/block/rbd.c
+++ b/drivers/block/rbd.c
@@ -1909,11 +1909,11 @@ static struct rbd_obj_request *rbd_obj_request_create(const char *object_name,
 	rbd_assert(obj_request_type_valid(type));
 
 	size = strlen(object_name) + 1;
-	name = kmalloc(size, GFP_KERNEL);
+	name = kmalloc(size, GFP_NOIO);
 	if (!name)
 		return NULL;
 
-	obj_request = kmem_cache_zalloc(rbd_obj_request_cache, GFP_KERNEL);
+	obj_request = kmem_cache_zalloc(rbd_obj_request_cache, GFP_NOIO);
 	if (!obj_request) {
 		kfree(name);
 		return NULL;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1184525 — [PATCH 3.16.y-ckt 137/185] mnt: Update fs_fully_visible to test for permanently empty directories

FromLuis Henriques <luis.henriques@canonical.com>
Date2015-07-15 11:40 +0200
Subject[PATCH 3.16.y-ckt 137/185] mnt: Update fs_fully_visible to test for permanently empty directories
Message-ID<pMrkv-3up-55@gated-at.bofh.it>
In reply to#1184435
3.16.7-ckt15 -stable review patch.  If anyone has any objections, please let me know.

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

From: "Eric W. Biederman" <ebiederm@xmission.com>

commit 7236c85e1be51a9e25ba0f6e087a66ca89605a49 upstream.

fs_fully_visible attempts to make fresh mounts of proc and sysfs give
the mounter no more access to proc and sysfs than if they could have
by creating a bind mount.  One aspect of proc and sysfs that makes
this particularly tricky is that there are other filesystems that
typically mount on top of proc and sysfs.  As those filesystems are
mounted on empty directories in practice it is safe to ignore them.
However testing to ensure filesystems are mounted on empty directories
has not been something the in kernel data structures have supported so
the current test for an empty directory which checks to see
if nlink <= 2 is a bit lacking.

proc and sysfs have recently been modified to use the new empty_dir
infrastructure to create all of their dedicated mount points.  Instead
of testing for S_ISDIR(inode->i_mode) && i_nlink <= 2 to see if a
directory is empty, test for is_empty_dir_inode(inode).  That small
change guaranteess mounts found on proc and sysfs really are safe to
ignore, because the directories are not only empty but nothing can
ever be added to them.  This guarantees there is nothing to worry
about when mounting proc and sysfs.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 fs/namespace.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/fs/namespace.c b/fs/namespace.c
index efd13c26ad9c..b50d8daa7cb0 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -3073,9 +3073,8 @@ static bool fs_fully_visible(struct file_system_type *type, int *new_mnt_flags)
 			/* Only worry about locked mounts */
 			if (!(mnt->mnt.mnt_flags & MNT_LOCKED))
 				continue;
-			if (!S_ISDIR(inode->i_mode))
-				goto next;
-			if (inode->i_nlink > 2)
+			/* Is the directory permanetly empty? */
+			if (!is_empty_dir_inode(inode))
 				goto next;
 		}
 		/* Preserve the locked attributes */
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1184528 — [PATCH 3.16.y-ckt 153/185] HID: i2c-hid: fix harmless test_bit() issue

FromLuis Henriques <luis.henriques@canonical.com>
Date2015-07-15 11:40 +0200
Subject[PATCH 3.16.y-ckt 153/185] HID: i2c-hid: fix harmless test_bit() issue
Message-ID<pMrkv-3up-63@gated-at.bofh.it>
In reply to#1184435
3.16.7-ckt15 -stable review patch.  If anyone has any objections, please let me know.

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

From: Dan Carpenter <dan.carpenter@oracle.com>

commit c8fd51dc12c6e22bb97d5e273babcf339770aba5 upstream.

These defines are used like this:

	if (test_bit(I2C_HID_STARTED, &ihid->flags))

The intent was to use bits 0, 1, and 2 but because of the extra shifts
we're using bits 1, 2, and 4.  It's harmless becuase it's done
consistently but it's not the intent and static checkers will complain.

Fixes: 4a200c3b9a40 ('HID: i2c-hid: introduce HID over i2c specification implementation')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 drivers/hid/i2c-hid/i2c-hid.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/hid/i2c-hid/i2c-hid.c b/drivers/hid/i2c-hid/i2c-hid.c
index 1c313e3aa0fd..d40d1f36f47e 100644
--- a/drivers/hid/i2c-hid/i2c-hid.c
+++ b/drivers/hid/i2c-hid/i2c-hid.c
@@ -41,9 +41,9 @@
 #include <linux/i2c/i2c-hid.h>
 
 /* flags */
-#define I2C_HID_STARTED		(1 << 0)
-#define I2C_HID_RESET_PENDING	(1 << 1)
-#define I2C_HID_READ_PENDING	(1 << 2)
+#define I2C_HID_STARTED		0
+#define I2C_HID_RESET_PENDING	1
+#define I2C_HID_READ_PENDING	2
 
 #define I2C_HID_PWR_ON		0x00
 #define I2C_HID_PWR_SLEEP	0x01
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1184530 — [PATCH 3.16.y-ckt 130/185] vfs: Ignore unlocked mounts in fs_fully_visible

FromLuis Henriques <luis.henriques@canonical.com>
Date2015-07-15 11:40 +0200
Subject[PATCH 3.16.y-ckt 130/185] vfs: Ignore unlocked mounts in fs_fully_visible
Message-ID<pMrkv-3up-67@gated-at.bofh.it>
In reply to#1184435
3.16.7-ckt15 -stable review patch.  If anyone has any objections, please let me know.

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

From: "Eric W. Biederman" <ebiederm@xmission.com>

commit ceeb0e5d39fcdf4dca2c997bf225c7fc49200b37 upstream.

Limit the mounts fs_fully_visible considers to locked mounts.
Unlocked can always be unmounted so considering them adds hassle
but no security benefit.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 fs/namespace.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/fs/namespace.c b/fs/namespace.c
index 8f76be393012..efd13c26ad9c 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -3064,11 +3064,15 @@ static bool fs_fully_visible(struct file_system_type *type, int *new_mnt_flags)
 		    ((mnt->mnt.mnt_flags & MNT_ATIME_MASK) != (new_flags & MNT_ATIME_MASK)))
 			continue;
 
-		/* This mount is not fully visible if there are any child mounts
-		 * that cover anything except for empty directories.
+		/* This mount is not fully visible if there are any
+		 * locked child mounts that cover anything except for
+		 * empty directories.
 		 */
 		list_for_each_entry(child, &mnt->mnt_mounts, mnt_child) {
 			struct inode *inode = child->mnt_mountpoint->d_inode;
+			/* Only worry about locked mounts */
+			if (!(mnt->mnt.mnt_flags & MNT_LOCKED))
+				continue;
 			if (!S_ISDIR(inode->i_mode))
 				goto next;
 			if (inode->i_nlink > 2)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1184531 — [PATCH 3.16.y-ckt 126/185] crush: fix a bug in tree bucket decode

FromLuis Henriques <luis.henriques@canonical.com>
Date2015-07-15 11:40 +0200
Subject[PATCH 3.16.y-ckt 126/185] crush: fix a bug in tree bucket decode
Message-ID<pMrkw-3up-73@gated-at.bofh.it>
In reply to#1184435
3.16.7-ckt15 -stable review patch.  If anyone has any objections, please let me know.

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

From: Ilya Dryomov <idryomov@gmail.com>

commit 82cd003a77173c91b9acad8033fb7931dac8d751 upstream.

struct crush_bucket_tree::num_nodes is u8, so ceph_decode_8_safe()
should be used.  -Wconversion catches this, but I guess it went
unnoticed in all the noise it spews.  The actual problem (at least for
common crushmaps) isn't the u32 -> u8 truncation though - it's the
advancement by 4 bytes instead of 1 in the crushmap buffer.

Fixes: http://tracker.ceph.com/issues/2759

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 net/ceph/osdmap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/ceph/osdmap.c b/net/ceph/osdmap.c
index c547e46084d3..5740f71b609d 100644
--- a/net/ceph/osdmap.c
+++ b/net/ceph/osdmap.c
@@ -89,7 +89,7 @@ static int crush_decode_tree_bucket(void **p, void *end,
 {
 	int j;
 	dout("crush_decode_tree_bucket %p to %p\n", *p, end);
-	ceph_decode_32_safe(p, end, b->num_nodes, bad);
+	ceph_decode_8_safe(p, end, b->num_nodes, bad);
 	b->node_weights = kcalloc(b->num_nodes, sizeof(u32), GFP_NOFS);
 	if (b->node_weights == NULL)
 		return -ENOMEM;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1184532 — [PATCH 3.16.y-ckt 132/185] fs: Add helper functions for permanently empty directories.

FromLuis Henriques <luis.henriques@canonical.com>
Date2015-07-15 11:40 +0200
Subject[PATCH 3.16.y-ckt 132/185] fs: Add helper functions for permanently empty directories.
Message-ID<pMrkx-3up-75@gated-at.bofh.it>
In reply to#1184435
3.16.7-ckt15 -stable review patch.  If anyone has any objections, please let me know.

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

From: "Eric W. Biederman" <ebiederm@xmission.com>

commit fbabfd0f4ee2e8847bf56edf481249ad1bb8c44d upstream.

To ensure it is safe to mount proc and sysfs I need to check if
filesystems that are mounted on top of them are mounted on truly empty
directories.  Given that some directories can gain entries over time,
knowing that a directory is empty right now is insufficient.

Therefore add supporting infrastructure for permantently empty
directories that proc and sysfs can use when they create mount points
for filesystems and fs_fully_visible can use to test for permanently
empty directories to ensure that nothing will be gained by mounting a
fresh copy of proc or sysfs.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
[ luis: backported to 3.16: adjusted context ]
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 fs/libfs.c         | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 include/linux/fs.h |  2 ++
 2 files changed, 98 insertions(+)

diff --git a/fs/libfs.c b/fs/libfs.c
index e801b983b46b..c4c5f7223477 100644
--- a/fs/libfs.c
+++ b/fs/libfs.c
@@ -1075,3 +1075,99 @@ struct inode *alloc_anon_inode(struct super_block *s)
 	return inode;
 }
 EXPORT_SYMBOL(alloc_anon_inode);
+
+
+/*
+ * Operations for a permanently empty directory.
+ */
+static struct dentry *empty_dir_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags)
+{
+	return ERR_PTR(-ENOENT);
+}
+
+static int empty_dir_getattr(struct vfsmount *mnt, struct dentry *dentry,
+				 struct kstat *stat)
+{
+	struct inode *inode = d_inode(dentry);
+	generic_fillattr(inode, stat);
+	return 0;
+}
+
+static int empty_dir_setattr(struct dentry *dentry, struct iattr *attr)
+{
+	return -EPERM;
+}
+
+static int empty_dir_setxattr(struct dentry *dentry, const char *name,
+			      const void *value, size_t size, int flags)
+{
+	return -EOPNOTSUPP;
+}
+
+static ssize_t empty_dir_getxattr(struct dentry *dentry, const char *name,
+				  void *value, size_t size)
+{
+	return -EOPNOTSUPP;
+}
+
+static int empty_dir_removexattr(struct dentry *dentry, const char *name)
+{
+	return -EOPNOTSUPP;
+}
+
+static ssize_t empty_dir_listxattr(struct dentry *dentry, char *list, size_t size)
+{
+	return -EOPNOTSUPP;
+}
+
+static const struct inode_operations empty_dir_inode_operations = {
+	.lookup		= empty_dir_lookup,
+	.permission	= generic_permission,
+	.setattr	= empty_dir_setattr,
+	.getattr	= empty_dir_getattr,
+	.setxattr	= empty_dir_setxattr,
+	.getxattr	= empty_dir_getxattr,
+	.removexattr	= empty_dir_removexattr,
+	.listxattr	= empty_dir_listxattr,
+};
+
+static loff_t empty_dir_llseek(struct file *file, loff_t offset, int whence)
+{
+	/* An empty directory has two entries . and .. at offsets 0 and 1 */
+	return generic_file_llseek_size(file, offset, whence, 2, 2);
+}
+
+static int empty_dir_readdir(struct file *file, struct dir_context *ctx)
+{
+	dir_emit_dots(file, ctx);
+	return 0;
+}
+
+static const struct file_operations empty_dir_operations = {
+	.llseek		= empty_dir_llseek,
+	.read		= generic_read_dir,
+	.iterate	= empty_dir_readdir,
+	.fsync		= noop_fsync,
+};
+
+
+void make_empty_dir_inode(struct inode *inode)
+{
+	set_nlink(inode, 2);
+	inode->i_mode = S_IFDIR | S_IRUGO | S_IXUGO;
+	inode->i_uid = GLOBAL_ROOT_UID;
+	inode->i_gid = GLOBAL_ROOT_GID;
+	inode->i_rdev = 0;
+	inode->i_size = 2;
+	inode->i_blkbits = PAGE_SHIFT;
+	inode->i_blocks = 0;
+
+	inode->i_op = &empty_dir_inode_operations;
+	inode->i_fop = &empty_dir_operations;
+}
+
+bool is_empty_dir_inode(struct inode *inode)
+{
+	return (inode->i_fop == &empty_dir_operations) &&
+		(inode->i_op == &empty_dir_inode_operations);
+}
diff --git a/include/linux/fs.h b/include/linux/fs.h
index abbd77a27f3d..9bd6f37d885a 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -2590,6 +2590,8 @@ extern struct dentry *simple_lookup(struct inode *, struct dentry *, unsigned in
 extern ssize_t generic_read_dir(struct file *, char __user *, size_t, loff_t *);
 extern const struct file_operations simple_dir_operations;
 extern const struct inode_operations simple_dir_inode_operations;
+extern void make_empty_dir_inode(struct inode *inode);
+extern bool is_empty_dir_inode(struct inode *inode);
 struct tree_descr { char *name; const struct file_operations *ops; int mode; };
 struct dentry *d_alloc_name(struct dentry *, const char *);
 extern int simple_fill_super(struct super_block *, unsigned long, struct tree_descr *);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1184533 — [PATCH 3.16.y-ckt 143/185] KVM: x86: make vapics_in_nmi_mode atomic

FromLuis Henriques <luis.henriques@canonical.com>
Date2015-07-15 11:40 +0200
Subject[PATCH 3.16.y-ckt 143/185] KVM: x86: make vapics_in_nmi_mode atomic
Message-ID<pMrkx-3up-77@gated-at.bofh.it>
In reply to#1184435
3.16.7-ckt15 -stable review patch.  If anyone has any objections, please let me know.

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

From: =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= <rkrcmar@redhat.com>

commit 42720138b06301cc8a7ee8a495a6d021c4b6a9bc upstream.

Writes were a bit racy, but hard to turn into a bug at the same time.
(Particularly because modern Linux doesn't use this feature anymore.)

Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
[Actually the next patch makes it much, much easier to trigger the race
 so I'm including this one for stable@ as well. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 arch/x86/include/asm/kvm_host.h | 2 +-
 arch/x86/kvm/i8254.c            | 2 +-
 arch/x86/kvm/lapic.c            | 4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index 554dcdf7ad82..b1ecb145d9a5 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -571,7 +571,7 @@ struct kvm_arch {
 	struct kvm_pic *vpic;
 	struct kvm_ioapic *vioapic;
 	struct kvm_pit *vpit;
-	int vapics_in_nmi_mode;
+	atomic_t vapics_in_nmi_mode;
 	struct mutex apic_map_lock;
 	struct kvm_apic_map *apic_map;
 
diff --git a/arch/x86/kvm/i8254.c b/arch/x86/kvm/i8254.c
index 298781d4cfb4..1406ffde3e35 100644
--- a/arch/x86/kvm/i8254.c
+++ b/arch/x86/kvm/i8254.c
@@ -305,7 +305,7 @@ static void pit_do_work(struct kthread_work *work)
 		 * LVT0 to NMI delivery. Other PIC interrupts are just sent to
 		 * VCPU0, and only if its LVT0 is in EXTINT mode.
 		 */
-		if (kvm->arch.vapics_in_nmi_mode > 0)
+		if (atomic_read(&kvm->arch.vapics_in_nmi_mode) > 0)
 			kvm_for_each_vcpu(i, vcpu, kvm)
 				kvm_apic_nmi_wd_deliver(vcpu);
 	}
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
index f96b8a4d3fed..17ca64643a11 100644
--- a/arch/x86/kvm/lapic.c
+++ b/arch/x86/kvm/lapic.c
@@ -1115,10 +1115,10 @@ static void apic_manage_nmi_watchdog(struct kvm_lapic *apic, u32 lvt0_val)
 		if (!nmi_wd_enabled) {
 			apic_debug("Receive NMI setting on APIC_LVT0 "
 				   "for cpu %d\n", apic->vcpu->vcpu_id);
-			apic->vcpu->kvm->arch.vapics_in_nmi_mode++;
+			atomic_inc(&apic->vcpu->kvm->arch.vapics_in_nmi_mode);
 		}
 	} else if (nmi_wd_enabled)
-		apic->vcpu->kvm->arch.vapics_in_nmi_mode--;
+		atomic_dec(&apic->vcpu->kvm->arch.vapics_in_nmi_mode);
 }
 
 static int apic_reg_write(struct kvm_lapic *apic, u32 reg, u32 val)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1184535 — [PATCH 3.16.y-ckt 135/185] kernfs: Add support for always empty directories.

FromLuis Henriques <luis.henriques@canonical.com>
Date2015-07-15 11:40 +0200
Subject[PATCH 3.16.y-ckt 135/185] kernfs: Add support for always empty directories.
Message-ID<pMrkx-3up-81@gated-at.bofh.it>
In reply to#1184435
3.16.7-ckt15 -stable review patch.  If anyone has any objections, please let me know.

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

From: "Eric W. Biederman" <ebiederm@xmission.com>

commit ea015218f2f7ace2dad9cedd21ed95bdba2886d7 upstream.

Add a new function kernfs_create_empty_dir that can be used to create
directory that can not be modified.

Update the code to use make_empty_dir_inode when reporting a
permanently empty directory to the vfs.

Update the code to not allow adding to permanently empty directories.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 fs/kernfs/dir.c        | 38 +++++++++++++++++++++++++++++++++++++-
 fs/kernfs/inode.c      |  2 ++
 include/linux/kernfs.h |  3 +++
 3 files changed, 42 insertions(+), 1 deletion(-)

diff --git a/fs/kernfs/dir.c b/fs/kernfs/dir.c
index a693f5b01ae6..6309457847cd 100644
--- a/fs/kernfs/dir.c
+++ b/fs/kernfs/dir.c
@@ -594,6 +594,9 @@ int kernfs_add_one(struct kernfs_node *kn)
 		goto out_unlock;
 
 	ret = -ENOENT;
+	if (parent->flags & KERNFS_EMPTY_DIR)
+		goto out_unlock;
+
 	if ((parent->flags & KERNFS_ACTIVATED) && !kernfs_active(parent))
 		goto out_unlock;
 
@@ -785,6 +788,38 @@ struct kernfs_node *kernfs_create_dir_ns(struct kernfs_node *parent,
 	return ERR_PTR(rc);
 }
 
+/**
+ * kernfs_create_empty_dir - create an always empty directory
+ * @parent: parent in which to create a new directory
+ * @name: name of the new directory
+ *
+ * Returns the created node on success, ERR_PTR() value on failure.
+ */
+struct kernfs_node *kernfs_create_empty_dir(struct kernfs_node *parent,
+					    const char *name)
+{
+	struct kernfs_node *kn;
+	int rc;
+
+	/* allocate */
+	kn = kernfs_new_node(parent, name, S_IRUGO|S_IXUGO|S_IFDIR, KERNFS_DIR);
+	if (!kn)
+		return ERR_PTR(-ENOMEM);
+
+	kn->flags |= KERNFS_EMPTY_DIR;
+	kn->dir.root = parent->dir.root;
+	kn->ns = NULL;
+	kn->priv = NULL;
+
+	/* link in */
+	rc = kernfs_add_one(kn);
+	if (!rc)
+		return kn;
+
+	kernfs_put(kn);
+	return ERR_PTR(rc);
+}
+
 static struct dentry *kernfs_iop_lookup(struct inode *dir,
 					struct dentry *dentry,
 					unsigned int flags)
@@ -1256,7 +1291,8 @@ int kernfs_rename_ns(struct kernfs_node *kn, struct kernfs_node *new_parent,
 	mutex_lock(&kernfs_mutex);
 
 	error = -ENOENT;
-	if (!kernfs_active(kn) || !kernfs_active(new_parent))
+	if (!kernfs_active(kn) || !kernfs_active(new_parent) ||
+	    (new_parent->flags & KERNFS_EMPTY_DIR))
 		goto out;
 
 	error = 0;
diff --git a/fs/kernfs/inode.c b/fs/kernfs/inode.c
index 985217626e66..5b8ab29494b7 100644
--- a/fs/kernfs/inode.c
+++ b/fs/kernfs/inode.c
@@ -309,6 +309,8 @@ static void kernfs_init_inode(struct kernfs_node *kn, struct inode *inode)
 	case KERNFS_DIR:
 		inode->i_op = &kernfs_dir_iops;
 		inode->i_fop = &kernfs_dir_fops;
+		if (kn->flags & KERNFS_EMPTY_DIR)
+			make_empty_dir_inode(inode);
 		break;
 	case KERNFS_FILE:
 		inode->i_size = kn->attr.size;
diff --git a/include/linux/kernfs.h b/include/linux/kernfs.h
index 30faf797c2c3..6658ff53203e 100644
--- a/include/linux/kernfs.h
+++ b/include/linux/kernfs.h
@@ -46,6 +46,7 @@ enum kernfs_node_flag {
 	KERNFS_STATIC_NAME	= 0x0200,
 	KERNFS_SUICIDAL		= 0x0400,
 	KERNFS_SUICIDED		= 0x0800,
+	KERNFS_EMPTY_DIR	= 0x1000,
 };
 
 /* @flags for kernfs_create_root() */
@@ -278,6 +279,8 @@ void kernfs_destroy_root(struct kernfs_root *root);
 struct kernfs_node *kernfs_create_dir_ns(struct kernfs_node *parent,
 					 const char *name, umode_t mode,
 					 void *priv, const void *ns);
+struct kernfs_node *kernfs_create_empty_dir(struct kernfs_node *parent,
+					    const char *name);
 struct kernfs_node *__kernfs_create_file(struct kernfs_node *parent,
 					 const char *name,
 					 umode_t mode, loff_t size,
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1184536 — [PATCH 3.16.y-ckt 122/185] drm/radeon: SDMA fix hibernation (CI GPU family).

FromLuis Henriques <luis.henriques@canonical.com>
Date2015-07-15 11:40 +0200
Subject[PATCH 3.16.y-ckt 122/185] drm/radeon: SDMA fix hibernation (CI GPU family).
Message-ID<pMrkx-3up-83@gated-at.bofh.it>
In reply to#1184435
3.16.7-ckt15 -stable review patch.  If anyone has any objections, please let me know.

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

From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= <jglisse@redhat.com>

commit 2ba8d1bb8f6b589037f7db1f01144fc80750e8f7 upstream.

In order for hibernation to reliably work we need to properly turn
off the SDMA block, sadly after numerous attemps i haven't not found
proper sequence for clean and full shutdown. So simply reset both
SDMA block, this makes hibernation works reliably on sea island GPU
family (CI)

Hibernation and suspend to ram were tested (several times) on :
Bonaire
Hawaii
Mullins
Kaveri
Kabini

Signed-off-by: Jérôme Glisse <jglisse@redhat.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 drivers/gpu/drm/radeon/cik_sdma.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/gpu/drm/radeon/cik_sdma.c b/drivers/gpu/drm/radeon/cik_sdma.c
index 4208ae639407..f3e0d00a2666 100644
--- a/drivers/gpu/drm/radeon/cik_sdma.c
+++ b/drivers/gpu/drm/radeon/cik_sdma.c
@@ -266,6 +266,17 @@ static void cik_sdma_gfx_stop(struct radeon_device *rdev)
 	}
 	rdev->ring[R600_RING_TYPE_DMA_INDEX].ready = false;
 	rdev->ring[CAYMAN_RING_TYPE_DMA1_INDEX].ready = false;
+
+	/* FIXME use something else than big hammer but after few days can not
+	 * seem to find good combination so reset SDMA blocks as it seems we
+	 * do not shut them down properly. This fix hibernation and does not
+	 * affect suspend to ram.
+	 */
+	WREG32(SRBM_SOFT_RESET, SOFT_RESET_SDMA | SOFT_RESET_SDMA1);
+	(void)RREG32(SRBM_SOFT_RESET);
+	udelay(50);
+	WREG32(SRBM_SOFT_RESET, 0);
+	(void)RREG32(SRBM_SOFT_RESET);
 }
 
 /**
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1184537 — [PATCH 3.16.y-ckt 139/185] hwmon: (mcp3021) Fix broken output scaling

FromLuis Henriques <luis.henriques@canonical.com>
Date2015-07-15 11:40 +0200
Subject[PATCH 3.16.y-ckt 139/185] hwmon: (mcp3021) Fix broken output scaling
Message-ID<pMrkx-3up-85@gated-at.bofh.it>
In reply to#1184435
3.16.7-ckt15 -stable review patch.  If anyone has any objections, please let me know.

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

From: "Stevens, Nick" <Nick.Stevens@digi.com>

commit 347d7e45bd09ce09cbc30d5cea9de377eb22f55c upstream.

The mcp3021 scaling code is dividing the VDD (full-scale) value in
millivolts by the A2D resolution to obtain the scaling factor. When VDD
is 3300mV (the standard value) and the resolution is 12-bit (4096
divisions), the result is a scale factor of 3300/4096, which is always
one.  Effectively, the raw A2D reading is always being returned because
no scaling is applied.

This patch fixes the issue and simplifies the register-to-volts
calculation, removing the unneeded "output_scale" struct member.

Signed-off-by: Nick Stevens <Nick.Stevens@digi.com>
[Guenter Roeck: Dropped unnecessary value check]
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 drivers/hwmon/mcp3021.c | 14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)

diff --git a/drivers/hwmon/mcp3021.c b/drivers/hwmon/mcp3021.c
index d219c06a857b..972444a14cca 100644
--- a/drivers/hwmon/mcp3021.c
+++ b/drivers/hwmon/mcp3021.c
@@ -31,14 +31,11 @@
 /* output format */
 #define MCP3021_SAR_SHIFT	2
 #define MCP3021_SAR_MASK	0x3ff
-
 #define MCP3021_OUTPUT_RES	10	/* 10-bit resolution */
-#define MCP3021_OUTPUT_SCALE	4
 
 #define MCP3221_SAR_SHIFT	0
 #define MCP3221_SAR_MASK	0xfff
 #define MCP3221_OUTPUT_RES	12	/* 12-bit resolution */
-#define MCP3221_OUTPUT_SCALE	1
 
 enum chips {
 	mcp3021,
@@ -54,7 +51,6 @@ struct mcp3021_data {
 	u16 sar_shift;
 	u16 sar_mask;
 	u8 output_res;
-	u8 output_scale;
 };
 
 static int mcp3021_read16(struct i2c_client *client)
@@ -84,13 +80,7 @@ static int mcp3021_read16(struct i2c_client *client)
 
 static inline u16 volts_from_reg(struct mcp3021_data *data, u16 val)
 {
-	if (val == 0)
-		return 0;
-
-	val = val * data->output_scale - data->output_scale / 2;
-
-	return val * DIV_ROUND_CLOSEST(data->vdd,
-			(1 << data->output_res) * data->output_scale);
+	return DIV_ROUND_CLOSEST(data->vdd * val, 1 << data->output_res);
 }
 
 static ssize_t show_in_input(struct device *dev, struct device_attribute *attr,
@@ -132,14 +122,12 @@ static int mcp3021_probe(struct i2c_client *client,
 		data->sar_shift = MCP3021_SAR_SHIFT;
 		data->sar_mask = MCP3021_SAR_MASK;
 		data->output_res = MCP3021_OUTPUT_RES;
-		data->output_scale = MCP3021_OUTPUT_SCALE;
 		break;
 
 	case mcp3221:
 		data->sar_shift = MCP3221_SAR_SHIFT;
 		data->sar_mask = MCP3221_SAR_MASK;
 		data->output_res = MCP3221_OUTPUT_RES;
-		data->output_scale = MCP3221_OUTPUT_SCALE;
 		break;
 	}
 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1184538 — [PATCH 3.16.y-ckt 147/185] clk: Fix JSON output in debugfs

FromLuis Henriques <luis.henriques@canonical.com>
Date2015-07-15 11:40 +0200
Subject[PATCH 3.16.y-ckt 147/185] clk: Fix JSON output in debugfs
Message-ID<pMrkx-3up-87@gated-at.bofh.it>
In reply to#1184435
3.16.7-ckt15 -stable review patch.  If anyone has any objections, please let me know.

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

From: Stefan Wahren <stefan.wahren@i2se.com>

commit 7cb81136d2efe0f5ed9d965857f4756a15e6c338 upstream.

key/value pairs in a JSON object must be separated by a comma.
After adding the properties "accuracy" and "phase" the JSON output
of /sys/kernel/debug/clk/clk_dump is invalid.

So add the missing commas to fix it.

Fixes: 5279fc402ae5 ("clk: add clk accuracy retrieval support")
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
[sboyd@codeaurora.org: Added comment in function]
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
[ luis: backported to 3.16: adjusted context ]
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 drivers/clk/clk.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index 1dee8d2086fb..604f79f867d1 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -165,11 +165,12 @@ static void clk_dump_one(struct seq_file *s, struct clk *c, int level)
 	if (!c)
 		return;
 
+	/* This should be JSON format, i.e. elements separated with a comma */
 	seq_printf(s, "\"%s\": { ", c->name);
 	seq_printf(s, "\"enable_count\": %d,", c->enable_count);
 	seq_printf(s, "\"prepare_count\": %d,", c->prepare_count);
-	seq_printf(s, "\"rate\": %lu", clk_get_rate(c));
-	seq_printf(s, "\"accuracy\": %lu", clk_get_accuracy(c));
+	seq_printf(s, "\"rate\": %lu,", clk_get_rate(c));
+	seq_printf(s, "\"accuracy\": %lu,", clk_get_accuracy(c));
 }
 
 static void clk_dump_subtree(struct seq_file *s, struct clk *c, int level)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1184539 — [PATCH 3.16.y-ckt 125/185] net: mvneta: disable IP checksum with jumbo frames for Armada 370

FromLuis Henriques <luis.henriques@canonical.com>
Date2015-07-15 11:40 +0200
Subject[PATCH 3.16.y-ckt 125/185] net: mvneta: disable IP checksum with jumbo frames for Armada 370
Message-ID<pMrkx-3up-89@gated-at.bofh.it>
In reply to#1184435
3.16.7-ckt15 -stable review patch.  If anyone has any objections, please let me know.

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

From: Simon Guinot <simon.guinot@sequanux.org>

commit b65657fc240ae6c1d2a1e62db9a0e61ac9631d7a upstream.

The Ethernet controller found in the Armada 370, 380 and 385 SoCs don't
support TCP/IP checksumming with frame sizes larger than 1600 bytes.

This patch fixes the issue by disabling the features NETIF_F_IP_CSUM and
NETIF_F_TSO for the Armada 370 and compatibles SoCs when the MTU is set
to a value greater than 1600 bytes.

Signed-off-by: Simon Guinot <simon.guinot@sequanux.org>
Fixes: c5aff18204da ("net: mvneta: driver for Marvell Armada 370/XP network unit")
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
[ luis: backported to 3.16: adjusted context ]
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 drivers/net/ethernet/marvell/mvneta.c | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c
index 4456171c885d..807fbdc4b21b 100644
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -303,6 +303,7 @@ struct mvneta_port {
 	unsigned int link;
 	unsigned int duplex;
 	unsigned int speed;
+	unsigned int tx_csum_limit;
 };
 
 /* The mvneta_tx_desc and mvneta_rx_desc structures describe the
@@ -2439,8 +2440,10 @@ static int mvneta_change_mtu(struct net_device *dev, int mtu)
 
 	dev->mtu = mtu;
 
-	if (!netif_running(dev))
+	if (!netif_running(dev)) {
+		netdev_update_features(dev);
 		return 0;
+	}
 
 	/* The interface is running, so we have to force a
 	 * reallocation of the queues
@@ -2469,9 +2472,26 @@ static int mvneta_change_mtu(struct net_device *dev, int mtu)
 	mvneta_start_dev(pp);
 	mvneta_port_up(pp);
 
+	netdev_update_features(dev);
+
 	return 0;
 }
 
+static netdev_features_t mvneta_fix_features(struct net_device *dev,
+					     netdev_features_t features)
+{
+	struct mvneta_port *pp = netdev_priv(dev);
+
+	if (pp->tx_csum_limit && dev->mtu > pp->tx_csum_limit) {
+		features &= ~(NETIF_F_IP_CSUM | NETIF_F_TSO);
+		netdev_info(dev,
+			    "Disable IP checksum for MTU greater than %dB\n",
+			    pp->tx_csum_limit);
+	}
+
+	return features;
+}
+
 /* Get mac address */
 static void mvneta_get_mac_addr(struct mvneta_port *pp, unsigned char *addr)
 {
@@ -2789,6 +2809,7 @@ static const struct net_device_ops mvneta_netdev_ops = {
 	.ndo_set_rx_mode     = mvneta_set_rx_mode,
 	.ndo_set_mac_address = mvneta_set_mac_addr,
 	.ndo_change_mtu      = mvneta_change_mtu,
+	.ndo_fix_features    = mvneta_fix_features,
 	.ndo_get_stats64     = mvneta_get_stats64,
 	.ndo_do_ioctl        = mvneta_ioctl,
 };
@@ -3027,6 +3048,9 @@ static int mvneta_probe(struct platform_device *pdev)
 		}
 	}
 
+	if (of_device_is_compatible(dn, "marvell,armada-370-neta"))
+		pp->tx_csum_limit = 1600;
+
 	pp->tx_ring_size = MVNETA_MAX_TXD;
 	pp->rx_ring_size = MVNETA_MAX_RXD;
 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1184540 — [PATCH 3.16.y-ckt 136/185] sysfs: Add support for permanently empty directories to serve as mount points.

FromLuis Henriques <luis.henriques@canonical.com>
Date2015-07-15 11:40 +0200
Subject[PATCH 3.16.y-ckt 136/185] sysfs: Add support for permanently empty directories to serve as mount points.
Message-ID<pMrkx-3up-91@gated-at.bofh.it>
In reply to#1184435
3.16.7-ckt15 -stable review patch.  If anyone has any objections, please let me know.

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

From: "Eric W. Biederman" <ebiederm@xmission.com>

commit 87d2846fcf88113fae2341da1ca9a71f0d916f2c upstream.

Add two functions sysfs_create_mount_point and
sysfs_remove_mount_point that hang a permanently empty directory off
of a kobject or remove a permanently emptpy directory hanging from a
kobject.  Export these new functions so modular filesystems can use
them.

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 fs/sysfs/dir.c        | 34 ++++++++++++++++++++++++++++++++++
 include/linux/sysfs.h | 15 +++++++++++++++
 2 files changed, 49 insertions(+)

diff --git a/fs/sysfs/dir.c b/fs/sysfs/dir.c
index 0b45ff42f374..94374e435025 100644
--- a/fs/sysfs/dir.c
+++ b/fs/sysfs/dir.c
@@ -121,3 +121,37 @@ int sysfs_move_dir_ns(struct kobject *kobj, struct kobject *new_parent_kobj,
 
 	return kernfs_rename_ns(kn, new_parent, kn->name, new_ns);
 }
+
+/**
+ * sysfs_create_mount_point - create an always empty directory
+ * @parent_kobj:  kobject that will contain this always empty directory
+ * @name: The name of the always empty directory to add
+ */
+int sysfs_create_mount_point(struct kobject *parent_kobj, const char *name)
+{
+	struct kernfs_node *kn, *parent = parent_kobj->sd;
+
+	kn = kernfs_create_empty_dir(parent, name);
+	if (IS_ERR(kn)) {
+		if (PTR_ERR(kn) == -EEXIST)
+			sysfs_warn_dup(parent, name);
+		return PTR_ERR(kn);
+	}
+
+	return 0;
+}
+EXPORT_SYMBOL_GPL(sysfs_create_mount_point);
+
+/**
+ *	sysfs_remove_mount_point - remove an always empty directory.
+ *	@parent_kobj: kobject that will contain this always empty directory
+ *	@name: The name of the always empty directory to remove
+ *
+ */
+void sysfs_remove_mount_point(struct kobject *parent_kobj, const char *name)
+{
+	struct kernfs_node *parent = parent_kobj->sd;
+
+	kernfs_remove_by_name_ns(parent, name, NULL);
+}
+EXPORT_SYMBOL_GPL(sysfs_remove_mount_point);
diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h
index f97d0dbb59fa..8ce4e648efc1 100644
--- a/include/linux/sysfs.h
+++ b/include/linux/sysfs.h
@@ -186,6 +186,10 @@ int __must_check sysfs_rename_dir_ns(struct kobject *kobj, const char *new_name,
 int __must_check sysfs_move_dir_ns(struct kobject *kobj,
 				   struct kobject *new_parent_kobj,
 				   const void *new_ns);
+int __must_check sysfs_create_mount_point(struct kobject *parent_kobj,
+					  const char *name);
+void sysfs_remove_mount_point(struct kobject *parent_kobj,
+			      const char *name);
 
 int __must_check sysfs_create_file_ns(struct kobject *kobj,
 				      const struct attribute *attr,
@@ -274,6 +278,17 @@ static inline int sysfs_move_dir_ns(struct kobject *kobj,
 	return 0;
 }
 
+static inline int sysfs_create_mount_point(struct kobject *parent_kobj,
+					   const char *name)
+{
+	return 0;
+}
+
+static inline void sysfs_remove_mount_point(struct kobject *parent_kobj,
+					    const char *name)
+{
+}
+
 static inline int sysfs_create_file_ns(struct kobject *kobj,
 				       const struct attribute *attr,
 				       const void *ns)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1184541 — [PATCH 3.16.y-ckt 131/185] VFS: Introduce inode-getting helpers for layered/unioned fs environments

FromLuis Henriques <luis.henriques@canonical.com>
Date2015-07-15 11:40 +0200
Subject[PATCH 3.16.y-ckt 131/185] VFS: Introduce inode-getting helpers for layered/unioned fs environments
Message-ID<pMrkx-3up-93@gated-at.bofh.it>
In reply to#1184435
3.16.7-ckt15 -stable review patch.  If anyone has any objections, please let me know.

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

From: David Howells <dhowells@redhat.com>

commit 155e35d4daa804582f75acaa2c74ec797a89c615 upstream.

Introduce some function for getting the inode (and also the dentry) in an
environment where layered/unioned filesystems are in operation.

The problem is that we have places where we need *both* the union dentry and
the lower source or workspace inode or dentry available, but we can only have
a handle on one of them.  Therefore we need to derive the handle to the other
from that.

The idea is to introduce an extra field in struct dentry that allows the union
dentry to refer to and pin the lower dentry.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
[ luis: 3.16 prereq for:
  fbabfd0f4ee2 "fs: Add helper functions for permanently empty directories." ]
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 include/linux/dcache.h | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

diff --git a/include/linux/dcache.h b/include/linux/dcache.h
index 6cddc8708a95..3597f13088a8 100644
--- a/include/linux/dcache.h
+++ b/include/linux/dcache.h
@@ -473,4 +473,61 @@ static inline unsigned long vfs_pressure_ratio(unsigned long val)
 {
 	return mult_frac(val, sysctl_vfs_cache_pressure, 100);
 }
+
+/**
+ * d_inode - Get the actual inode of this dentry
+ * @dentry: The dentry to query
+ *
+ * This is the helper normal filesystems should use to get at their own inodes
+ * in their own dentries and ignore the layering superimposed upon them.
+ */
+static inline struct inode *d_inode(const struct dentry *dentry)
+{
+	return dentry->d_inode;
+}
+
+/**
+ * d_inode_rcu - Get the actual inode of this dentry with ACCESS_ONCE()
+ * @dentry: The dentry to query
+ *
+ * This is the helper normal filesystems should use to get at their own inodes
+ * in their own dentries and ignore the layering superimposed upon them.
+ */
+static inline struct inode *d_inode_rcu(const struct dentry *dentry)
+{
+	return ACCESS_ONCE(dentry->d_inode);
+}
+
+/**
+ * d_backing_inode - Get upper or lower inode we should be using
+ * @upper: The upper layer
+ *
+ * This is the helper that should be used to get at the inode that will be used
+ * if this dentry were to be opened as a file.  The inode may be on the upper
+ * dentry or it may be on a lower dentry pinned by the upper.
+ *
+ * Normal filesystems should not use this to access their own inodes.
+ */
+static inline struct inode *d_backing_inode(const struct dentry *upper)
+{
+	struct inode *inode = upper->d_inode;
+
+	return inode;
+}
+
+/**
+ * d_backing_dentry - Get upper or lower dentry we should be using
+ * @upper: The upper layer
+ *
+ * This is the helper that should be used to get the dentry of the inode that
+ * will be used if this dentry were opened as a file.  It may be the upper
+ * dentry or it may be a lower dentry pinned by the upper.
+ *
+ * Normal filesystems should not use this to access their own dentries.
+ */
+static inline struct dentry *d_backing_dentry(struct dentry *upper)
+{
+	return upper;
+}
+
 #endif	/* __LINUX_DCACHE_H */
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1184542 — [PATCH 3.16.y-ckt 095/185] arm64: vdso: work-around broken ELF toolchains in Makefile

FromLuis Henriques <luis.henriques@canonical.com>
Date2015-07-15 11:50 +0200
Subject[PATCH 3.16.y-ckt 095/185] arm64: vdso: work-around broken ELF toolchains in Makefile
Message-ID<pMru9-3G9-1@gated-at.bofh.it>
In reply to#1184435
3.16.7-ckt15 -stable review patch.  If anyone has any objections, please let me know.

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

From: Will Deacon <will.deacon@arm.com>

commit 6f1a6ae87c0c60d7c462ef8fd071f291aa7a9abb upstream.

When building the kernel with a bare-metal (ELF) toolchain, the -shared
option may not be passed down to collect2, resulting in silent corruption
of the vDSO image (in particular, the DYNAMIC section is omitted).

The effect of this corruption is that the dynamic linker fails to find
the vDSO symbols and libc is instead used for the syscalls that we
intended to optimise (e.g. gettimeofday). Functionally, there is no
issue as the sigreturn trampoline is still intact and located by the
kernel.

This patch fixes the problem by explicitly passing -shared to the linker
when building the vDSO.

Reported-by: Szabolcs Nagy <Szabolcs.Nagy@arm.com>
Reported-by: James Greenlaigh <james.greenhalgh@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 arch/arm64/kernel/vdso/Makefile | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm64/kernel/vdso/Makefile b/arch/arm64/kernel/vdso/Makefile
index a268a9af0c2d..a622dd0be9c4 100644
--- a/arch/arm64/kernel/vdso/Makefile
+++ b/arch/arm64/kernel/vdso/Makefile
@@ -15,6 +15,10 @@ ccflags-y := -shared -fno-common -fno-builtin
 ccflags-y += -nostdlib -Wl,-soname=linux-vdso.so.1 \
 		$(call cc-ldoption, -Wl$(comma)--hash-style=sysv)
 
+# Workaround for bare-metal (ELF) toolchains that neglect to pass -shared
+# down to collect2, resulting in silent corruption of the vDSO image.
+ccflags-y += -Wl,-shared
+
 obj-y += vdso.o
 extra-y += vdso.lds vdso-offsets.h
 CPPFLAGS_vdso.lds += -P -C -U$(ARCH)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1184544 — [PATCH 3.16.y-ckt 117/185] ALSA: hda - Add headset support to Acer Aspire V5

FromLuis Henriques <luis.henriques@canonical.com>
Date2015-07-15 11:50 +0200
Subject[PATCH 3.16.y-ckt 117/185] ALSA: hda - Add headset support to Acer Aspire V5
Message-ID<pMrua-3G9-5@gated-at.bofh.it>
In reply to#1184435
3.16.7-ckt15 -stable review patch.  If anyone has any objections, please let me know.

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

From: Takashi Iwai <tiwai@suse.de>

commit 7819717b11346b8a5420b223b46600e394049c66 upstream.

Acer Aspire V5 with ALC282 codec needs the similar quirk like Dell
laptops to support the headset mic.  The headset mic pin is 0x19 and
it's not exposed by BIOS, thus we need to fix the pincfg as well.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=96201
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 sound/pci/hda/patch_realtek.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 1115e8aed237..1aa3bb74fe06 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -4287,6 +4287,7 @@ enum {
 	ALC269_FIXUP_DELL3_MIC_NO_PRESENCE,
 	ALC269_FIXUP_HEADSET_MODE,
 	ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC,
+	ALC269_FIXUP_ASPIRE_HEADSET_MIC,
 	ALC269_FIXUP_ASUS_X101_FUNC,
 	ALC269_FIXUP_ASUS_X101_VERB,
 	ALC269_FIXUP_ASUS_X101,
@@ -4539,6 +4540,15 @@ static const struct hda_fixup alc269_fixups[] = {
 		.type = HDA_FIXUP_FUNC,
 		.v.func = alc_fixup_headset_mode_no_hp_mic,
 	},
+	[ALC269_FIXUP_ASPIRE_HEADSET_MIC] = {
+		.type = HDA_FIXUP_PINS,
+		.v.pins = (const struct hda_pintbl[]) {
+			{ 0x19, 0x01a1913c }, /* headset mic w/o jack detect */
+			{ }
+		},
+		.chained = true,
+		.chain_id = ALC269_FIXUP_HEADSET_MODE,
+	},
 	[ALC286_FIXUP_SONY_MIC_NO_PRESENCE] = {
 		.type = HDA_FIXUP_PINS,
 		.v.pins = (const struct hda_pintbl[]) {
@@ -4761,6 +4771,8 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x1025, 0x029b, "Acer 1810TZ", ALC269_FIXUP_INV_DMIC),
 	SND_PCI_QUIRK(0x1025, 0x0349, "Acer AOD260", ALC269_FIXUP_INV_DMIC),
 	SND_PCI_QUIRK(0x1025, 0x047c, "Acer AC700", ALC269_FIXUP_ACER_AC700),
+	SND_PCI_QUIRK(0x1025, 0x072d, "Acer Aspire V5-571G", ALC269_FIXUP_ASPIRE_HEADSET_MIC),
+	SND_PCI_QUIRK(0x1025, 0x080d, "Acer Aspire V5-122P", ALC269_FIXUP_ASPIRE_HEADSET_MIC),
 	SND_PCI_QUIRK(0x1025, 0x0740, "Acer AO725", ALC271_FIXUP_HP_GATE_MIC_JACK),
 	SND_PCI_QUIRK(0x1025, 0x0742, "Acer AO756", ALC271_FIXUP_HP_GATE_MIC_JACK),
 	SND_PCI_QUIRK_VENDOR(0x1025, "Acer Aspire", ALC271_FIXUP_DMIC),
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1184545 — [PATCH 3.16.y-ckt 121/185] drm/radeon: compute ring fix hibernation (CI GPU family) v2.

FromLuis Henriques <luis.henriques@canonical.com>
Date2015-07-15 11:50 +0200
Subject[PATCH 3.16.y-ckt 121/185] drm/radeon: compute ring fix hibernation (CI GPU family) v2.
Message-ID<pMrua-3G9-9@gated-at.bofh.it>
In reply to#1184435
3.16.7-ckt15 -stable review patch.  If anyone has any objections, please let me know.

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

From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= <jglisse@redhat.com>

commit 161569deaa03cf3c00ed63352006193f250b0648 upstream.

In order for hibernation to reliably work we need to cleanup more
thoroughly the compute ring. Hibernation is different from suspend
resume as when we resume from hibernation the hardware is first
fully initialize by regular kernel then freeze callback happens
(which correspond to a suspend inside the radeon kernel driver)
and turn off each of the block. It turns out we were not cleanly
shutting down the compute ring. This patch fix that.

Hibernation and suspend to ram were tested (several times) on :
Bonaire
Hawaii
Mullins
Kaveri
Kabini

Changed since v1:
  - Factor the ring stop logic into a function taking ring as arg.

Signed-off-by: Jérôme Glisse <jglisse@redhat.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 drivers/gpu/drm/radeon/cik.c | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
index 0cf54a4b83bd..6bdaa9500f78 100644
--- a/drivers/gpu/drm/radeon/cik.c
+++ b/drivers/gpu/drm/radeon/cik.c
@@ -4245,6 +4245,31 @@ void cik_compute_set_wptr(struct radeon_device *rdev,
 	WDOORBELL32(ring->doorbell_index, ring->wptr);
 }
 
+static void cik_compute_stop(struct radeon_device *rdev,
+			     struct radeon_ring *ring)
+{
+	u32 j, tmp;
+
+	cik_srbm_select(rdev, ring->me, ring->pipe, ring->queue, 0);
+	/* Disable wptr polling. */
+	tmp = RREG32(CP_PQ_WPTR_POLL_CNTL);
+	tmp &= ~WPTR_POLL_EN;
+	WREG32(CP_PQ_WPTR_POLL_CNTL, tmp);
+	/* Disable HQD. */
+	if (RREG32(CP_HQD_ACTIVE) & 1) {
+		WREG32(CP_HQD_DEQUEUE_REQUEST, 1);
+		for (j = 0; j < rdev->usec_timeout; j++) {
+			if (!(RREG32(CP_HQD_ACTIVE) & 1))
+				break;
+			udelay(1);
+		}
+		WREG32(CP_HQD_DEQUEUE_REQUEST, 0);
+		WREG32(CP_HQD_PQ_RPTR, 0);
+		WREG32(CP_HQD_PQ_WPTR, 0);
+	}
+	cik_srbm_select(rdev, 0, 0, 0, 0);
+}
+
 /**
  * cik_cp_compute_enable - enable/disable the compute CP MEs
  *
@@ -4258,6 +4283,15 @@ static void cik_cp_compute_enable(struct radeon_device *rdev, bool enable)
 	if (enable)
 		WREG32(CP_MEC_CNTL, 0);
 	else {
+		/*
+		 * To make hibernation reliable we need to clear compute ring
+		 * configuration before halting the compute ring.
+		 */
+		mutex_lock(&rdev->srbm_mutex);
+		cik_compute_stop(rdev,&rdev->ring[CAYMAN_RING_TYPE_CP1_INDEX]);
+		cik_compute_stop(rdev,&rdev->ring[CAYMAN_RING_TYPE_CP2_INDEX]);
+		mutex_unlock(&rdev->srbm_mutex);
+
 		WREG32(CP_MEC_CNTL, (MEC_ME1_HALT | MEC_ME2_HALT));
 		rdev->ring[CAYMAN_RING_TYPE_CP1_INDEX].ready = false;
 		rdev->ring[CAYMAN_RING_TYPE_CP2_INDEX].ready = false;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


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

Back to top | Article view | linux.kernel


csiph-web