From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org,
Alex Williamson <alex.williamson@redhat.com>
Subject: [PATCH 3.17 090/146] vfio-pci: Fix remove path locking
Date: Tue, 28 Oct 2014 11:33:52 +0800 [thread overview]
Message-ID: <20141028033347.293906687@linuxfoundation.org> (raw)
In-Reply-To: <20141028033343.441992423@linuxfoundation.org>
3.17-stable review patch. If anyone has any objections, please let me know.
------------------
From: Alex Williamson <alex.williamson@redhat.com>
commit 93899a679fd6b2534b5c297d9316bae039ebcbe1 upstream.
Locking both the remove() and release() path results in a deadlock
that should have been obvious. To fix this we can get and hold the
vfio_device reference as we evaluate whether to do a bus/slot reset.
This will automatically block any remove() calls, allowing us to
remove the explict lock. Fixes 61d792562b53.
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/vfio/pci/vfio_pci.c | 138 ++++++++++++++++++--------------------------
1 file changed, 58 insertions(+), 80 deletions(-)
--- a/drivers/vfio/pci/vfio_pci.c
+++ b/drivers/vfio/pci/vfio_pci.c
@@ -876,15 +876,11 @@ static void vfio_pci_remove(struct pci_d
{
struct vfio_pci_device *vdev;
- mutex_lock(&driver_lock);
-
vdev = vfio_del_group_dev(&pdev->dev);
if (vdev) {
iommu_group_put(pdev->dev.iommu_group);
kfree(vdev);
}
-
- mutex_unlock(&driver_lock);
}
static pci_ers_result_t vfio_pci_aer_err_detected(struct pci_dev *pdev,
@@ -927,108 +923,90 @@ static struct pci_driver vfio_pci_driver
.err_handler = &vfio_err_handlers,
};
-/*
- * Test whether a reset is necessary and possible. We mark devices as
- * needs_reset when they are released, but don't have a function-local reset
- * available. If any of these exist in the affected devices, we want to do
- * a bus/slot reset. We also need all of the affected devices to be unused,
- * so we abort if any device has a non-zero refcnt. driver_lock prevents a
- * device from being opened during the scan or unbound from vfio-pci.
- */
-static int vfio_pci_test_bus_reset(struct pci_dev *pdev, void *data)
-{
- bool *needs_reset = data;
- struct pci_driver *pci_drv = ACCESS_ONCE(pdev->driver);
- int ret = -EBUSY;
-
- if (pci_drv == &vfio_pci_driver) {
- struct vfio_device *device;
- struct vfio_pci_device *vdev;
-
- device = vfio_device_get_from_dev(&pdev->dev);
- if (!device)
- return ret;
-
- vdev = vfio_device_data(device);
- if (vdev) {
- if (vdev->needs_reset)
- *needs_reset = true;
-
- if (!vdev->refcnt)
- ret = 0;
- }
-
- vfio_device_put(device);
- }
-
- /*
- * TODO: vfio-core considers groups to be viable even if some devices
- * are attached to known drivers, like pci-stub or pcieport. We can't
- * freeze devices from being unbound to those drivers like we can
- * here though, so it would be racy to test for them. We also can't
- * use device_lock() to prevent changes as that would interfere with
- * PCI-core taking device_lock during bus reset. For now, we require
- * devices to be bound to vfio-pci to get a bus/slot reset on release.
- */
-
- return ret;
-}
+struct vfio_devices {
+ struct vfio_device **devices;
+ int cur_index;
+ int max_index;
+};
-/* Clear needs_reset on all affected devices after successful bus/slot reset */
-static int vfio_pci_clear_needs_reset(struct pci_dev *pdev, void *data)
+static int vfio_pci_get_devs(struct pci_dev *pdev, void *data)
{
+ struct vfio_devices *devs = data;
struct pci_driver *pci_drv = ACCESS_ONCE(pdev->driver);
- if (pci_drv == &vfio_pci_driver) {
- struct vfio_device *device;
- struct vfio_pci_device *vdev;
-
- device = vfio_device_get_from_dev(&pdev->dev);
- if (!device)
- return 0;
-
- vdev = vfio_device_data(device);
- if (vdev)
- vdev->needs_reset = false;
+ if (pci_drv != &vfio_pci_driver)
+ return -EBUSY;
- vfio_device_put(device);
- }
+ if (devs->cur_index == devs->max_index)
+ return -ENOSPC;
+ devs->devices[devs->cur_index] = vfio_device_get_from_dev(&pdev->dev);
+ if (!devs->devices[devs->cur_index])
+ return -EINVAL;
+
+ devs->cur_index++;
return 0;
}
/*
* Attempt to do a bus/slot reset if there are devices affected by a reset for
* this device that are needs_reset and all of the affected devices are unused
- * (!refcnt). Callers of this function are required to hold driver_lock such
- * that devices can not be unbound from vfio-pci or opened by a user while we
- * test for and perform a bus/slot reset.
+ * (!refcnt). Callers are required to hold driver_lock when calling this to
+ * prevent device opens and concurrent bus reset attempts. We prevent device
+ * unbinds by acquiring and holding a reference to the vfio_device.
+ *
+ * NB: vfio-core considers a group to be viable even if some devices are
+ * bound to drivers like pci-stub or pcieport. Here we require all devices
+ * to be bound to vfio_pci since that's the only way we can be sure they
+ * stay put.
*/
static void vfio_pci_try_bus_reset(struct vfio_pci_device *vdev)
{
+ struct vfio_devices devs = { .cur_index = 0 };
+ int i = 0, ret = -EINVAL;
bool needs_reset = false, slot = false;
- int ret;
+ struct vfio_pci_device *tmp;
if (!pci_probe_reset_slot(vdev->pdev->slot))
slot = true;
else if (pci_probe_reset_bus(vdev->pdev->bus))
return;
- if (vfio_pci_for_each_slot_or_bus(vdev->pdev,
- vfio_pci_test_bus_reset,
- &needs_reset, slot) || !needs_reset)
+ if (vfio_pci_for_each_slot_or_bus(vdev->pdev, vfio_pci_count_devs,
+ &i, slot) || !i)
return;
- if (slot)
- ret = pci_try_reset_slot(vdev->pdev->slot);
- else
- ret = pci_try_reset_bus(vdev->pdev->bus);
-
- if (ret)
+ devs.max_index = i;
+ devs.devices = kcalloc(i, sizeof(struct vfio_device *), GFP_KERNEL);
+ if (!devs.devices)
return;
- vfio_pci_for_each_slot_or_bus(vdev->pdev,
- vfio_pci_clear_needs_reset, NULL, slot);
+ if (vfio_pci_for_each_slot_or_bus(vdev->pdev,
+ vfio_pci_get_devs, &devs, slot))
+ goto put_devs;
+
+ for (i = 0; i < devs.cur_index; i++) {
+ tmp = vfio_device_data(devs.devices[i]);
+ if (tmp->needs_reset)
+ needs_reset = true;
+ if (tmp->refcnt)
+ goto put_devs;
+ }
+
+ if (needs_reset)
+ ret = slot ? pci_try_reset_slot(vdev->pdev->slot) :
+ pci_try_reset_bus(vdev->pdev->bus);
+
+put_devs:
+ for (i = 0; i < devs.cur_index; i++) {
+ if (!ret) {
+ tmp = vfio_device_data(devs.devices[i]);
+ tmp->needs_reset = false;
+ }
+ vfio_device_put(devs.devices[i]);
+ }
+
+ kfree(devs.devices);
}
static void __exit vfio_pci_cleanup(void)
next prev parent reply other threads:[~2014-10-28 3:33 UTC|newest]
Thread overview: 147+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-28 3:32 [PATCH 3.17 000/146] 3.17.2-stable review Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 001/146] btrfs: wake up transaction thread from SYNC_FS ioctl Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 002/146] btrfs: dont go readonly on existing qgroup items Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 003/146] btrfs: Fix a deadlock in btrfs_dev_replace_finishing() Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 004/146] Btrfs: add missing compression property remove in btrfs_ioctl_setflags Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 006/146] btrfs: Fix and enhance merge_extent_mapping() to insert best fitted extent map Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 007/146] Btrfs: dont do async reclaim during log replay Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 008/146] Btrfs: try not to ENOSPC on " Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 009/146] Btrfs: cleanup error handling in build_backref_tree Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 010/146] Btrfs: fix build_backref_tree issue with multiple shared blocks Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 011/146] btrfs: Fix the wrong condition judgment about subset extent map Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 012/146] Btrfs: fix race in WAIT_SYNC ioctl Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 013/146] Revert "Btrfs: race free update of commit root for ro snapshots" Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 014/146] fs: Add a missing permission check to do_umount Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 015/146] pci_ids: Add support for Intel Quark ILB Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 016/146] kvm: x86: fix stale mmio cache bug Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 017/146] kvm: fix potentially corrupt mmio cache Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 018/146] KVM: do not bias the generation number in kvm_current_mmio_generation Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 019/146] KVM: s390: unintended fallthrough for external call Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 020/146] kvm: dont take vcpu mutex for obviously invalid vcpu ioctls Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 021/146] x86,kvm,vmx: Preserve CR4 across VM entry Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 022/146] x86/intel/quark: Switch off CR4.PGE so TLB flush uses CR3 instead Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 023/146] spi: dw-mid: respect 8 bit mode Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 024/146] spi/rockchip: fix bug that cause the failure to read data in DMA mode Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 025/146] spi: dw-mid: check that DMA was inited before exit Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 026/146] HID: wacom - remove report_id from wacom_get_report interface Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 027/146] HID: wacom: fix timeout on probe for some wacoms Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 028/146] HID: rmi: check sanity of the incoming report Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 029/146] mpc85xx_edac: Make L2 interrupt shared too Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 030/146] regmap: debugfs: fix possbile NULL pointer dereference Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 031/146] regmap: fix NULL pointer dereference in _regmap_write/read Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 032/146] regmap: fix possible ZERO_SIZE_PTR pointer dereferencing error Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 033/146] be2iscsi: check ip buffer before copying Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 034/146] mptfusion: enable no_write_same for vmware scsi disks Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 035/146] regulator: ltc3589: fix broken voltage transitions Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 036/146] qla2xxx: fix kernel NULL pointer access Greg Kroah-Hartman
2014-10-28 3:32 ` [PATCH 3.17 037/146] qla2xxx: Use correct offset to req-q-out for reserve calculation Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 038/146] qla2xxx: Fix shost use-after-free on device removal Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 039/146] dmaengine: fix xor sources continuation Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 040/146] dmaengine: pl330: Fix NULL pointer dereference on probe failure Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 041/146] dmaengine: pl330: Fix NULL pointer dereference on driver unbind Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 042/146] firmware_class: make sure fw requests contain a name Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 043/146] arm64: debug: dont re-enable debug exceptions on return from el1_dbg Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 044/146] Drivers: hv: util: Properly pack the data for file copy functionality Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 045/146] Drivers: hv: vmbus: Cleanup vmbus_post_msg() Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 046/146] Drivers: hv: vmbus: Cleanup vmbus_teardown_gpadl() Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 047/146] Drivers: hv: vmbus: Cleanup vmbus_close_internal() Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 048/146] Drivers: hv: vmbus: Cleanup vmbus_establish_gpadl() Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 049/146] Drivers: hv: vmbus: Fix a bug in vmbus_open() Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 050/146] Drivers: hv: vmbus: Cleanup hv_post_message() Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 051/146] mei: bus: fix possible boundaries violation Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 052/146] m68k: Disable/restore interrupts in hwreg_present()/hwreg_write() Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 053/146] Fixing lease renewal Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 054/146] Documentation: lzo: document part of the encoding Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 055/146] Revert "lzo: properly check for overruns" Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 056/146] lzo: check for length overrun in variable length encoding Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 057/146] tty: omap-serial: fix division by zero Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 058/146] nfs: fix duplicate proc entries Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 059/146] NFSv4: Fix lock recovery when CREATE_SESSION/SETCLIENTID_CONFIRM fails Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 060/146] NFSv4: fix open/lock state recovery error handling Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 061/146] NFSv4.1: Fix an NFSv4.1 state renewal regression Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 062/146] nfsd4: reserve adequate space for LOCK op Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 063/146] NFS: Fix an uninitialised pointer Oops in the writeback error path Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 064/146] NFS: Fix a bogus warning in nfs_generic_pgio Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 065/146] NFSv4.1/pnfs: replace broken pnfs_put_lseg_async Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 066/146] iwlwifi: mvm: disable BT Co-running by default Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 067/146] iwlwifi: Add missing PCI IDs for the 7260 series Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 068/146] spi: dw-mid: terminate ongoing transfers at exit Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 069/146] arm64: Fix compilation error on UP builds Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 070/146] arm64: compat: fix compat types affecting struct compat_elf_prpsinfo Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 071/146] ALSA: pcm: use the same dma mmap codepath both for arm and arm64 Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 073/146] ALSA: emu10k1: Fix deadlock in synth voice lookup Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 074/146] ALSA: ALC283 codec - Avoid pop noise on headphones during suspend/resume Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 075/146] ALSA: usb-audio: Add support for Steinberg UR22 USB interface Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 076/146] ALSA: hda - hdmi: Fix missing ELD change event on plug/unplug Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 077/146] ALSA: hda - Fix inverted LED gpio setup for Lenovo Ideapad Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 078/146] ALSA: hda - Add missing terminating entry to SND_HDA_PIN_QUIRK macro Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 079/146] clk: qcom: Add IPQ8064 PLL required for USB Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 080/146] ARM: at91/dt: Fix typo regarding can0_clk Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 081/146] ARM: at91: fix at91sam9263ek DT mmc pinmuxing settings Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 082/146] ARM: at91/PMC: dont forget to write PMC_PCDR register to disable clocks Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 083/146] ARM: Kirkwood: Fix DT based DSA Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 084/146] ARM: mvebu: Netgear RN104: Use Hardware BCH ECC Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 085/146] ARM: mvebu: Netgear RN2120: " Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 086/146] ARM: mvebu: Netgear RN102: " Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 087/146] ARM: dts: imx28-evk: Let i2c0 run at 100kHz Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 088/146] ecryptfs: avoid to access NULL pointer when write metadata in xattr Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 089/146] udf: Fix loading of special inodes Greg Kroah-Hartman
2014-10-28 3:33 ` Greg Kroah-Hartman [this message]
2014-10-28 3:33 ` [PATCH 3.17 091/146] xfs: ensure WB_SYNC_ALL writeback handles partial pages correctly Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 092/146] xfs: fix agno increment in xfs_inumbers() loop Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 093/146] PCI: mvebu: Fix uninitialized variable in mvebu_get_tgt_attr() Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 094/146] PCI: Add missing MEM_64 mask in pci_assign_unassigned_bridge_resources() Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 095/146] PCI: Increase IBM ipr SAS Crocodile BARs to at least system page size Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 096/146] PCI: Generate uppercase hex for modalias interface class Greg Kroah-Hartman
2014-10-28 3:33 ` [PATCH 3.17 097/146] rt2800: correct BBP1_TX_POWER_CTRL mask Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 098/146] Revert "ath9k_hw: reduce ANI firstep range for older chips" Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 099/146] Bluetooth: Fix HCI H5 corrupted ack value Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 100/146] Bluetooth: Fix incorrect LE CoC PDU length restriction based on HCI MTU Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 101/146] Bluetooth: Fix issue with USB suspend in btusb driver Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 102/146] Bluetooth: Fix setting correct security level when initiating SMP Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 103/146] Bluetooth: 6lowpan: Increase the connection timeout value Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 104/146] Bluetooth: 6lowpan: Set the peer IPv6 address correctly Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 105/146] Bluetooth: 6lowpan: Route packets that are not meant to peer via correct device Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 106/146] mm: clear __GFP_FS when PF_MEMALLOC_NOIO is set Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 108/146] mm/cma: fix cma bitmap aligned mask computing Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 109/146] kernel: add support for gcc 5 Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 111/146] mm/balloon_compaction: redesign ballooned pages management Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 112/146] futex: Ensure get_futex_key_refs() always implies a barrier Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 113/146] powerpc: Fix warning reported by verify_cpu_node_mapping() Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 114/146] powerpc: Only set numa node information for present cpus at boottime Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 115/146] powerpc/iommu/ddw: Fix endianness Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 116/146] powerpc/eeh: Clear frozen device state in time Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 117/146] ima: fix fallback to use new_sync_read() Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 118/146] ima: provide flag to identify new empty files Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 119/146] ima: pass opened flag to identify newly created files Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 120/146] sparc32: dma_alloc_coherent must honour gfp flags Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 121/146] sparc64: sun4v TLB error power off events Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 122/146] sparc64: Fix corrupted thread fault code Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 123/146] sparc64: find_node adjustment Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 124/146] sparc64: Move request_irq() from ldc_bind() to ldc_alloc() Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 125/146] sparc: Let memset return the address argument Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 126/146] sparc64: Fix reversed start/end in flush_tlb_kernel_range() Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 127/146] sparc64: Fix lockdep warnings on reboot on Ultra-5 Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 128/146] sparc64: Fix FPU register corruption with AES crypto offload Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 129/146] sparc64: Do not define thread fpregs save area as zero-length array Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 130/146] sparc64: Fix hibernation code refrence to PAGE_OFFSET Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 131/146] sparc64: correctly recognise M6 and M7 cpu type Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 132/146] sparc64: support M6 and M7 for building CPU distribution map Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 133/146] sparc64: cpu hardware caps support for sparc M6 and M7 Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 134/146] sparc64: T5 PMU Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 135/146] sparc64: Switch to 4-level page tables Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 136/146] sparc64: Define VA hole at run time, rather than at compile time Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 137/146] sparc64: Adjust KTSB assembler to support larger physical addresses Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 138/146] sparc64: Fix physical memory management regressions with large max_phys_bits Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 139/146] sparc64: Use kernel page tables for vmemmap Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 140/146] sparc64: Increase MAX_PHYS_ADDRESS_BITS to 53 Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 141/146] sparc64: Adjust vmalloc region size based upon available virtual address bits Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 142/146] sparc64: sparse irq Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 143/146] sparc64: Kill unnecessary tables and increase MAX_BANKS Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 144/146] sparc64: Increase size of boot string to 1024 bytes Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 145/146] sparc64: Fix register corruption in top-most kernel stack frame during boot Greg Kroah-Hartman
2014-10-28 3:34 ` [PATCH 3.17 146/146] sparc64: Implement __get_user_pages_fast() Greg Kroah-Hartman
2014-10-28 15:15 ` [PATCH 3.17 000/146] 3.17.2-stable review Guenter Roeck
2014-10-28 23:40 ` Greg Kroah-Hartman
2014-10-28 16:15 ` Shuah Khan
2014-10-28 23:40 ` Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20141028033347.293906687@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=alex.williamson@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).