mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Kamal Mostafa <kamal@canonical.com>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	kernel-team@lists.ubuntu.com
Cc: Ian Abbott <abbotti@mev.co.uk>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Kamal Mostafa <kamal@canonical.com>
Subject: [PATCH 026/133] staging: comedi: fix a race between do_cmd_ioctl() and read/write
Date: Fri, 16 Aug 2013 15:32:48 -0700	[thread overview]
Message-ID: <1376692475-28413-27-git-send-email-kamal@canonical.com> (raw)
In-Reply-To: <1376692475-28413-1-git-send-email-kamal@canonical.com>

3.8.13.7 -stable review patch.  If anyone has any objections, please let me know.

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

From: Ian Abbott <abbotti@mev.co.uk>

commit 4b18f08be01a7b3c7b6df497137b6e3cb28adaa3 upstream.

`do_cmd_ioctl()` is called with the comedi device's mutex locked to
process the `COMEDI_CMD` ioctl to set up comedi's asynchronous command
handling on a comedi subdevice.  `comedi_read()` and `comedi_write()`
are the `read` and `write` handlers for the comedi device, but do not
lock the mutex (for performance reasons, as some things can hold the
mutex for quite a long time).

There is a race condition if `comedi_read()` or `comedi_write()` is
running at the same time and for the same file object and comedi
subdevice as `do_cmd_ioctl()`.  `do_cmd_ioctl()` sets the subdevice's
`busy` pointer to the file object way before it sets the `SRF_RUNNING` flag
in the subdevice's `runflags` member.  `comedi_read() and
`comedi_write()` check the subdevice's `busy` pointer is pointing to the
current file object, then if the `SRF_RUNNING` flag is not set, will call
`do_become_nonbusy()` to shut down the asyncronous command.  Bad things
can happen if the asynchronous command is being shutdown and set up at
the same time.

To prevent the race, don't set the `busy` pointer until
after the `SRF_RUNNING` flag has been set.  Also, make sure the mutex is
held in `comedi_read()` and `comedi_write()` while calling
`do_become_nonbusy()` in order to avoid moving the race condition to a
point within that function.

Change some error handling `goto cleanup` statements in `do_cmd_ioctl()`
to simple `return -ERRFOO` statements as a result of changing when the
`busy` pointer is set.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[ kamal: backport to 3.8 (context) ]
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
 drivers/staging/comedi/comedi_fops.c | 25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)

diff --git a/drivers/staging/comedi/comedi_fops.c b/drivers/staging/comedi/comedi_fops.c
index 929452e..fbd9231 100644
--- a/drivers/staging/comedi/comedi_fops.c
+++ b/drivers/staging/comedi/comedi_fops.c
@@ -1180,22 +1180,19 @@ static int do_cmd_ioctl(struct comedi_device *dev,
 		DPRINTK("subdevice busy\n");
 		return -EBUSY;
 	}
-	s->busy = file;
 
 	/* make sure channel/gain list isn't too long */
 	if (cmd.chanlist_len > s->len_chanlist) {
 		DPRINTK("channel/gain list too long %u > %d\n",
 			cmd.chanlist_len, s->len_chanlist);
-		ret = -EINVAL;
-		goto cleanup;
+		return -EINVAL;
 	}
 
 	/* make sure channel/gain list isn't too short */
 	if (cmd.chanlist_len < 1) {
 		DPRINTK("channel/gain list too short %u < 1\n",
 			cmd.chanlist_len);
-		ret = -EINVAL;
-		goto cleanup;
+		return -EINVAL;
 	}
 
 	async->cmd = cmd;
@@ -1205,8 +1202,7 @@ static int do_cmd_ioctl(struct comedi_device *dev,
 	    kmalloc(async->cmd.chanlist_len * sizeof(int), GFP_KERNEL);
 	if (!async->cmd.chanlist) {
 		DPRINTK("allocation failed\n");
-		ret = -ENOMEM;
-		goto cleanup;
+		return -ENOMEM;
 	}
 
 	if (copy_from_user(async->cmd.chanlist, user_chanlist,
@@ -1258,6 +1254,9 @@ static int do_cmd_ioctl(struct comedi_device *dev,
 
 	comedi_set_subdevice_runflags(s, ~0, SRF_USER | SRF_RUNNING);
 
+	/* set s->busy _after_ setting SRF_RUNNING flag to avoid race with
+	 * comedi_read() or comedi_write() */
+	s->busy = file;
 	ret = s->do_cmd(dev, s);
 	if (ret == 0)
 		return 0;
@@ -1860,6 +1859,7 @@ static ssize_t comedi_write(struct file *file, const char __user *buf,
 
 		if (!(comedi_get_subdevice_runflags(s) & SRF_RUNNING)) {
 			if (count == 0) {
+				mutex_lock(&dev->mutex);
 				if (comedi_get_subdevice_runflags(s) &
 					SRF_ERROR) {
 					retval = -EPIPE;
@@ -1867,6 +1867,7 @@ static ssize_t comedi_write(struct file *file, const char __user *buf,
 					retval = 0;
 				}
 				do_become_nonbusy(dev, s);
+				mutex_unlock(&dev->mutex);
 			}
 			break;
 		}
@@ -1981,6 +1982,7 @@ static ssize_t comedi_read(struct file *file, char __user *buf, size_t nbytes,
 
 		if (n == 0) {
 			if (!(comedi_get_subdevice_runflags(s) & SRF_RUNNING)) {
+				mutex_lock(&dev->mutex);
 				do_become_nonbusy(dev, s);
 				if (comedi_get_subdevice_runflags(s) &
 				    SRF_ERROR) {
@@ -1988,6 +1990,7 @@ static ssize_t comedi_read(struct file *file, char __user *buf, size_t nbytes,
 				} else {
 					retval = 0;
 				}
+				mutex_unlock(&dev->mutex);
 				break;
 			}
 			if (file->f_flags & O_NONBLOCK) {
@@ -2025,9 +2028,11 @@ static ssize_t comedi_read(struct file *file, char __user *buf, size_t nbytes,
 		buf += n;
 		break;		/* makes device work like a pipe */
 	}
-	if (!(comedi_get_subdevice_runflags(s) & (SRF_ERROR | SRF_RUNNING)) &&
-	    async->buf_read_count - async->buf_write_count == 0) {
-		do_become_nonbusy(dev, s);
+	if (!(comedi_get_subdevice_runflags(s) & (SRF_ERROR | SRF_RUNNING))) {
+		mutex_lock(&dev->mutex);
+		if (async->buf_read_count - async->buf_write_count == 0)
+			do_become_nonbusy(dev, s);
+		mutex_unlock(&dev->mutex);
 	}
 	set_current_state(TASK_RUNNING);
 	remove_wait_queue(&async->wait_head, &wait);
-- 
1.8.1.2


  parent reply	other threads:[~2013-08-16 22:51 UTC|newest]

Thread overview: 141+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-16 22:32 [ 3.8.y.z extended stable ] Linux 3.8.13.7 stable review Kamal Mostafa
2013-08-16 22:32 ` [PATCH 001/133] Input: elantech - fix for newer hardware versions (v7) Kamal Mostafa
2013-08-16 22:32 ` [PATCH 002/133] usb: dwc3: gadget: don't prevent gadget from being probed if we fail Kamal Mostafa
2013-08-16 22:32 ` [PATCH 003/133] usb: dwc3: fix wrong bit mask in dwc3_event_type Kamal Mostafa
2013-08-16 22:32 ` [PATCH 004/133] ASoC: max98088 - fix element type of the register cache Kamal Mostafa
2013-08-16 22:32 ` [PATCH 005/133] ata: Fix DVD not dectected at some platform with Wellsburg PCH Kamal Mostafa
2013-08-16 22:32 ` [PATCH 006/133] Tools: hv: KVP: Fix a bug in IPV6 subnet enumeration Kamal Mostafa
2013-08-16 22:32 ` [PATCH 007/133] ALSA: usb-audio: 6fire: return correct XRUN indication Kamal Mostafa
2013-08-16 22:32 ` [PATCH 008/133] usb: serial: cp210x: Add USB ID for Netgear Switches embedded serial adapter Kamal Mostafa
2013-08-16 22:32 ` [PATCH 009/133] USB: storage: Add MicroVault Flash Drive to unusual_devs Kamal Mostafa
2013-08-16 22:32 ` [PATCH 010/133] USB: misc: Add Manhattan Hi-Speed USB DVI Converter to sisusbvga Kamal Mostafa
2013-08-16 22:32 ` [PATCH 011/133] USB: option: append Petatel NP10T device to GSM modems list Kamal Mostafa
2013-08-16 22:32 ` [PATCH 012/133] usb: cp210x support SEL C662 Vendor/Device Kamal Mostafa
2013-08-16 22:32 ` [PATCH 013/133] USB: cp210x: add MMB and PI ZigBee USB Device Support Kamal Mostafa
2013-08-16 22:32 ` [PATCH 014/133] USB: EHCI: Fix resume signalling on remote wakeup Kamal Mostafa
2013-08-16 22:32 ` [PATCH 015/133] drm/radeon: fix endian issues with DP handling (v3) Kamal Mostafa
2013-08-16 22:32 ` [PATCH 016/133] drm/radeon: Another card with wrong primary dac adj Kamal Mostafa
2013-08-16 22:32 ` [PATCH 017/133] drm/radeon: improve dac adjust heuristics for legacy pdac Kamal Mostafa
2013-08-16 22:32 ` [PATCH 018/133] drm/radeon: fix combios tables on older cards Kamal Mostafa
2013-08-16 22:32 ` [PATCH 019/133] ARM: footbridge: fix overlapping PCI mappings Kamal Mostafa
2013-08-16 22:32 ` [PATCH 020/133] [SCSI] isci: Fix a race condition in the SSP task management path Kamal Mostafa
2013-08-16 22:32 ` [PATCH 021/133] [SCSI] qla2xxx: Properly set the tagging for commands Kamal Mostafa
2013-08-16 22:32 ` [PATCH 022/133] [SCSI] sd: fix crash when UA received on DIF enabled device Kamal Mostafa
2013-08-16 22:32 ` [PATCH 023/133] nfsd: nfsd_open: when dentry_open returns an error do not propagate as struct file Kamal Mostafa
2013-08-16 22:32 ` [PATCH 024/133] USB: option: add D-Link DWM-152/C1 and DWM-156/C1 Kamal Mostafa
2013-08-16 22:32 ` [PATCH 025/133] staging: comedi: COMEDI_CANCEL ioctl should wake up read/write Kamal Mostafa
2013-08-16 22:32 ` Kamal Mostafa [this message]
2013-08-16 22:32 ` [PATCH 027/133] staging: android: logger: Correct write offset reset on error Kamal Mostafa
2013-08-16 22:32 ` [PATCH 028/133] usb: option: add TP-LINK MA260 Kamal Mostafa
2013-08-16 22:32 ` [PATCH 029/133] USB: ti_usb_3410_5052: fix dynamic-id matching Kamal Mostafa
2013-08-16 22:32 ` [PATCH 030/133] usb: serial: option: Add ONYX 3G device support Kamal Mostafa
2013-08-16 22:32 ` [PATCH 031/133] md/raid10: remove use-after-free bug Kamal Mostafa
2013-08-16 22:32 ` [PATCH 032/133] md/raid5: fix interaction of 'replace' and 'recovery' Kamal Mostafa
2013-08-16 22:32 ` [PATCH 033/133] drm/i915: initialize gt_lock early with other spin locks Kamal Mostafa
2013-08-16 22:32 ` [PATCH 034/133] xhci: Avoid NULL pointer deref when host dies Kamal Mostafa
2013-08-16 22:32 ` [PATCH 035/133] usb: host: xhci: Enable XHCI_SPURIOUS_SUCCESS for all controllers with xhci 1.0 Kamal Mostafa
2013-08-16 22:32 ` [PATCH 036/133] xhci: fix null pointer dereference on ring_doorbell_for_active_rings Kamal Mostafa
2013-08-16 22:32 ` [PATCH 037/133] usb: serial: option: blacklist ONDA MT689DC QMI interface Kamal Mostafa
2013-08-16 22:33 ` [PATCH 038/133] usb: serial: option: add Olivetti Olicard 200 Kamal Mostafa
2013-08-16 22:33 ` [PATCH 039/133] usb: serial: option.c: remove ONDA MT825UP product ID fromdriver Kamal Mostafa
2013-08-16 22:33 ` [PATCH 040/133] USB: mos7840: fix memory leak in open Kamal Mostafa
2013-08-16 22:33 ` [PATCH 041/133] usb: Clear both buffers when clearing a control transfer TT buffer Kamal Mostafa
2013-08-16 22:33 ` [PATCH 042/133] nl80211: fix mgmt tx status and testmode reporting for netns Kamal Mostafa
2013-08-16 22:33 ` [PATCH 043/133] mac80211: fix ethtool stats for non-station interfaces Kamal Mostafa
2013-08-16 22:33 ` [PATCH 044/133] mac80211: fix duplicate retransmission detection Kamal Mostafa
2013-08-16 22:33 ` [PATCH 045/133] iwlwifi: mvm: refuse connection to APs with BI < 16 Kamal Mostafa
2013-08-16 22:33 ` [PATCH 046/133] iwlwifi: add DELL SKU for 5150 HMC Kamal Mostafa
2013-08-16 22:33 ` [PATCH 047/133] ath9k_htc: do some initial hardware configuration Kamal Mostafa
2013-08-16 22:33 ` [PATCH 048/133] ath9k_htc: reboot firmware if it was loaded Kamal Mostafa
2013-08-16 22:33 ` [PATCH 049/133] ARM: 7790/1: Fix deferred mm switch on VIVT processors Kamal Mostafa
2013-08-16 22:33 ` [PATCH 050/133] ARM: 7791/1: a.out: remove partial a.out support Kamal Mostafa
2013-08-16 22:33 ` [PATCH 051/133] mwifiex: Add missing endian conversion Kamal Mostafa
2013-08-16 22:33 ` [PATCH 052/133] USB: mos7840: fix race in register handling Kamal Mostafa
2013-08-16 22:33 ` [PATCH 053/133] USB: mos7840: fix device-type detection Kamal Mostafa
2013-08-16 22:33 ` [PATCH 054/133] USB: mos7840: fix race in led handling Kamal Mostafa
2013-08-16 22:33 ` [PATCH 055/133] serial/mxs-auart: fix race condition in interrupt handler Kamal Mostafa
2013-08-16 22:33 ` [PATCH 056/133] serial: mxs: fix buffer overflow Kamal Mostafa
2013-08-16 22:33 ` [PATCH 057/133] serial/mxs-auart: increase time to wait for transmitter to become idle Kamal Mostafa
2013-08-16 22:33 ` [PATCH 058/133] serial: arc_uart: Fix module alias Kamal Mostafa
2013-08-16 22:33 ` [PATCH 059/133] firewire: fix libdc1394/FlyCap2 iso event regression Kamal Mostafa
2013-08-16 22:33 ` [PATCH 060/133] dma: pl330: Fix cyclic transfers Kamal Mostafa
2013-08-16 22:33 ` [PATCH 061/133] USB: mos7840: fix pointer casts Kamal Mostafa
2013-08-16 22:33 ` [PATCH 062/133] ixgbe: Fix Tx Hang issue with lldpad on 82598EB Kamal Mostafa
2013-08-16 22:33 ` [PATCH 063/133] Revert "cpuidle: Quickly notice prediction failure in general case" Kamal Mostafa
2013-08-16 22:33 ` [PATCH 064/133] Revert "cpuidle: Quickly notice prediction failure for repeat mode" Kamal Mostafa
2013-08-16 22:33 ` [PATCH 065/133] ALSA: compress: fix the return value for SNDRV_COMPRESS_VERSION Kamal Mostafa
2013-08-16 22:33 ` [PATCH 066/133] rt2x00: fix stop queue Kamal Mostafa
2013-08-16 22:33 ` [PATCH 067/133] USB: serial: ftdi_sio: add more RT Systems ftdi devices Kamal Mostafa
2013-08-16 22:33 ` [PATCH 068/133] drm/nouveau: fix semaphore dmabuf obj Kamal Mostafa
2013-08-16 22:33 ` [PATCH 069/133] ACPI / battery: Fix parsing _BIX return value Kamal Mostafa
2013-08-16 22:33 ` [PATCH 070/133] drm/radeon/atom: initialize more atom interpretor elements to 0 Kamal Mostafa
2013-08-16 22:33 ` [PATCH 071/133] drm/i915: fix missed hunk after GT access breakage Kamal Mostafa
2013-08-16 22:33 ` [PATCH 072/133] ARM: poison the vectors page Kamal Mostafa
2013-08-16 22:33 ` [PATCH 073/133] ARM: poison memory between kuser helpers Kamal Mostafa
2013-08-16 22:33 ` [PATCH 074/133] ARM: move vector stubs Kamal Mostafa
2013-08-16 22:33 ` [PATCH 075/133] ARM: use linker magic for vectors and " Kamal Mostafa
2013-08-16 22:33 ` [PATCH 076/133] ARM: update FIQ support for relocation of vectors Kamal Mostafa
2013-08-18 21:09   ` Aaro Koskinen
2013-08-19 16:02     ` [3.10][3.8][3.5] ARM: Fix FIQ code on VIVT CPUs (was Re: [PATCH 076/133] ARM: update FIQ support for relocation of vectors) Kamal Mostafa
2013-08-19 16:07       ` Russell King - ARM Linux
2013-08-20 22:50         ` Kamal Mostafa
2013-08-20 22:57           ` Russell King - ARM Linux
2013-08-22 21:52         ` Greg Kroah-Hartman
2013-08-20 13:25       ` Luis Henriques
2013-08-16 22:33 ` [PATCH 077/133] ARM: allow kuser helpers to be removed from the vector page Kamal Mostafa
2013-08-16 22:33 ` [PATCH 078/133] mm: mempolicy: fix mbind_range() && vma_adjust() interaction Kamal Mostafa
2013-08-16 22:33 ` [PATCH 079/133] powerpc/windfarm: Fix noisy slots-fan on Xserve (rm31) Kamal Mostafa
2013-08-16 22:33 ` [PATCH 080/133] drm/i915: Make data/link N value power of two Kamal Mostafa
2013-08-16 22:33 ` [PATCH 081/133] virtio/console: Quit from splice_write if pipe->nrbufs is 0 Kamal Mostafa
2013-08-16 22:33 ` [PATCH 082/133] virtio/console: Add pipe_lock/unlock for splice_write Kamal Mostafa
2013-08-16 22:33 ` [PATCH 083/133] x86/iommu/vt-d: Expand interrupt remapping quirk to cover x58 chipset Kamal Mostafa
2013-08-16 22:33 ` [PATCH 084/133] s390/bitops: fix find_next_bit_left Kamal Mostafa
2013-08-16 22:33 ` [PATCH 085/133] x86, fpu: correct the asm constraints for fxsave, unbreak mxcsr.daz Kamal Mostafa
2013-08-16 22:33 ` [PATCH 086/133] ext4: make sure group number is bumped after a inode allocation race Kamal Mostafa
2013-08-16 22:33 ` [PATCH 087/133] ext4: destroy ext4_es_cachep on module unload Kamal Mostafa
2013-08-16 22:33 ` [PATCH 088/133] virtio: console: fix race with port unplug and open/close Kamal Mostafa
2013-08-16 22:33 ` [PATCH 089/133] virtio: console: fix race in port_fops_open() and port unplug Kamal Mostafa
2013-08-16 22:33 ` [PATCH 090/133] virtio: console: clean up port data immediately at time of unplug Kamal Mostafa
2013-08-16 22:33 ` [PATCH 091/133] virtio: console: fix raising SIGIO after port unplug Kamal Mostafa
2013-08-16 22:33 ` [PATCH 092/133] virtio: console: return -ENODEV on all read operations after unplug Kamal Mostafa
2013-08-16 22:33 ` [PATCH 093/133] KVM: s390: move kvm_guest_enter,exit closer to sie Kamal Mostafa
2013-08-16 22:33 ` [PATCH 094/133] ext4: fix retry handling in ext4_ext_truncate() Kamal Mostafa
2013-08-16 22:33 ` [PATCH 095/133] spi: spi-davinci: Fix direction in dma_map_single() Kamal Mostafa
2013-08-16 22:33 ` [PATCH 096/133] [SCSI] megaraid_sas: megaraid_sas driver init fails in kdump kernel Kamal Mostafa
2013-08-16 22:33 ` [PATCH 097/133] [SCSI] Don't attempt to send extended INQUIRY command if skip_vpd_pages is set Kamal Mostafa
2013-08-16 22:34 ` [PATCH 098/133] ACPI / PM: Fix /proc/acpi/wakeup for devices w/o bus or parent Kamal Mostafa
2013-08-16 22:34 ` [PATCH 099/133] ACPI / PM: Walk physical_node_list under physical_node_lock Kamal Mostafa
2013-08-16 22:34 ` [PATCH 100/133] regmap: Add missing header for !CONFIG_REGMAP stubs Kamal Mostafa
2013-08-16 22:34 ` [PATCH 101/133] userns: unshare_userns(&cred) should not populate cred on failure Kamal Mostafa
2013-08-16 22:34 ` [PATCH 102/133] userns: limit the maximum depth of user_namespace->parent chain Kamal Mostafa
2013-08-16 22:34 ` [PATCH 103/133] drm/cirrus: Invalidate page tables when pinning a BO Kamal Mostafa
2013-08-16 22:34 ` [PATCH 104/133] drm/mgag200: " Kamal Mostafa
2013-08-16 22:34 ` [PATCH 105/133] drm/ast: invalidate " Kamal Mostafa
2013-08-16 22:34 ` [PATCH 106/133] drm/i915: do not disable backlight on vgaswitcheroo switch off Kamal Mostafa
2013-08-16 22:34 ` [PATCH 107/133] ALSA: 6fire: fix DMA issues with URB transfer_buffer usage Kamal Mostafa
2013-08-16 22:34 ` [PATCH 108/133] drm: Don't pass negative delta to ktime_sub_ns() Kamal Mostafa
2013-08-16 22:34 ` [PATCH 109/133] ALSA: usb-audio: do not trust too-big wMaxPacketSize values Kamal Mostafa
2013-08-16 22:34 ` [PATCH 110/133] hwmon: (adt7470) Fix incorrect return code check Kamal Mostafa
2013-08-16 22:34 ` [PATCH 111/133] powerpc: On POWERNV enable PPC_DENORMALISATION by default Kamal Mostafa
2013-08-16 22:34 ` [PATCH 112/133] Btrfs: release both paths before logging dir/changed extents Kamal Mostafa
2013-08-16 22:34 ` [PATCH 113/133] sched: Ensure update_cfs_shares() is called for parents of continuously-running tasks Kamal Mostafa
2013-08-16 22:34 ` [PATCH 114/133] cifs: extend the buffer length enought for sprintf() using Kamal Mostafa
2013-08-16 22:34 ` [PATCH 115/133] perf/x86: Fix intel QPI uncore event definitions Kamal Mostafa
2013-08-16 22:34 ` [PATCH 116/133] cifs: don't instantiate new dentries in readdir for inodes that need to be revalidated immediately Kamal Mostafa
2013-08-16 22:34 ` [PATCH 117/133] ext4: allow the mount options nodelalloc and data=journal Kamal Mostafa
2013-08-16 22:34 ` [PATCH 118/133] ext4: fix mount/remount error messages for incompatible mount options Kamal Mostafa
2013-08-16 22:34 ` [PATCH 119/133] perf/arm: Fix armpmu_map_hw_event() Kamal Mostafa
2013-08-16 22:34 ` [PATCH 120/133] microblaze: fix clone syscall Kamal Mostafa
2013-08-16 22:34 ` [PATCH 121/133] x86 get_unmapped_area(): use proper mmap base for bottom-up direction Kamal Mostafa
2013-08-16 22:34 ` [PATCH 122/133] fs/proc/task_mmu.c: fix buffer overflow in add_page_map() Kamal Mostafa
2013-08-16 22:34 ` [PATCH 123/133] arcnet: cleanup sizeof parameter Kamal Mostafa
2013-08-16 22:34 ` [PATCH 124/133] sysctl net: Keep tcp_syn_retries inside the boundary Kamal Mostafa
2013-08-16 22:34 ` [PATCH 125/133] ipv6: take rtnl_lock and mark mrt6 table as freed on namespace cleanup Kamal Mostafa
2013-08-16 22:34 ` [PATCH 126/133] usbnet: do not pretend to support SG/TSO Kamal Mostafa
2013-08-16 22:34 ` [PATCH 127/133] net_sched: Fix stack info leak in cbq_dump_wrr() Kamal Mostafa
2013-08-16 22:34 ` [PATCH 128/133] af_key: more info leaks in pfkey messages Kamal Mostafa
2013-08-16 22:34 ` [PATCH 129/133] atl1c: use custom skb allocator Kamal Mostafa
2013-08-16 22:34 ` [PATCH 130/133] net_sched: info leak in atm_tc_dump_class() Kamal Mostafa
2013-08-16 22:34 ` [PATCH 131/133] ndisc: Add missing inline to ndisc_addr_option_pad Kamal Mostafa
2013-08-16 22:34 ` [PATCH 132/133] 8139cp: Add dma_mapping_error checking Kamal Mostafa
2013-08-16 22:34 ` [PATCH 133/133] net/mlx4_core: VFs must ignore the enable_64b_cqe_eqe module param Kamal Mostafa

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=1376692475-28413-27-git-send-email-kamal@canonical.com \
    --to=kamal@canonical.com \
    --cc=abbotti@mev.co.uk \
    --cc=gregkh@linuxfoundation.org \
    --cc=kernel-team@lists.ubuntu.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

all inboxes | Powered by JetHome®