From: Steven Rostedt <rostedt@goodmis.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>, Dave Airlie <airlied@redhat.com>
Subject: [ 108/136 ] drm/prime: keep a reference from the handle to exported dma-buf (v6)
Date: Fri, 17 May 2013 22:17:45 -0400 [thread overview]
Message-ID: <20130518021659.035809154@goodmis.org> (raw)
In-Reply-To: 20130518021557.139113314@goodmis.org
[-- Attachment #1: 0108-drm-prime-keep-a-reference-from-the-handle-to-export.patch --]
[-- Type: text/plain, Size: 9582 bytes --]
3.6.11.4 stable review patch.
If anyone has any objections, please let me know.
------------------
From: Dave Airlie <airlied@gmail.com>
[ Upstream commit 219b47339ced80ca580bb6ce7d1636166984afa7 ]
Currently we have a problem with this:
1. i915: create gem object
2. i915: export gem object to prime
3. radeon: import gem object
4. close prime fd
5. radeon: unref object
6. i915: unref object
i915 has an imported object reference in its file priv, that isn't
cleaned up properly until fd close. The reference gets added at step 2,
but at step 6 we don't have enough info to clean it up.
The solution is to take a reference on the dma-buf when we export it,
and drop the reference when the gem handle goes away.
So when we export a dma_buf from a gem object, we keep track of it
with the handle, we take a reference to the dma_buf. When we close
the handle (i.e. userspace is finished with the buffer), we drop
the reference to the dma_buf, and it gets collected.
This patch isn't meant to fix any other problem or bikesheds, and it doesn't
fix any races with other scenarios.
v1.1: move export symbol line back up.
v2: okay I had to do a bit more, as the first patch showed a leak
on one of my tests, that I found using the dma-buf debugfs support,
the problem case is exporting a buffer twice with the same handle,
we'd add another export handle for it unnecessarily, however
we now fail if we try to export the same object with a different gem handle,
however I'm not sure if that is a case I want to support, and I've
gotten the code to WARN_ON if we hit something like that.
v2.1: rebase this patch, write better commit msg.
v3: cleanup error handling, track import vs export in linked list,
these two patches were separate previously, but seem to work better
like this.
v4: danvet is correct, this code is no longer useful, since the buffer
better exist, so remove it.
v5: always take a reference to the dma buf object, import or export.
(Imre Deak contributed this originally)
v6: square the circle, remove import vs export tracking now
that there is no difference
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
drivers/gpu/drm/drm_gem.c | 4 +--
drivers/gpu/drm/drm_prime.c | 76 +++++++++++++++++++++++--------------------
include/drm/drmP.h | 5 ++-
3 files changed, 44 insertions(+), 41 deletions(-)
diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
index fbe0842..730b93f 100644
--- a/drivers/gpu/drm/drm_gem.c
+++ b/drivers/gpu/drm/drm_gem.c
@@ -205,11 +205,11 @@ static void
drm_gem_remove_prime_handles(struct drm_gem_object *obj, struct drm_file *filp)
{
if (obj->import_attach) {
- drm_prime_remove_imported_buf_handle(&filp->prime,
+ drm_prime_remove_buf_handle(&filp->prime,
obj->import_attach->dmabuf);
}
if (obj->export_dma_buf) {
- drm_prime_remove_imported_buf_handle(&filp->prime,
+ drm_prime_remove_buf_handle(&filp->prime,
obj->export_dma_buf);
}
}
diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
index f546ff9..6497c53 100644
--- a/drivers/gpu/drm/drm_prime.c
+++ b/drivers/gpu/drm/drm_prime.c
@@ -61,6 +61,7 @@ struct drm_prime_member {
struct dma_buf *dma_buf;
uint32_t handle;
};
+static int drm_prime_add_buf_handle(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf, uint32_t handle);
int drm_gem_prime_handle_to_fd(struct drm_device *dev,
struct drm_file *file_priv, uint32_t handle, uint32_t flags,
@@ -68,7 +69,8 @@ int drm_gem_prime_handle_to_fd(struct drm_device *dev,
{
struct drm_gem_object *obj;
void *buf;
- int ret;
+ int ret = 0;
+ struct dma_buf *dmabuf;
obj = drm_gem_object_lookup(dev, file_priv, handle);
if (!obj)
@@ -77,43 +79,44 @@ int drm_gem_prime_handle_to_fd(struct drm_device *dev,
mutex_lock(&file_priv->prime.lock);
/* re-export the original imported object */
if (obj->import_attach) {
- get_dma_buf(obj->import_attach->dmabuf);
- *prime_fd = dma_buf_fd(obj->import_attach->dmabuf, flags);
- drm_gem_object_unreference_unlocked(obj);
- mutex_unlock(&file_priv->prime.lock);
- return 0;
+ dmabuf = obj->import_attach->dmabuf;
+ goto out_have_obj;
}
if (obj->export_dma_buf) {
- get_dma_buf(obj->export_dma_buf);
- *prime_fd = dma_buf_fd(obj->export_dma_buf, flags);
- drm_gem_object_unreference_unlocked(obj);
- } else {
- buf = dev->driver->gem_prime_export(dev, obj, flags);
- if (IS_ERR(buf)) {
- /* normally the created dma-buf takes ownership of the ref,
- * but if that fails then drop the ref
- */
- drm_gem_object_unreference_unlocked(obj);
- mutex_unlock(&file_priv->prime.lock);
- return PTR_ERR(buf);
- }
- obj->export_dma_buf = buf;
- *prime_fd = dma_buf_fd(buf, flags);
+ dmabuf = obj->export_dma_buf;
+ goto out_have_obj;
}
+
+ buf = dev->driver->gem_prime_export(dev, obj, flags);
+ if (IS_ERR(buf)) {
+ /* normally the created dma-buf takes ownership of the ref,
+ * but if that fails then drop the ref
+ */
+ ret = PTR_ERR(buf);
+ goto out;
+ }
+ obj->export_dma_buf = buf;
+
/* if we've exported this buffer the cheat and add it to the import list
* so we get the correct handle back
*/
- ret = drm_prime_add_imported_buf_handle(&file_priv->prime,
- obj->export_dma_buf, handle);
- if (ret) {
- drm_gem_object_unreference_unlocked(obj);
- mutex_unlock(&file_priv->prime.lock);
- return ret;
- }
+ ret = drm_prime_add_buf_handle(&file_priv->prime,
+ obj->export_dma_buf, handle);
+ if (ret)
+ goto out;
+ *prime_fd = dma_buf_fd(buf, flags);
mutex_unlock(&file_priv->prime.lock);
return 0;
+
+out_have_obj:
+ get_dma_buf(dmabuf);
+ *prime_fd = dma_buf_fd(dmabuf, flags);
+out:
+ drm_gem_object_unreference_unlocked(obj);
+ mutex_unlock(&file_priv->prime.lock);
+ return ret;
}
EXPORT_SYMBOL(drm_gem_prime_handle_to_fd);
@@ -130,7 +133,7 @@ int drm_gem_prime_fd_to_handle(struct drm_device *dev,
mutex_lock(&file_priv->prime.lock);
- ret = drm_prime_lookup_imported_buf_handle(&file_priv->prime,
+ ret = drm_prime_lookup_buf_handle(&file_priv->prime,
dma_buf, handle);
if (!ret) {
ret = 0;
@@ -149,7 +152,7 @@ int drm_gem_prime_fd_to_handle(struct drm_device *dev,
if (ret)
goto out_put;
- ret = drm_prime_add_imported_buf_handle(&file_priv->prime,
+ ret = drm_prime_add_buf_handle(&file_priv->prime,
dma_buf, *handle);
if (ret)
goto fail;
@@ -307,7 +310,7 @@ void drm_prime_destroy_file_private(struct drm_prime_file_private *prime_fpriv)
}
EXPORT_SYMBOL(drm_prime_destroy_file_private);
-int drm_prime_add_imported_buf_handle(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf, uint32_t handle)
+static int drm_prime_add_buf_handle(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf, uint32_t handle)
{
struct drm_prime_member *member;
@@ -315,14 +318,14 @@ int drm_prime_add_imported_buf_handle(struct drm_prime_file_private *prime_fpriv
if (!member)
return -ENOMEM;
+ get_dma_buf(dma_buf);
member->dma_buf = dma_buf;
member->handle = handle;
list_add(&member->entry, &prime_fpriv->head);
return 0;
}
-EXPORT_SYMBOL(drm_prime_add_imported_buf_handle);
-int drm_prime_lookup_imported_buf_handle(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf, uint32_t *handle)
+int drm_prime_lookup_buf_handle(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf, uint32_t *handle)
{
struct drm_prime_member *member;
@@ -334,19 +337,20 @@ int drm_prime_lookup_imported_buf_handle(struct drm_prime_file_private *prime_fp
}
return -ENOENT;
}
-EXPORT_SYMBOL(drm_prime_lookup_imported_buf_handle);
+EXPORT_SYMBOL(drm_prime_lookup_buf_handle);
-void drm_prime_remove_imported_buf_handle(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf)
+void drm_prime_remove_buf_handle(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf)
{
struct drm_prime_member *member, *safe;
mutex_lock(&prime_fpriv->lock);
list_for_each_entry_safe(member, safe, &prime_fpriv->head, entry) {
if (member->dma_buf == dma_buf) {
+ dma_buf_put(dma_buf);
list_del(&member->entry);
kfree(member);
}
}
mutex_unlock(&prime_fpriv->lock);
}
-EXPORT_SYMBOL(drm_prime_remove_imported_buf_handle);
+EXPORT_SYMBOL(drm_prime_remove_buf_handle);
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index d6b67bb..efd9db4 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -1554,9 +1554,8 @@ extern void drm_prime_gem_destroy(struct drm_gem_object *obj, struct sg_table *s
void drm_prime_init_file_private(struct drm_prime_file_private *prime_fpriv);
void drm_prime_destroy_file_private(struct drm_prime_file_private *prime_fpriv);
-int drm_prime_add_imported_buf_handle(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf, uint32_t handle);
-int drm_prime_lookup_imported_buf_handle(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf, uint32_t *handle);
-void drm_prime_remove_imported_buf_handle(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf);
+int drm_prime_lookup_buf_handle(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf, uint32_t *handle);
+void drm_prime_remove_buf_handle(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf);
int drm_prime_add_dma_buf(struct drm_device *dev, struct drm_gem_object *obj);
int drm_prime_lookup_obj(struct drm_device *dev, struct dma_buf *buf,
--
1.7.10.4
next prev parent reply other threads:[~2013-05-18 2:17 UTC|newest]
Thread overview: 150+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-18 2:15 [ 000/136 ] 3.6.11.4-stable review Steven Rostedt
2013-05-18 2:15 ` [ 001/136 ] USB: serial: option: Added support Olivetti Olicard 145 Steven Rostedt
2013-05-18 2:15 ` [ 002/136 ] USB: option: add a D-Link DWM-156 variant Steven Rostedt
2013-05-18 2:16 ` [ 003/136 ] ARM: omap3: cpuidle: enable time keeping Steven Rostedt
2013-05-18 2:16 ` [ 004/136 ] ARM: u300: fix ages old copy/paste bug Steven Rostedt
2013-05-18 2:16 ` [ 005/136 ] ARM: at91: Fix typo in restart code panic message Steven Rostedt
2013-05-18 2:16 ` [ 006/136 ] powerpc: Add isync to copy_and_flush Steven Rostedt
2013-05-18 2:16 ` [ 007/136 ] powerpc/spufs: Initialise inode->i_ino in spufs_new_inode() Steven Rostedt
2013-05-18 2:16 ` [ 008/136 ] iwlwifi: fix freeing uninitialized pointer Steven Rostedt
2013-05-18 2:16 ` [ 009/136 ] iwlwifi: dvm: dont send zeroed LQ cmd Steven Rostedt
2013-05-18 2:16 ` [ 010/136 ] mwifiex: Use pci_release_region() instead of a pci_release_regions() Steven Rostedt
2013-05-18 2:16 ` [ 011/136 ] mwifiex: Call pci_release_region after calling pci_disable_device Steven Rostedt
2013-05-18 2:16 ` [ 012/136 ] usb/misc/appledisplay: Add 24" LED Cinema display Steven Rostedt
2013-05-18 2:16 ` [ 013/136 ] USB: add ftdi_sio USB ID for GDM Boost V1.x Steven Rostedt
2013-05-18 2:16 ` [ 014/136 ] USB: ftdi_sio: correct ST Micro Connect Lite PIDs Steven Rostedt
2013-05-18 2:16 ` [ 015/136 ] USB: ftdi_sio: enable two UART ports on ST Microconnect Lite Steven Rostedt
2013-05-18 2:16 ` [ 016/136 ] usbfs: Always allow ctrl requests with USB_RECIP_ENDPOINT on the ctrl ep Steven Rostedt
2013-05-18 2:16 ` [ 017/136 ] usb: chipidea: udc: fix memory access of shared memory on armv5 machines Steven Rostedt
2013-05-18 2:16 ` [ 018/136 ] usb: chipidea: udc: fix memory leak in _ep_nuke Steven Rostedt
2013-05-18 2:16 ` [ 019/136 ] usb: remove redundant tdi_reset Steven Rostedt
2013-05-18 2:16 ` [ 020/136 ] usb-storage: CY7C68300A chips do not support Cypress ATACB Steven Rostedt
2013-05-18 2:16 ` [ 021/136 ] s390/memory hotplug: prevent offline of active memory increments Steven Rostedt
2013-05-18 2:16 ` [ 022/136 ] xen/time: Fix kasprintf splat when allocating timer%d IRQ line Steven Rostedt
2013-05-18 2:16 ` [ 023/136 ] xen/smp: Fix leakage of timer interrupt line for every CPU online/offline Steven Rostedt
2013-05-18 2:16 ` [ 024/136 ] xen/smp/spinlock: Fix leakage of the spinlock " Steven Rostedt
2013-05-18 2:16 ` [ 025/136 ] serial_core.c: add put_device() after device_find_child() Steven Rostedt
2013-05-18 2:16 ` [ 026/136 ] arm: set the page table freeing ceiling to TASK_SIZE Steven Rostedt
2013-05-18 2:16 ` [ 027/136 ] gianfar: do not advertise any alarm capability Steven Rostedt
2013-05-18 2:16 ` [ 028/136 ] tty: fix up atime/mtime mess, take three Steven Rostedt
2013-05-18 2:16 ` [ 029/136 ] tracing: Use stack of calling function for stack tracer Steven Rostedt
2013-05-18 2:16 ` [ 030/136 ] tracing: Fix stack tracer with fentry use Steven Rostedt
2013-05-18 2:16 ` [ 031/136 ] tracing: Remove most or all of stack tracer stack size from stack_max_size Steven Rostedt
2013-05-18 2:16 ` [ 032/136 ] tracing: Fix off-by-one on allocating stat->pages Steven Rostedt
2013-05-18 2:16 ` [ 033/136 ] tracing: Check return value of tracing_init_dentry() Steven Rostedt
2013-05-18 2:16 ` [ 034/136 ] tracing: Reset ftrace_graph_filter_enabled if count is zero Steven Rostedt
2013-05-18 2:16 ` [ 035/136 ] i2c: xiic: must always write 16-bit words to TX_FIFO Steven Rostedt
2013-05-18 2:16 ` [ 036/136 ] sysfs: fix use after free in case of concurrent read/write and readdir Steven Rostedt
2013-05-18 2:16 ` [ 037/136 ] Fix initialization of CMCI/CMCP interrupts Steven Rostedt
2013-05-18 2:16 ` [ 038/136 ] PCI / ACPI: Dont query OSC support with all possible controls Steven Rostedt
2013-05-18 2:16 ` [ 039/136 ] PCI/PM: Fix fallback to PCI_D0 in pci_platform_power_transition() Steven Rostedt
2013-05-18 2:16 ` [ 040/136 ] rt2x00: Fix transmit power troubles on some Ralink RT30xx cards Steven Rostedt
2013-05-18 2:16 ` [ 041/136 ] Wrong asm register contraints in the futex implementation Steven Rostedt
2013-05-18 2:16 ` [ 042/136 ] Wrong asm register contraints in the kvm implementation Steven Rostedt
2013-05-18 2:16 ` [ 043/136 ] fs/fscache/stats.c: fix memory leak Steven Rostedt
2013-05-18 2:16 ` [ 044/136 ] mm: allow arch code to control the user page table ceiling Steven Rostedt
2013-05-18 2:16 ` [ 045/136 ] TPM: Retry SaveState command in suspend path Steven Rostedt
2013-05-18 2:16 ` [ 046/136 ] ALSA: snd-usb: try harder to find USB_DT_CS_ENDPOINT Steven Rostedt
2013-05-18 2:16 ` [ 047/136 ] ALSA: usb: Add quirk for 192KHz recording on E-Mu devices Steven Rostedt
2013-05-18 2:16 ` [ 048/136 ] ALSA: usb-audio: Fix missing autopm for MIDI input Steven Rostedt
2013-05-18 2:16 ` [ 049/136 ] ALSA: usb-audio: disable autopm for MIDI devices Steven Rostedt
2013-05-18 2:16 ` [ 050/136 ] ALSA: usb-audio: Fix autopm error during probing Steven Rostedt
2013-05-18 2:16 ` [ 051/136 ] ASoC: max98088: Fix logging of hardware revision Steven Rostedt
2013-05-18 2:16 ` [ 052/136 ] hrtimer: Fix ktime_add_ns() overflow on 32bit architectures Steven Rostedt
2013-05-18 2:16 ` [ 053/136 ] hrtimer: Add expiry time overflow check in hrtimer_interrupt Steven Rostedt
2013-05-18 2:16 ` [ 054/136 ] swap: redirty page if page write fails on swap file Steven Rostedt
2013-05-18 2:16 ` [ 055/136 ] mm: swap: mark swap pages writeback before queueing for direct IO Steven Rostedt
2013-05-18 2:16 ` [ 056/136 ] drivers/rtc/rtc-cmos.c: dont disable hpet emulation on suspend Steven Rostedt
2013-05-18 2:16 ` [ 057/136 ] acpi: make ata_ap_acpi_handle not block Steven Rostedt
2013-05-18 2:16 ` [ 058/136 ] cgroup: fix an off-by-one bug which may trigger BUG_ON() Steven Rostedt
2013-05-18 2:16 ` [ 059/136 ] clockevents: Set dummy handler on CPU_DEAD shutdown Steven Rostedt
2013-05-18 2:16 ` [ 060/136 ] inotify: invalid mask should return a error number but not set it Steven Rostedt
2013-05-18 2:16 ` [ 061/136 ] fs/dcache.c: add cond_resched() to shrink_dcache_parent() Steven Rostedt
2013-05-18 2:16 ` [ 062/136 ] exec: do not abuse ->cred_guard_mutex in threadgroup_lock() Steven Rostedt
2013-05-18 2:17 ` [ 063/136 ] LOCKD: Ensure that nlmclnt_block resets block->b_status after a server reboot Steven Rostedt
2013-05-18 2:17 ` [ 064/136 ] md: bad block list should default to disabled Steven Rostedt
2013-05-18 2:17 ` [ 065/136 ] MD: ignore discard request for hard disks of hybid raid1/raid10 array Steven Rostedt
2013-05-18 2:17 ` [ 066/136 ] NFSv4: Handle NFS4ERR_DELAY and NFS4ERR_GRACE in nfs4_open_delegation_recall Steven Rostedt
2013-05-18 2:17 ` [ 067/136 ] nfsd4: dont close read-write opens too soon Steven Rostedt
2013-05-18 2:17 ` [ 068/136 ] nfsd: dont run get_file if nfs4_preprocess_stateid_op return error Steven Rostedt
2013-05-18 2:17 ` [ 069/136 ] nfsd: Decode and send 64bit time values Steven Rostedt
2013-05-18 2:17 ` [ 070/136 ] wireless: regulatory: fix channel disabling race condition Steven Rostedt
2013-05-18 2:17 ` [ 071/136 ] ipc: sysv shared memory limited to 8TiB Steven Rostedt
2013-05-18 2:17 ` [ 072/136 ] ixgbe: fix EICR write in ixgbe_msix_other Steven Rostedt
2013-05-18 2:17 ` [ 073/136 ] ext4/jbd2: dont wait (forever) for stale tid caused by wraparound Steven Rostedt
2013-05-18 2:17 ` [ 074/136 ] jbd2: fix race between jbd2_journal_remove_checkpoint and ->j_commit_callback Steven Rostedt
2013-05-18 2:17 ` [ 075/136 ] ext4: fix journal callback list traversal Steven Rostedt
2013-05-18 2:17 ` [ 076/136 ] ext4: fix big-endian bug in metadata checksum calculations Steven Rostedt
2013-05-18 2:17 ` [ 077/136 ] ext4: fix online resizing for ext3-compat file systems Steven Rostedt
2013-05-18 2:17 ` [ 078/136 ] ext4: fix Kconfig documentation for CONFIG_EXT4_DEBUG Steven Rostedt
2013-05-18 2:17 ` [ 079/136 ] mmc: at91/avr32/atmel-mci: fix DMA-channel leak on module unload Steven Rostedt
2013-05-18 2:17 ` [ 080/136 ] KVM: X86 emulator: fix source operand decoding for 8bit mov[zs]x instructions Steven Rostedt
2013-05-18 2:17 ` [ 081/136 ] x86: Eliminate irq_mis_count counted in arch_irq_stat Steven Rostedt
2013-05-18 2:17 ` [ 082/136 ] mmc: core: Fix bit width test failing on old eMMC cards Steven Rostedt
2013-05-18 2:17 ` [ 083/136 ] mmc: atmel-mci: pio hang on block errors Steven Rostedt
2013-05-18 2:17 ` [ 084/136 ] mfd: adp5520: Restore mode bits on resume Steven Rostedt
2013-05-18 2:17 ` [ 085/136 ] powerpc: Emulate non privileged DSCR read and write Steven Rostedt
2013-05-18 2:17 ` [ 086/136 ] powerpc: fix numa distance for form0 device tree Steven Rostedt
2013-05-18 2:17 ` [ 087/136 ] autofs - remove autofs dentry mount check Steven Rostedt
2013-05-18 2:17 ` [ 088/136 ] net/eth/ibmveth: Fixup retrieval of MAC address Steven Rostedt
2013-05-18 2:17 ` [ 089/136 ] perf/x86/intel: Add support for IvyBridge model 58 Uncore Steven Rostedt
2013-05-18 2:17 ` [ 090/136 ] perf/x86/intel: Fix unintended variable name reuse Steven Rostedt
2013-05-18 2:17 ` [ 091/136 ] perf/x86/intel/lbr: Fix LBR filter Steven Rostedt
2013-05-18 2:17 ` [ 092/136 ] perf/x86/intel/lbr: Demand proper privileges for PERF_SAMPLE_BRANCH_KERNEL Steven Rostedt
2013-05-18 2:17 ` [ 093/136 ] PCI/PM: Clear state_saved during suspend Steven Rostedt
2013-05-18 2:17 ` [ 094/136 ] e1000e: fix runtime power management transitions Steven Rostedt
2013-05-18 5:35 ` Konstantin Khlebnikov
2013-05-18 5:40 ` Jeff Kirsher
2013-05-20 19:35 ` Steven Rostedt
2013-05-20 20:24 ` Jeff Kirsher
2013-05-20 20:31 ` Steven Rostedt
2013-05-18 2:17 ` [ 095/136 ] xhci: Dont warn on empty ring for suspended devices Steven Rostedt
2013-05-18 2:17 ` [ 096/136 ] ipvs: ip_vs_sip_fill_param() BUG: bad check of return value Steven Rostedt
2013-05-18 2:17 ` [ 097/136 ] netfilter: ipset: list:set: fix reference counter update Steven Rostedt
2013-05-18 2:17 ` [ 098/136 ] netfilter: nf_ct_sip: dont drop packets with offsets pointing outside the packet Steven Rostedt
2013-05-18 2:17 ` [ 099/136 ] netfilter: ipset: "Directory not empty" error message Steven Rostedt
2013-05-18 2:17 ` [ 100/136 ] netfilter: nf_ct_helper: dont discard helper if it is actually the same Steven Rostedt
2013-05-18 2:17 ` [ 101/136 ] netfilter: ctnetlink: dont permit ct creation with random tuple Steven Rostedt
2013-05-18 2:17 ` [ 102/136 ] netfilter: xt_rpfilter: skip locally generated broadcast/multicast, too Steven Rostedt
2013-05-18 2:17 ` [ 103/136 ] ext4: add check for inodes_count overflow in new resize ioctl Steven Rostedt
2013-05-18 2:17 ` [ 104/136 ] r8169: fix 8168evl frame padding Steven Rostedt
2013-05-18 10:02 ` Francois Romieu
2013-05-20 19:40 ` Steven Rostedt
2013-05-20 19:45 ` David Miller
2013-05-20 19:51 ` Steven Rostedt
2013-05-30 20:11 ` Steven Rostedt
2013-05-30 21:00 ` Francois Romieu
2013-05-30 21:21 ` Steven Rostedt
2013-05-18 2:17 ` [ 105/136 ] drm/cirrus: deal with bo reserve fail in dirty update path Steven Rostedt
2013-05-18 2:17 ` [ 106/136 ] drm/mgag200: " Steven Rostedt
2013-05-18 2:17 ` [ 107/136 ] drm/gma500: fix backlight hotkeys behaviour on netbooks Steven Rostedt
2013-05-18 2:17 ` Steven Rostedt [this message]
2013-05-18 2:17 ` [ 109/136 ] drm/ast: deal with bo reserve fail in dirty update path Steven Rostedt
2013-05-18 2:17 ` [ 110/136 ] drm/i915: Fix detection of base of stolen memory Steven Rostedt
2013-05-18 2:17 ` [ 111/136 ] drm/i915: Add no-lvds quirk for Fujitsu Esprimo Q900 Steven Rostedt
2013-05-18 2:17 ` [ 112/136 ] drm/i915: Workaround incoherence between fences and LLC across multiple CPUs Steven Rostedt
2013-05-18 2:17 ` [ 113/136 ] drm/i915: Use MLC (l3$) for context objects Steven Rostedt
2013-05-18 2:17 ` [ 114/136 ] drm/i915: set CPT FDI RX polarity bits based on VBT Steven Rostedt
2013-05-18 2:17 ` [ 115/136 ] drm/i915: Fall back to bit banging mode for DVO transmitter detection Steven Rostedt
2013-05-18 2:17 ` [ 116/136 ] drm/radeon: dont use get_engine_clock() on APUs Steven Rostedt
2013-05-18 2:17 ` [ 117/136 ] drm/radeon: use frac fb div on RS780/RS880 Steven Rostedt
2013-05-18 2:17 ` [ 118/136 ] drm/radeon/dce6: add missing display reg for tiling setup Steven Rostedt
2013-05-18 2:17 ` [ 119/136 ] drm/radeon: update wait_for_vblank for r5xx-r7xx Steven Rostedt
2013-05-18 2:17 ` [ 120/136 ] drm/radeon: update wait_for_vblank for evergreen+ Steven Rostedt
2013-05-18 2:17 ` [ 121/136 ] drm/radeon: update wait_for_vblank for r1xx-r4xx Steven Rostedt
2013-05-18 2:17 ` [ 122/136 ] drm/radeon: disable the crtcs in mc_stop (evergreen+) (v2) Steven Rostedt
2013-05-18 2:18 ` [ 123/136 ] drm/radeon: add some new SI PCI ids Steven Rostedt
2013-05-18 2:18 ` [ 124/136 ] drm/radeon/evergreen+: dont enable HPD interrupts on eDP/LVDS Steven Rostedt
2013-05-18 2:18 ` [ 125/136 ] drm/radeon: cleanup properly if mmio mapping fails Steven Rostedt
2013-05-18 2:18 ` [ 126/136 ] drm/radeon: fix hdmi mode enable on RS600/RS690/RS740 Steven Rostedt
2013-05-18 2:18 ` [ 127/136 ] drm/radeon: fix typo in si_select_se_sh() Steven Rostedt
2013-05-18 2:18 ` [ 128/136 ] drm/radeon: fix endian bugs in atom_allocate_fb_scratch() Steven Rostedt
2013-05-18 2:18 ` [ 129/136 ] drm/radeon: fix possible segfault when parsing pm tables Steven Rostedt
2013-05-18 2:18 ` [ 130/136 ] drm/radeon: add new richland pci ids Steven Rostedt
2013-05-18 2:18 ` [ 131/136 ] drm/radeon: fix handling of v6 power tables Steven Rostedt
2013-05-18 2:18 ` [ 132/136 ] tracing: Fix ftrace_dump() Steven Rostedt
2013-05-18 2:18 ` [ 133/136 ] Btrfs: compare relevant parts of delayed tree refs Steven Rostedt
2013-05-18 2:18 ` [ 134/136 ] kernel/audit_tree.c: tree will leak memory when failure occurs in audit_trim_trees() Steven Rostedt
2013-05-18 2:18 ` [ 135/136 ] x86/mm: account for PGDIR_SIZE alignment Steven Rostedt
2013-05-18 2:18 ` [ 136/136 ] s390: move dummy io_remap_pfn_range() to asm/pgtable.h Steven Rostedt
2013-05-18 2:32 ` [ 000/136 ] 3.6.11.4-stable review Steven Rostedt
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=20130518021659.035809154@goodmis.org \
--to=rostedt@goodmis.org \
--cc=airlied@redhat.com \
--cc=daniel.vetter@ffwll.ch \
--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