mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Willy Tarreau <w@1wt.eu>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org, linux@roeck-us.net
Cc: Alexander Popov <alex.popov@linux.com>, Willy Tarreau <w@1wt.eu>
Subject: [PATCH 3.10 245/250] tty: n_hdlc: get rid of racy n_hdlc.tbuf
Date: Thu,  8 Jun 2017 01:00:31 +0200	[thread overview]
Message-ID: <1496876436-32402-246-git-send-email-w@1wt.eu> (raw)
In-Reply-To: <1496876436-32402-1-git-send-email-w@1wt.eu>

From: Alexander Popov <alex.popov@linux.com>

commit 82f2341c94d270421f383641b7cd670e474db56b upstream.

Currently N_HDLC line discipline uses a self-made singly linked list for
data buffers and has n_hdlc.tbuf pointer for buffer retransmitting after
an error.

The commit be10eb7589337e5defbe214dae038a53dd21add8
("tty: n_hdlc add buffer flushing") introduced racy access to n_hdlc.tbuf.
After tx error concurrent flush_tx_queue() and n_hdlc_send_frames() can put
one data buffer to tx_free_buf_list twice. That causes double free in
n_hdlc_release().

Let's use standard kernel linked list and get rid of n_hdlc.tbuf:
in case of tx error put current data buffer after the head of tx_buf_list.

Signed-off-by: Alexander Popov <alex.popov@linux.com>
Signed-off-by: Willy Tarreau <w@1wt.eu>
---
 drivers/tty/n_hdlc.c | 132 +++++++++++++++++++++++++++------------------------
 1 file changed, 69 insertions(+), 63 deletions(-)

diff --git a/drivers/tty/n_hdlc.c b/drivers/tty/n_hdlc.c
index f26657c..66fb076 100644
--- a/drivers/tty/n_hdlc.c
+++ b/drivers/tty/n_hdlc.c
@@ -114,7 +114,7 @@
 #define DEFAULT_TX_BUF_COUNT 3
 
 struct n_hdlc_buf {
-	struct n_hdlc_buf *link;
+	struct list_head  list_item;
 	int		  count;
 	char		  buf[1];
 };
@@ -122,8 +122,7 @@ struct n_hdlc_buf {
 #define	N_HDLC_BUF_SIZE	(sizeof(struct n_hdlc_buf) + maxframe)
 
 struct n_hdlc_buf_list {
-	struct n_hdlc_buf *head;
-	struct n_hdlc_buf *tail;
+	struct list_head  list;
 	int		  count;
 	spinlock_t	  spinlock;
 };
@@ -136,7 +135,6 @@ struct n_hdlc_buf_list {
  * @backup_tty - TTY to use if tty gets closed
  * @tbusy - reentrancy flag for tx wakeup code
  * @woke_up - FIXME: describe this field
- * @tbuf - currently transmitting tx buffer
  * @tx_buf_list - list of pending transmit frame buffers
  * @rx_buf_list - list of received frame buffers
  * @tx_free_buf_list - list unused transmit frame buffers
@@ -149,7 +147,6 @@ struct n_hdlc {
 	struct tty_struct	*backup_tty;
 	int			tbusy;
 	int			woke_up;
-	struct n_hdlc_buf	*tbuf;
 	struct n_hdlc_buf_list	tx_buf_list;
 	struct n_hdlc_buf_list	rx_buf_list;
 	struct n_hdlc_buf_list	tx_free_buf_list;
@@ -159,6 +156,8 @@ struct n_hdlc {
 /*
  * HDLC buffer list manipulation functions
  */
+static void n_hdlc_buf_return(struct n_hdlc_buf_list *buf_list,
+						struct n_hdlc_buf *buf);
 static void n_hdlc_buf_put(struct n_hdlc_buf_list *list,
 			   struct n_hdlc_buf *buf);
 static struct n_hdlc_buf *n_hdlc_buf_get(struct n_hdlc_buf_list *list);
@@ -208,16 +207,9 @@ static void flush_tx_queue(struct tty_struct *tty)
 {
 	struct n_hdlc *n_hdlc = tty2n_hdlc(tty);
 	struct n_hdlc_buf *buf;
-	unsigned long flags;
 
 	while ((buf = n_hdlc_buf_get(&n_hdlc->tx_buf_list)))
 		n_hdlc_buf_put(&n_hdlc->tx_free_buf_list, buf);
- 	spin_lock_irqsave(&n_hdlc->tx_buf_list.spinlock, flags);
-	if (n_hdlc->tbuf) {
-		n_hdlc_buf_put(&n_hdlc->tx_free_buf_list, n_hdlc->tbuf);
-		n_hdlc->tbuf = NULL;
-	}
-	spin_unlock_irqrestore(&n_hdlc->tx_buf_list.spinlock, flags);
 }
 
 static struct tty_ldisc_ops n_hdlc_ldisc = {
@@ -283,7 +275,6 @@ static void n_hdlc_release(struct n_hdlc *n_hdlc)
 		} else
 			break;
 	}
-	kfree(n_hdlc->tbuf);
 	kfree(n_hdlc);
 	
 }	/* end of n_hdlc_release() */
@@ -402,13 +393,7 @@ static void n_hdlc_send_frames(struct n_hdlc *n_hdlc, struct tty_struct *tty)
 	n_hdlc->woke_up = 0;
 	spin_unlock_irqrestore(&n_hdlc->tx_buf_list.spinlock, flags);
 
-	/* get current transmit buffer or get new transmit */
-	/* buffer from list of pending transmit buffers */
-		
-	tbuf = n_hdlc->tbuf;
-	if (!tbuf)
-		tbuf = n_hdlc_buf_get(&n_hdlc->tx_buf_list);
-		
+	tbuf = n_hdlc_buf_get(&n_hdlc->tx_buf_list);
 	while (tbuf) {
 		if (debuglevel >= DEBUG_LEVEL_INFO)	
 			printk("%s(%d)sending frame %p, count=%d\n",
@@ -420,7 +405,7 @@ static void n_hdlc_send_frames(struct n_hdlc *n_hdlc, struct tty_struct *tty)
 
 		/* rollback was possible and has been done */
 		if (actual == -ERESTARTSYS) {
-			n_hdlc->tbuf = tbuf;
+			n_hdlc_buf_return(&n_hdlc->tx_buf_list, tbuf);
 			break;
 		}
 		/* if transmit error, throw frame away by */
@@ -435,10 +420,7 @@ static void n_hdlc_send_frames(struct n_hdlc *n_hdlc, struct tty_struct *tty)
 					
 			/* free current transmit buffer */
 			n_hdlc_buf_put(&n_hdlc->tx_free_buf_list, tbuf);
-			
-			/* this tx buffer is done */
-			n_hdlc->tbuf = NULL;
-			
+
 			/* wait up sleeping writers */
 			wake_up_interruptible(&tty->write_wait);
 	
@@ -448,10 +430,12 @@ static void n_hdlc_send_frames(struct n_hdlc *n_hdlc, struct tty_struct *tty)
 			if (debuglevel >= DEBUG_LEVEL_INFO)	
 				printk("%s(%d)frame %p pending\n",
 					__FILE__,__LINE__,tbuf);
-					
-			/* buffer not accepted by driver */
-			/* set this buffer as pending buffer */
-			n_hdlc->tbuf = tbuf;
+
+			/*
+			 * the buffer was not accepted by driver,
+			 * return it back into tx queue
+			 */
+			n_hdlc_buf_return(&n_hdlc->tx_buf_list, tbuf);
 			break;
 		}
 	}
@@ -749,7 +733,8 @@ static int n_hdlc_tty_ioctl(struct tty_struct *tty, struct file *file,
 	int error = 0;
 	int count;
 	unsigned long flags;
-	
+	struct n_hdlc_buf *buf = NULL;
+
 	if (debuglevel >= DEBUG_LEVEL_INFO)	
 		printk("%s(%d)n_hdlc_tty_ioctl() called %d\n",
 			__FILE__,__LINE__,cmd);
@@ -763,8 +748,10 @@ static int n_hdlc_tty_ioctl(struct tty_struct *tty, struct file *file,
 		/* report count of read data available */
 		/* in next available frame (if any) */
 		spin_lock_irqsave(&n_hdlc->rx_buf_list.spinlock,flags);
-		if (n_hdlc->rx_buf_list.head)
-			count = n_hdlc->rx_buf_list.head->count;
+		buf = list_first_entry_or_null(&n_hdlc->rx_buf_list.list,
+						struct n_hdlc_buf, list_item);
+		if (buf)
+			count = buf->count;
 		else
 			count = 0;
 		spin_unlock_irqrestore(&n_hdlc->rx_buf_list.spinlock,flags);
@@ -776,8 +763,10 @@ static int n_hdlc_tty_ioctl(struct tty_struct *tty, struct file *file,
 		count = tty_chars_in_buffer(tty);
 		/* add size of next output frame in queue */
 		spin_lock_irqsave(&n_hdlc->tx_buf_list.spinlock,flags);
-		if (n_hdlc->tx_buf_list.head)
-			count += n_hdlc->tx_buf_list.head->count;
+		buf = list_first_entry_or_null(&n_hdlc->tx_buf_list.list,
+						struct n_hdlc_buf, list_item);
+		if (buf)
+			count += buf->count;
 		spin_unlock_irqrestore(&n_hdlc->tx_buf_list.spinlock,flags);
 		error = put_user(count, (int __user *)arg);
 		break;
@@ -825,14 +814,14 @@ static unsigned int n_hdlc_tty_poll(struct tty_struct *tty, struct file *filp,
 		poll_wait(filp, &tty->write_wait, wait);
 
 		/* set bits for operations that won't block */
-		if (n_hdlc->rx_buf_list.head)
+		if (!list_empty(&n_hdlc->rx_buf_list.list))
 			mask |= POLLIN | POLLRDNORM;	/* readable */
 		if (test_bit(TTY_OTHER_CLOSED, &tty->flags))
 			mask |= POLLHUP;
 		if (tty_hung_up_p(filp))
 			mask |= POLLHUP;
 		if (!tty_is_writelocked(tty) &&
-				n_hdlc->tx_free_buf_list.head)
+				!list_empty(&n_hdlc->tx_free_buf_list.list))
 			mask |= POLLOUT | POLLWRNORM;	/* writable */
 	}
 	return mask;
@@ -858,7 +847,12 @@ static struct n_hdlc *n_hdlc_alloc(void)
 	spin_lock_init(&n_hdlc->tx_free_buf_list.spinlock);
 	spin_lock_init(&n_hdlc->rx_buf_list.spinlock);
 	spin_lock_init(&n_hdlc->tx_buf_list.spinlock);
-	
+
+	INIT_LIST_HEAD(&n_hdlc->rx_free_buf_list.list);
+	INIT_LIST_HEAD(&n_hdlc->tx_free_buf_list.list);
+	INIT_LIST_HEAD(&n_hdlc->rx_buf_list.list);
+	INIT_LIST_HEAD(&n_hdlc->tx_buf_list.list);
+
 	/* allocate free rx buffer list */
 	for(i=0;i<DEFAULT_RX_BUF_COUNT;i++) {
 		buf = kmalloc(N_HDLC_BUF_SIZE, GFP_KERNEL);
@@ -886,53 +880,65 @@ static struct n_hdlc *n_hdlc_alloc(void)
 }	/* end of n_hdlc_alloc() */
 
 /**
+ * n_hdlc_buf_return - put the HDLC buffer after the head of the specified list
+ * @buf_list - pointer to the buffer list
+ * @buf - pointer to the buffer
+ */
+static void n_hdlc_buf_return(struct n_hdlc_buf_list *buf_list,
+						struct n_hdlc_buf *buf)
+{
+	unsigned long flags;
+
+	spin_lock_irqsave(&buf_list->spinlock, flags);
+
+	list_add(&buf->list_item, &buf_list->list);
+	buf_list->count++;
+
+	spin_unlock_irqrestore(&buf_list->spinlock, flags);
+}
+
+/**
  * n_hdlc_buf_put - add specified HDLC buffer to tail of specified list
- * @list - pointer to buffer list
+ * @buf_list - pointer to buffer list
  * @buf	- pointer to buffer
  */
-static void n_hdlc_buf_put(struct n_hdlc_buf_list *list,
+static void n_hdlc_buf_put(struct n_hdlc_buf_list *buf_list,
 			   struct n_hdlc_buf *buf)
 {
 	unsigned long flags;
-	spin_lock_irqsave(&list->spinlock,flags);
-	
-	buf->link=NULL;
-	if (list->tail)
-		list->tail->link = buf;
-	else
-		list->head = buf;
-	list->tail = buf;
-	(list->count)++;
-	
-	spin_unlock_irqrestore(&list->spinlock,flags);
-	
+
+	spin_lock_irqsave(&buf_list->spinlock, flags);
+
+	list_add_tail(&buf->list_item, &buf_list->list);
+	buf_list->count++;
+
+	spin_unlock_irqrestore(&buf_list->spinlock, flags);
 }	/* end of n_hdlc_buf_put() */
 
 /**
  * n_hdlc_buf_get - remove and return an HDLC buffer from list
- * @list - pointer to HDLC buffer list
+ * @buf_list - pointer to HDLC buffer list
  * 
  * Remove and return an HDLC buffer from the head of the specified HDLC buffer
  * list.
  * Returns a pointer to HDLC buffer if available, otherwise %NULL.
  */
-static struct n_hdlc_buf* n_hdlc_buf_get(struct n_hdlc_buf_list *list)
+static struct n_hdlc_buf *n_hdlc_buf_get(struct n_hdlc_buf_list *buf_list)
 {
 	unsigned long flags;
 	struct n_hdlc_buf *buf;
-	spin_lock_irqsave(&list->spinlock,flags);
-	
-	buf = list->head;
+
+	spin_lock_irqsave(&buf_list->spinlock, flags);
+
+	buf = list_first_entry_or_null(&buf_list->list,
+						struct n_hdlc_buf, list_item);
 	if (buf) {
-		list->head = buf->link;
-		(list->count)--;
+		list_del(&buf->list_item);
+		buf_list->count--;
 	}
-	if (!list->head)
-		list->tail = NULL;
-	
-	spin_unlock_irqrestore(&list->spinlock,flags);
+
+	spin_unlock_irqrestore(&buf_list->spinlock, flags);
 	return buf;
-	
 }	/* end of n_hdlc_buf_get() */
 
 static char hdlc_banner[] __initdata =
-- 
2.8.0.rc2.1.gbe9624a

  parent reply	other threads:[~2017-06-08  0:00 UTC|newest]

Thread overview: 254+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-07 22:56 [PATCH 3.10 000/250] 3.10.106-stable review Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 001/250] packet: fix race condition in packet_set_ring Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 002/250] crypto: crypto_memneq - add equality testing of memory regions w/o timing leaks Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 003/250] EVM: Use crypto_memneq() for digest comparisons Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 004/250] libceph: don't set weight to IN when OSD is destroyed Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 005/250] KVM: x86: fix emulation of "MOV SS, null selector" Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 006/250] KVM: x86: Introduce segmented_write_std Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 007/250] posix_acl: Clear SGID bit when setting file permissions Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 008/250] tmpfs: clear S_ISGID when setting posix ACLs Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 009/250] fbdev: color map copying bounds checking Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 010/250] selinux: fix off-by-one in setprocattr Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 011/250] tcp: avoid infinite loop in tcp_splice_read() Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 012/250] xfrm_user: validate XFRM_MSG_NEWAE XFRMA_REPLAY_ESN_VAL replay_window Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 013/250] xfrm_user: validate XFRM_MSG_NEWAE incoming ESN size harder Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 014/250] KEYS: Disallow keyrings beginning with '.' to be joined as session keyrings Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 015/250] KEYS: Change the name of the dead type to ".dead" to prevent user access Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 016/250] KEYS: fix keyctl_set_reqkey_keyring() to not leak thread keyrings Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 017/250] ext4: fix data exposure after a crash Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 018/250] locking/rtmutex: Prevent dequeue vs. unlock race Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 019/250] m68k: Fix ndelay() macro Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 020/250] hotplug: Make register and unregister notifier API symmetric Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 021/250] Btrfs: fix tree search logic when replaying directory entry deletes Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 022/250] USB: serial: kl5kusb105: fix open error path Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 023/250] block_dev: don't test bdev->bd_contains when it is not stable Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 024/250] crypto: caam - fix AEAD givenc descriptors Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 025/250] ext4: fix mballoc breakage with 64k block size Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 026/250] ext4: fix stack memory corruption " Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 027/250] ext4: reject inodes with negative size Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 028/250] ext4: return -ENOMEM instead of success Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 029/250] f2fs: set ->owner for debugfs status file's file_operations Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 030/250] block: protect iterate_bdevs() against concurrent close Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 031/250] scsi: zfcp: fix use-after-"free" in FC ingress path after TMF Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 032/250] scsi: zfcp: do not trace pure benign residual HBA responses at default level Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 033/250] scsi: zfcp: fix rport unblock race with LUN recovery Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 034/250] ftrace/x86_32: Set ftrace_stub to weak to prevent gcc from using short jumps to it Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 035/250] IB/mad: Fix an array index check Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 036/250] IB/multicast: Check ib_find_pkey() return value Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 037/250] powerpc: Convert cmp to cmpd in idle enter sequence Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 038/250] usb: gadget: composite: Test get_alt() presence instead of set_alt() Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 039/250] USB: serial: omninet: fix NULL-derefs at open and disconnect Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 040/250] USB: serial: quatech2: fix sleep-while-atomic in close Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 041/250] USB: serial: pl2303: fix NULL-deref at open Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 042/250] USB: serial: keyspan_pda: verify endpoints at probe Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 043/250] USB: serial: spcp8x5: fix NULL-deref at open Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 044/250] USB: serial: io_ti: " Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 045/250] USB: serial: io_ti: fix another " Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 046/250] USB: serial: iuu_phoenix: fix " Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 047/250] USB: serial: garmin_gps: fix memory leak on failed URB submit Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 048/250] USB: serial: ti_usb_3410_5052: fix NULL-deref at open Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 049/250] USB: serial: io_edgeport: " Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 050/250] USB: serial: oti6858: " Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 051/250] USB: serial: cyberjack: " Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 052/250] USB: serial: kobil_sct: fix NULL-deref in write Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 053/250] USB: serial: mos7840: fix NULL-deref at open Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 054/250] USB: serial: mos7720: " Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 055/250] USB: serial: mos7720: fix use-after-free on probe errors Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 056/250] USB: serial: mos7720: fix parport " Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 057/250] USB: serial: mos7720: fix parallel probe Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 058/250] usb: xhci-mem: use passed in GFP flags instead of GFP_KERNEL Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 059/250] usb: musb: Fix trying to free already-free IRQ 4 Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 060/250] ALSA: usb-audio: Fix bogus error return in snd_usb_create_stream() Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 061/250] USB: serial: kl5kusb105: abort on open exception path Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 062/250] staging: iio: ad7606: fix improper setting of oversampling pins Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 063/250] usb: dwc3: gadget: always unmap EP0 requests Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 064/250] cris: Only build flash rescue image if CONFIG_ETRAX_AXISFLASHMAP is selected Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 065/250] hwmon: (ds620) Fix overflows seen when writing temperature limits Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 066/250] clk: clk-wm831x: fix a logic error Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 067/250] iommu/amd: Fix the left value check of cmd buffer Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 068/250] scsi: mvsas: fix command_active typo Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 069/250] target/iscsi: Fix double free in lio_target_tiqn_addtpg() Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 070/250] mmc: mmc_test: Uninitialized return value Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 071/250] powerpc/pci/rpadlpar: Fix device reference leaks Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 072/250] ser_gigaset: return -ENOMEM on error instead of success Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 073/250] net, sched: fix soft lockup in tc_classify Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 074/250] net: stmmac: Fix race between stmmac_drv_probe and stmmac_open Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 075/250] gro: Enter slow-path if there is no tailroom Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 076/250] gro: use min_t() in skb_gro_reset_offset() Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 077/250] gro: Disable frag0 optimization on IPv6 ext headers Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 078/250] powerpc: Fix build warning on 32-bit PPC Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 079/250] Input: i8042 - add Pegatron touchpad to noloop table Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 080/250] mm/hugetlb.c: fix reservation race when freeing surplus pages Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 081/250] USB: serial: kl5kusb105: fix line-state error handling Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 082/250] USB: serial: ch341: fix initial modem-control state Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 083/250] USB: serial: ch341: fix open error handling Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 084/250] USB: serial: ch341: fix control-message " Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 085/250] USB: serial: ch341: fix open and resume after B0 Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 086/250] USB: serial: ch341: fix resume after reset Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 087/250] USB: serial: ch341: fix modem-control and B0 handling Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 088/250] x86/cpu: Fix bootup crashes by sanitizing the argument of the 'clearcpuid=' command-line option Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 089/250] NFSv4.1: nfs4_fl_prepare_ds must be careful about reporting success Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 090/250] powerpc/ibmebus: Fix further device reference leaks Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 091/250] powerpc/ibmebus: Fix device reference leaks in sysfs interface Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 092/250] IB/mlx4: Set traffic class in AH Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 093/250] IB/mlx4: Fix port query for 56Gb Ethernet links Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 094/250] perf scripting: Avoid leaking the scripting_context variable Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 095/250] ARM: dts: imx31: fix clock control module interrupts description Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 096/250] svcrpc: don't leak contexts on PROC_DESTROY Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 097/250] mmc: mxs-mmc: Fix additional cycles after transmission stop Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 098/250] mtd: nand: xway: disable module support Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 099/250] ubifs: Fix journal replay wrt. xattr nodes Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 100/250] arm64/ptrace: Preserve previous registers for short regset write Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 101/250] arm64/ptrace: Avoid uninitialised struct padding in fpr_set() Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 102/250] arm64/ptrace: Reject attempts to set incomplete hardware breakpoint fields Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 103/250] ARM: ux500: fix prcmu_is_cpu_in_wfi() calculation Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 104/250] ite-cir: initialize use_demodulator before using it Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 105/250] fuse: do not use iocb after it may have been freed Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 106/250] crypto: caam - fix non-hmac hashes Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 107/250] drm/i915: Don't leak edid in intel_crt_detect_ddc() Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 108/250] s5k4ecgx: select CRC32 helper Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 109/250] platform/x86: intel_mid_powerbtn: Set IRQ_ONESHOT Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 110/250] net: fix harmonize_features() vs NETIF_F_HIGHDMA Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 111/250] tcp: initialize max window for a new fastopen socket Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 112/250] svcrpc: fix oops in absence of krb5 module Willy Tarreau
2017-06-08  8:19   ` Simo Sorce
2017-06-07 22:58 ` [PATCH 3.10 113/250] ARM: 8643/3: arm/ptrace: Preserve previous registers for short regset write Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 114/250] mac80211: Fix adding of mesh vendor IEs Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 115/250] scsi: zfcp: fix use-after-free by not tracing WKA port open/close on failed send Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 116/250] drm/i915: fix use-after-free in page_flip_completed() Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 117/250] net: use a work queue to defer net_disable_timestamp() work Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 118/250] ipv4: keep skb->dst around in presence of IP options Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 119/250] netlabel: out of bound access in cipso_v4_validate() Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 120/250] ip6_gre: fix ip6gre_err() invalid reads Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 121/250] ping: fix a null pointer dereference Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 122/250] l2tp: do not use udp_ioctl() Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 123/250] packet: fix races in fanout_add() Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 124/250] packet: Do not call fanout_release from atomic contexts Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 125/250] net: socket: fix recvmmsg not returning error from sock_error Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 126/250] USB: serial: mos7840: fix another NULL-deref at open Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 127/250] USB: serial: ftdi_sio: fix modem-status error handling Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 128/250] USB: serial: ftdi_sio: fix extreme low-latency setting Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 129/250] USB: serial: ftdi_sio: fix line-status over-reporting Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 130/250] USB: serial: spcp8x5: fix modem-status handling Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 131/250] USB: serial: opticon: fix CTS retrieval at open Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 132/250] USB: serial: ark3116: fix register-accessor error handling Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 133/250] x86/platform/goldfish: Prevent unconditional loading Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 134/250] goldfish: Sanitize the broken interrupt handler Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 135/250] ocfs2: do not write error flag to user structure we cannot copy from/to Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 136/250] mfd: pm8921: Potential NULL dereference in pm8921_remove() Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 137/250] drm/nv50/disp: min/max are reversed in nv50_crtc_gamma_set() Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 138/250] net: 6lowpan: fix lowpan_header_create non-compression memcpy call Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 139/250] vti4: Don't count header length twice Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 140/250] net/sched: em_meta: Fix 'meta vlan' to correctly recognize zero VID frames Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 141/250] MIPS: OCTEON: Fix copy_from_user fault handling for large buffers Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 142/250] MIPS: Clear ISA bit correctly in get_frame_info() Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 143/250] MIPS: Prevent unaligned accesses during stack unwinding Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 144/250] MIPS: Fix get_frame_info() handling of microMIPS function size Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 145/250] MIPS: Fix is_jump_ins() handling of 16b microMIPS instructions Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 146/250] MIPS: Calculate microMIPS ra properly when unwinding the stack Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 147/250] MIPS: Handle microMIPS jumps in the same way as MIPS32/MIPS64 jumps Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 148/250] uvcvideo: Fix a wrong macro Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 149/250] scsi: aacraid: Reorder Adapter status check Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 150/250] ath9k: use correct OTP register offsets for the AR9340 and AR9550 Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 151/250] fuse: add missing FR_FORCE Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 152/250] RDMA/core: Fix incorrect structure packing for booleans Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 153/250] NFSv4: fix getacl head length estimation Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 154/250] s390/qdio: clear DSCI prior to scanning multiple input queues Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 155/250] IB/ipoib: Fix deadlock between rmmod and set_mode Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 156/250] ktest: Fix child exit code processing Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 157/250] nlm: Ensure callback code also checks that the files match Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 158/250] dm: flush queued bios when process blocks to avoid deadlock Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 159/250] USB: serial: digi_acceleport: fix OOB data sanity check Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 160/250] USB: serial: digi_acceleport: fix OOB-event processing Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 161/250] MIPS: ip27: Disable qlge driver in defconfig Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 162/250] tracing: Add #undef to fix compile error Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 163/250] USB: serial: safe_serial: fix information leak in completion handler Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 164/250] USB: serial: omninet: fix reference leaks at open Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 165/250] USB: iowarrior: fix NULL-deref at probe Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 166/250] USB: iowarrior: fix NULL-deref in write Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 167/250] USB: serial: io_ti: fix NULL-deref in interrupt callback Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 168/250] USB: serial: io_ti: fix information leak in completion handler Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 169/250] vxlan: correctly validate VXLAN ID against VXLAN_N_VID Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 170/250] ipv4: mask tos for input route Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 171/250] locking/static_keys: Add static_key_{en,dis}able() helpers Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 172/250] net: net_enable_timestamp() can be called from irq contexts Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 173/250] dccp/tcp: fix routing redirect race Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 174/250] net sched actions: decrement module reference count after table flush Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 175/250] perf/core: Fix event inheritance on fork() Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 176/250] isdn/gigaset: fix NULL-deref at probe Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 177/250] xen: do not re-use pirq number cached in pci device msi msg data Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 178/250] net: properly release sk_frag.page Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 179/250] net: unix: properly re-increment inflight counter of GC discarded candidates Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 180/250] Input: ims-pcu - validate number of endpoints before using them Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 181/250] Input: hanwang " Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 182/250] Input: yealink " Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 183/250] Input: cm109 " Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 184/250] USB: uss720: fix NULL-deref at probe Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 185/250] USB: idmouse: " Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 186/250] USB: wusbcore: " Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 187/250] uwb: i1480-dfu: " Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 188/250] uwb: hwa-rc: " Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 189/250] mmc: ushc: " Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 190/250] ext4: mark inode dirty after converting inline directory Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 191/250] scsi: libsas: fix ata xfer length Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 192/250] ALSA: ctxfi: Fallback DMA mask to 32bit Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 193/250] ALSA: ctxfi: Fix the incorrect check of dma_set_mask() call Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 194/250] ACPI / PNP: Avoid conflicting resource reservations Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 195/250] ACPI / resources: free memory on error in add_region_before() Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 196/250] ACPI / PNP: Reserve ACPI resources at the fs_initcall_sync stage Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 197/250] USB: OHCI: Fix race between ED unlink and URB submission Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 198/250] i2c: at91: manage unexpected RXRDY flag when starting a transfer Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 199/250] ipv4: igmp: Allow removing groups from a removed interface Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 200/250] ptrace: fix PTRACE_LISTEN race corrupting task->state Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 201/250] ring-buffer: Fix return value check in test_ringbuffer() Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 202/250] metag/usercopy: Fix alignment error checking Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 203/250] metag/usercopy: Add early abort to copy_to_user Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 204/250] metag/usercopy: Set flags before ADDZ Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 205/250] metag/usercopy: Fix src fixup in from user rapf loops Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 206/250] metag/usercopy: Add missing fixups Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 207/250] s390/decompressor: fix initrd corruption caused by bss clear Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 208/250] net/mlx4_en: Fix bad WQE issue Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 209/250] net/mlx4_core: Fix racy CQ (Completion Queue) free Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 210/250] char: Drop bogus dependency of DEVPORT on !M68K Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 211/250] powerpc: Disable HFSCR[TM] if TM is not supported Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 212/250] pegasus: Use heap buffers for all register access Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 213/250] rtl8150: " Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 214/250] tracing: Allocate the snapshot buffer before enabling probe Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 215/250] ring-buffer: Have ring_buffer_iter_empty() return true when empty Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 216/250] netfilter: arp_tables: fix invoking 32bit "iptable -P INPUT ACCEPT" failed in 64bit kernel Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 217/250] net: phy: handle state correctly in phy_stop_machine Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 218/250] l2tp: take reference on sessions being dumped Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 219/250] MIPS: KGDB: Use kernel context for sleeping threads Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 220/250] ARM: dts: imx31: move CCM device node to AIPS2 bus devices Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 221/250] ARM: dts: imx31: fix AVIC base address Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 222/250] tun: Fix TUN_PKT_STRIP setting Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 223/250] Staging: vt6655-6: potential NULL dereference in hostap_disable_hostapd() Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 224/250] net: sctp: rework multihoming retransmission path selection to rfc4960 Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 225/250] perf trace: Use the syscall raw_syscalls:sys_enter timestamp Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 226/250] USB: usbtmc: add missing endpoint sanity check Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 227/250] ping: implement proper locking Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 228/250] USB: fix problems with duplicate endpoint addresses Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 229/250] USB: dummy-hcd: fix bug in stop_activity (handle ep0) Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 230/250] mm/init: fix zone boundary creation Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 231/250] can: Fix kernel panic at security_sock_rcv_skb Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 232/250] Drivers: hv: avoid vfree() on crash Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 233/250] xc2028: avoid use after free Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 234/250] xc2028: unlock on error in xc2028_set_config() Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 235/250] xc2028: Fix use-after-free bug properly Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 236/250] ipv6: fix ip6_tnl_parse_tlv_enc_lim() Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 237/250] ipv6: pointer math error in ip6_tnl_parse_tlv_enc_lim() Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 238/250] ipv6: fix the use of pcpu_tstats in ip6_tunnel Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 239/250] sctp: avoid BUG_ON on sctp_wait_for_sndbuf Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 240/250] sctp: deny peeloff operation on asocs with threads sleeping on it Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 241/250] KVM: x86: clear bus pointer when destroyed Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 242/250] kvm: exclude ioeventfd from counting kvm_io_range limit Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 243/250] KVM: kvm_io_bus_unregister_dev() should never fail Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 244/250] TTY: n_hdlc, fix lockdep false positive Willy Tarreau
2017-06-07 23:00 ` Willy Tarreau [this message]
2017-06-07 23:00 ` [PATCH 3.10 246/250] ipv6: handle -EFAULT from skb_copy_bits Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 247/250] fs: exec: apply CLOEXEC before changing dumpable task flags Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 248/250] mm/huge_memory.c: respect FOLL_FORCE/FOLL_COW for thp Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 249/250] dccp/tcp: do not inherit mc_list from parent Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 250/250] char: lp: fix possible integer overflow in lp_setup() Willy Tarreau
2017-06-08  0:38 ` [PATCH 3.10 000/250] 3.10.106-stable review Guenter Roeck
2017-06-08  4:23   ` Willy Tarreau

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=1496876436-32402-246-git-send-email-w@1wt.eu \
    --to=w@1wt.eu \
    --cc=alex.popov@linux.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --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®