linux-kernel.vger.kernel.org archive mirror
 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: Paul Moore <pmoore@redhat.com>, Kamal Mostafa <kamal@canonical.com>
Subject: [PATCH 3.13 128/187] netlabel: fix the horribly broken catmap functions
Date: Mon, 15 Sep 2014 15:08:58 -0700	[thread overview]
Message-ID: <1410818997-9432-129-git-send-email-kamal@canonical.com> (raw)
In-Reply-To: <1410818997-9432-1-git-send-email-kamal@canonical.com>

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

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

From: Paul Moore <pmoore@redhat.com>

commit 4b8feff251da3d7058b5779e21b33a85c686b974 upstream.

The NetLabel secattr catmap functions, and the SELinux import/export
glue routines, were broken in many horrible ways and the SELinux glue
code fiddled with the NetLabel catmap structures in ways that we
probably shouldn't allow.  At some point this "worked", but that was
likely due to a bit of dumb luck and sub-par testing (both inflicted
by yours truly).  This patch corrects these problems by basically
gutting the code in favor of something less obtuse and restoring the
NetLabel abstractions in the SELinux catmap glue code.

Everything is working now, and if it decides to break itself in the
future this code will be much easier to debug than the code it
replaces.

One noteworthy side effect of the changes is that it is no longer
necessary to allocate a NetLabel catmap before calling one of the
NetLabel APIs to set a bit in the catmap.  NetLabel will automatically
allocate the catmap nodes when needed, resulting in less allocations
when the lowest bit is greater than 255 and less code in the LSMs.

Reported-by: Christian Evans <frodox@zoho.com>
Signed-off-by: Paul Moore <pmoore@redhat.com>
Tested-by: Casey Schaufler <casey@schaufler-ca.com>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
 include/net/netlabel.h        |  26 ++++-
 net/ipv4/cipso_ipv4.c         |  15 ---
 net/netlabel/netlabel_kapi.c  | 216 ++++++++++++++++++++++++++++++++----------
 security/selinux/ss/ebitmap.c | 127 ++++++++++---------------
 security/smack/smack_access.c |   5 +-
 5 files changed, 240 insertions(+), 149 deletions(-)

diff --git a/include/net/netlabel.h b/include/net/netlabel.h
index 28400bd..e84d71b 100644
--- a/include/net/netlabel.h
+++ b/include/net/netlabel.h
@@ -286,11 +286,11 @@ static inline void netlbl_secattr_catmap_free(
 {
 	struct netlbl_lsm_secattr_catmap *iter;
 
-	do {
+	while (catmap) {
 		iter = catmap;
 		catmap = catmap->next;
 		kfree(iter);
-	} while (catmap);
+	}
 }
 
 /**
@@ -395,6 +395,9 @@ int netlbl_secattr_catmap_walk(struct netlbl_lsm_secattr_catmap *catmap,
 			       u32 offset);
 int netlbl_secattr_catmap_walk_rng(struct netlbl_lsm_secattr_catmap *catmap,
 				   u32 offset);
+int netlbl_secattr_catmap_getlong(struct netlbl_lsm_secattr_catmap *catmap,
+				  u32 *offset,
+				  unsigned long *bitmap);
 int netlbl_secattr_catmap_setbit(struct netlbl_lsm_secattr_catmap **catmap,
 				 u32 bit,
 				 gfp_t flags);
@@ -402,6 +405,10 @@ int netlbl_secattr_catmap_setrng(struct netlbl_lsm_secattr_catmap **catmap,
 				 u32 start,
 				 u32 end,
 				 gfp_t flags);
+int netlbl_secattr_catmap_setlong(struct netlbl_lsm_secattr_catmap **catmap,
+				  u32 offset,
+				  unsigned long bitmap,
+				  gfp_t flags);
 
 /*
  * LSM protocol operations (NetLabel LSM/kernel API)
@@ -505,6 +512,13 @@ static inline int netlbl_secattr_catmap_walk_rng(
 {
 	return -ENOENT;
 }
+static inline int netlbl_secattr_catmap_getlong(
+				      struct netlbl_lsm_secattr_catmap *catmap,
+				      u32 *offset,
+				      unsigned long *bitmap)
+{
+	return 0;
+}
 static inline int netlbl_secattr_catmap_setbit(
 				      struct netlbl_lsm_secattr_catmap **catmap,
 				      u32 bit,
@@ -520,6 +534,14 @@ static inline int netlbl_secattr_catmap_setrng(
 {
 	return 0;
 }
+static int netlbl_secattr_catmap_setlong(
+				      struct netlbl_lsm_secattr_catmap **catmap,
+				      u32 offset,
+				      unsigned long bitmap,
+				      gfp_t flags)
+{
+	return 0;
+}
 static inline int netlbl_enabled(void)
 {
 	return 0;
diff --git a/net/ipv4/cipso_ipv4.c b/net/ipv4/cipso_ipv4.c
index 78856ca..d335b667 100644
--- a/net/ipv4/cipso_ipv4.c
+++ b/net/ipv4/cipso_ipv4.c
@@ -1336,11 +1336,6 @@ static int cipso_v4_parsetag_rbm(const struct cipso_v4_doi *doi_def,
 	secattr->flags |= NETLBL_SECATTR_MLS_LVL;
 
 	if (tag_len > 4) {
-		secattr->attr.mls.cat =
-		                       netlbl_secattr_catmap_alloc(GFP_ATOMIC);
-		if (secattr->attr.mls.cat == NULL)
-			return -ENOMEM;
-
 		ret_val = cipso_v4_map_cat_rbm_ntoh(doi_def,
 						    &tag[4],
 						    tag_len - 4,
@@ -1432,11 +1427,6 @@ static int cipso_v4_parsetag_enum(const struct cipso_v4_doi *doi_def,
 	secattr->flags |= NETLBL_SECATTR_MLS_LVL;
 
 	if (tag_len > 4) {
-		secattr->attr.mls.cat =
-			               netlbl_secattr_catmap_alloc(GFP_ATOMIC);
-		if (secattr->attr.mls.cat == NULL)
-			return -ENOMEM;
-
 		ret_val = cipso_v4_map_cat_enum_ntoh(doi_def,
 						     &tag[4],
 						     tag_len - 4,
@@ -1527,11 +1517,6 @@ static int cipso_v4_parsetag_rng(const struct cipso_v4_doi *doi_def,
 	secattr->flags |= NETLBL_SECATTR_MLS_LVL;
 
 	if (tag_len > 4) {
-		secattr->attr.mls.cat =
-			               netlbl_secattr_catmap_alloc(GFP_ATOMIC);
-		if (secattr->attr.mls.cat == NULL)
-			return -ENOMEM;
-
 		ret_val = cipso_v4_map_cat_rng_ntoh(doi_def,
 						    &tag[4],
 						    tag_len - 4,
diff --git a/net/netlabel/netlabel_kapi.c b/net/netlabel/netlabel_kapi.c
index 82c7fca..21af4b9 100644
--- a/net/netlabel/netlabel_kapi.c
+++ b/net/netlabel/netlabel_kapi.c
@@ -406,6 +406,63 @@ out_entry:
  * Security Attribute Functions
  */
 
+#define _CM_F_NONE	0x00000000
+#define _CM_F_ALLOC	0x00000001
+
+/**
+ * _netlbl_secattr_catmap_getnode - Get a individual node from a catmap
+ * @catmap: pointer to the category bitmap
+ * @offset: the requested offset
+ * @cm_flags: catmap flags, see _CM_F_*
+ * @gfp_flags: memory allocation flags
+ *
+ * Description:
+ * Iterate through the catmap looking for the node associated with @offset; if
+ * the _CM_F_ALLOC flag is set in @cm_flags and there is no associated node,
+ * one will be created and inserted into the catmap.  Returns a pointer to the
+ * node on success, NULL on failure.
+ *
+ */
+static struct netlbl_lsm_secattr_catmap *_netlbl_secattr_catmap_getnode(
+				struct netlbl_lsm_secattr_catmap **catmap,
+				u32 offset,
+				unsigned int cm_flags,
+				gfp_t gfp_flags)
+{
+	struct netlbl_lsm_secattr_catmap *iter = *catmap;
+	struct netlbl_lsm_secattr_catmap *prev = NULL;
+
+	if (iter == NULL || offset < iter->startbit)
+		goto secattr_catmap_getnode_alloc;
+	while (iter && offset >= (iter->startbit + NETLBL_CATMAP_SIZE)) {
+		prev = iter;
+		iter = iter->next;
+	}
+	if (iter == NULL || offset < iter->startbit)
+		goto secattr_catmap_getnode_alloc;
+
+	return iter;
+
+secattr_catmap_getnode_alloc:
+	if (!(cm_flags & _CM_F_ALLOC))
+		return NULL;
+
+	iter = netlbl_secattr_catmap_alloc(gfp_flags);
+	if (iter == NULL)
+		return NULL;
+	iter->startbit = offset & ~(NETLBL_CATMAP_SIZE - 1);
+
+	if (prev == NULL) {
+		iter->next = *catmap;
+		*catmap = iter;
+	} else {
+		iter->next = prev->next;
+		prev->next = iter;
+	}
+
+	return iter;
+}
+
 /**
  * netlbl_secattr_catmap_walk - Walk a LSM secattr catmap looking for a bit
  * @catmap: the category bitmap
@@ -522,6 +579,54 @@ int netlbl_secattr_catmap_walk_rng(struct netlbl_lsm_secattr_catmap *catmap,
 }
 
 /**
+ * netlbl_secattr_catmap_getlong - Export an unsigned long bitmap
+ * @catmap: pointer to the category bitmap
+ * @offset: pointer to the requested offset
+ * @bitmap: the exported bitmap
+ *
+ * Description:
+ * Export a bitmap with an offset greater than or equal to @offset and return
+ * it in @bitmap.  The @offset must be aligned to an unsigned long and will be
+ * updated on return if different from what was requested; if the catmap is
+ * empty at the requested offset and beyond, the @offset is set to (u32)-1.
+ * Returns zero on sucess, negative values on failure.
+ *
+ */
+int netlbl_secattr_catmap_getlong(struct netlbl_lsm_secattr_catmap *catmap,
+				  u32 *offset,
+				  unsigned long *bitmap)
+{
+	struct netlbl_lsm_secattr_catmap *iter;
+	u32 off = *offset;
+	u32 idx;
+
+	/* only allow aligned offsets */
+	if ((off & (BITS_PER_LONG - 1)) != 0)
+		return -EINVAL;
+
+	if (off < catmap->startbit) {
+		off = catmap->startbit;
+		*offset = off;
+	}
+	iter = _netlbl_secattr_catmap_getnode(&catmap, off, _CM_F_NONE, 0);
+	if (iter == NULL) {
+		*offset = (u32)-1;
+		return 0;
+	}
+
+	if (off < iter->startbit) {
+		off = iter->startbit;
+		*offset = off;
+	} else
+		off -= iter->startbit;
+
+	idx = off / NETLBL_CATMAP_MAPSIZE;
+	*bitmap = iter->bitmap[idx] >> (off % NETLBL_CATMAP_SIZE);
+
+	return 0;
+}
+
+/**
  * netlbl_secattr_catmap_setbit - Set a bit in a LSM secattr catmap
  * @catmap: pointer to the category bitmap
  * @bit: the bit to set
@@ -536,32 +641,16 @@ int netlbl_secattr_catmap_setbit(struct netlbl_lsm_secattr_catmap **catmap,
 				 u32 bit,
 				 gfp_t flags)
 {
-	struct netlbl_lsm_secattr_catmap *iter = *catmap;
-	u32 node_bit;
-	u32 node_idx;
+	struct netlbl_lsm_secattr_catmap *iter;
+	u32 idx;
 
-	while (iter->next != NULL &&
-	       bit >= (iter->startbit + NETLBL_CATMAP_SIZE))
-		iter = iter->next;
-	if (bit < iter->startbit) {
-		iter = netlbl_secattr_catmap_alloc(flags);
-		if (iter == NULL)
-			return -ENOMEM;
-		iter->next = *catmap;
-		iter->startbit = bit & ~(NETLBL_CATMAP_SIZE - 1);
-		*catmap = iter;
-	} else if (bit >= (iter->startbit + NETLBL_CATMAP_SIZE)) {
-		iter->next = netlbl_secattr_catmap_alloc(flags);
-		if (iter->next == NULL)
-			return -ENOMEM;
-		iter = iter->next;
-		iter->startbit = bit & ~(NETLBL_CATMAP_SIZE - 1);
-	}
+	iter = _netlbl_secattr_catmap_getnode(catmap, bit, _CM_F_ALLOC, flags);
+	if (iter == NULL)
+		return -ENOMEM;
 
-	/* gcc always rounds to zero when doing integer division */
-	node_idx = (bit - iter->startbit) / NETLBL_CATMAP_MAPSIZE;
-	node_bit = bit - iter->startbit - (NETLBL_CATMAP_MAPSIZE * node_idx);
-	iter->bitmap[node_idx] |= NETLBL_CATMAP_BIT << node_bit;
+	bit -= iter->startbit;
+	idx = bit / NETLBL_CATMAP_MAPSIZE;
+	iter->bitmap[idx] |= NETLBL_CATMAP_BIT << (bit % NETLBL_CATMAP_MAPSIZE);
 
 	return 0;
 }
@@ -583,34 +672,61 @@ int netlbl_secattr_catmap_setrng(struct netlbl_lsm_secattr_catmap **catmap,
 				 u32 end,
 				 gfp_t flags)
 {
-	int ret_val = 0;
-	struct netlbl_lsm_secattr_catmap *iter = *catmap;
-	u32 iter_max_spot;
-	u32 spot;
-	u32 orig_spot = iter->startbit;
-
-	/* XXX - This could probably be made a bit faster by combining writes
-	 * to the catmap instead of setting a single bit each time, but for
-	 * right now skipping to the start of the range in the catmap should
-	 * be a nice improvement over calling the individual setbit function
-	 * repeatedly from a loop. */
-
-	while (iter->next != NULL &&
-	       start >= (iter->startbit + NETLBL_CATMAP_SIZE))
-		iter = iter->next;
-	iter_max_spot = iter->startbit + NETLBL_CATMAP_SIZE;
-
-	for (spot = start; spot <= end && ret_val == 0; spot++) {
-		if (spot >= iter_max_spot && iter->next != NULL) {
-			iter = iter->next;
-			iter_max_spot = iter->startbit + NETLBL_CATMAP_SIZE;
-		}
-		ret_val = netlbl_secattr_catmap_setbit(&iter, spot, flags);
-		if (iter->startbit < orig_spot)
-			*catmap = iter;
+	int rc = 0;
+	u32 spot = start;
+
+	while (rc == 0 && spot <= end) {
+		if (((spot & (BITS_PER_LONG - 1)) != 0) &&
+		    ((end - spot) > BITS_PER_LONG)) {
+			rc = netlbl_secattr_catmap_setlong(catmap,
+							   spot,
+							   (unsigned long)-1,
+							   flags);
+			spot += BITS_PER_LONG;
+		} else
+			rc = netlbl_secattr_catmap_setbit(catmap,
+							  spot++,
+							  flags);
 	}
 
-	return ret_val;
+	return rc;
+}
+
+/**
+ * netlbl_secattr_catmap_setlong - Import an unsigned long bitmap
+ * @catmap: pointer to the category bitmap
+ * @offset: offset to the start of the imported bitmap
+ * @bitmap: the bitmap to import
+ * @flags: memory allocation flags
+ *
+ * Description:
+ * Import the bitmap specified in @bitmap into @catmap, using the offset
+ * in @offset.  The offset must be aligned to an unsigned long.  Returns zero
+ * on success, negative values on failure.
+ *
+ */
+int netlbl_secattr_catmap_setlong(struct netlbl_lsm_secattr_catmap **catmap,
+				  u32 offset,
+				  unsigned long bitmap,
+				  gfp_t flags)
+{
+	struct netlbl_lsm_secattr_catmap *iter;
+	u32 idx;
+
+	/* only allow aligned offsets */
+	if ((offset & (BITS_PER_LONG - 1)) != 0)
+		return -EINVAL;
+
+	iter = _netlbl_secattr_catmap_getnode(catmap,
+					      offset, _CM_F_ALLOC, flags);
+	if (iter == NULL)
+		return -ENOMEM;
+
+	offset -= iter->startbit;
+	idx = offset / NETLBL_CATMAP_MAPSIZE;
+	iter->bitmap[idx] |= bitmap << (offset % NETLBL_CATMAP_MAPSIZE);
+
+	return 0;
 }
 
 /*
diff --git a/security/selinux/ss/ebitmap.c b/security/selinux/ss/ebitmap.c
index 820313a..842deca 100644
--- a/security/selinux/ss/ebitmap.c
+++ b/security/selinux/ss/ebitmap.c
@@ -89,48 +89,33 @@ int ebitmap_netlbl_export(struct ebitmap *ebmap,
 			  struct netlbl_lsm_secattr_catmap **catmap)
 {
 	struct ebitmap_node *e_iter = ebmap->node;
-	struct netlbl_lsm_secattr_catmap *c_iter;
-	u32 cmap_idx, cmap_sft;
-	int i;
-
-	/* NetLabel's NETLBL_CATMAP_MAPTYPE is defined as an array of u64,
-	 * however, it is not always compatible with an array of unsigned long
-	 * in ebitmap_node.
-	 * In addition, you should pay attention the following implementation
-	 * assumes unsigned long has a width equal with or less than 64-bit.
-	 */
+	unsigned long e_map;
+	u32 offset;
+	unsigned int iter;
+	int rc;
 
 	if (e_iter == NULL) {
 		*catmap = NULL;
 		return 0;
 	}
 
-	c_iter = netlbl_secattr_catmap_alloc(GFP_ATOMIC);
-	if (c_iter == NULL)
-		return -ENOMEM;
-	*catmap = c_iter;
-	c_iter->startbit = e_iter->startbit & ~(NETLBL_CATMAP_SIZE - 1);
+	if (*catmap != NULL)
+		netlbl_secattr_catmap_free(*catmap);
+	*catmap = NULL;
 
 	while (e_iter) {
-		for (i = 0; i < EBITMAP_UNIT_NUMS; i++) {
-			unsigned int delta, e_startbit, c_endbit;
-
-			e_startbit = e_iter->startbit + i * EBITMAP_UNIT_SIZE;
-			c_endbit = c_iter->startbit + NETLBL_CATMAP_SIZE;
-			if (e_startbit >= c_endbit) {
-				c_iter->next
-				  = netlbl_secattr_catmap_alloc(GFP_ATOMIC);
-				if (c_iter->next == NULL)
+		offset = e_iter->startbit;
+		for (iter = 0; iter < EBITMAP_UNIT_NUMS; iter++) {
+			e_map = e_iter->maps[iter];
+			if (e_map != 0) {
+				rc = netlbl_secattr_catmap_setlong(catmap,
+								   offset,
+								   e_map,
+								   GFP_ATOMIC);
+				if (rc != 0)
 					goto netlbl_export_failure;
-				c_iter = c_iter->next;
-				c_iter->startbit
-				  = e_startbit & ~(NETLBL_CATMAP_SIZE - 1);
 			}
-			delta = e_startbit - c_iter->startbit;
-			cmap_idx = delta / NETLBL_CATMAP_MAPSIZE;
-			cmap_sft = delta % NETLBL_CATMAP_MAPSIZE;
-			c_iter->bitmap[cmap_idx]
-				|= e_iter->maps[i] << cmap_sft;
+			offset += EBITMAP_UNIT_SIZE;
 		}
 		e_iter = e_iter->next;
 	}
@@ -155,56 +140,42 @@ netlbl_export_failure:
 int ebitmap_netlbl_import(struct ebitmap *ebmap,
 			  struct netlbl_lsm_secattr_catmap *catmap)
 {
+	int rc;
 	struct ebitmap_node *e_iter = NULL;
-	struct ebitmap_node *emap_prev = NULL;
-	struct netlbl_lsm_secattr_catmap *c_iter = catmap;
-	u32 c_idx, c_pos, e_idx, e_sft;
-
-	/* NetLabel's NETLBL_CATMAP_MAPTYPE is defined as an array of u64,
-	 * however, it is not always compatible with an array of unsigned long
-	 * in ebitmap_node.
-	 * In addition, you should pay attention the following implementation
-	 * assumes unsigned long has a width equal with or less than 64-bit.
-	 */
-
-	do {
-		for (c_idx = 0; c_idx < NETLBL_CATMAP_MAPCNT; c_idx++) {
-			unsigned int delta;
-			u64 map = c_iter->bitmap[c_idx];
-
-			if (!map)
-				continue;
+	struct ebitmap_node *e_prev = NULL;
+	u32 offset = 0, idx;
+	unsigned long bitmap;
+
+	for (;;) {
+		rc = netlbl_secattr_catmap_getlong(catmap, &offset, &bitmap);
+		if (rc < 0)
+			goto netlbl_import_failure;
+		if (offset == (u32)-1)
+			return 0;
 
-			c_pos = c_iter->startbit
-				+ c_idx * NETLBL_CATMAP_MAPSIZE;
-			if (!e_iter
-			    || c_pos >= e_iter->startbit + EBITMAP_SIZE) {
-				e_iter = kzalloc(sizeof(*e_iter), GFP_ATOMIC);
-				if (!e_iter)
-					goto netlbl_import_failure;
-				e_iter->startbit
-					= c_pos - (c_pos % EBITMAP_SIZE);
-				if (emap_prev == NULL)
-					ebmap->node = e_iter;
-				else
-					emap_prev->next = e_iter;
-				emap_prev = e_iter;
-			}
-			delta = c_pos - e_iter->startbit;
-			e_idx = delta / EBITMAP_UNIT_SIZE;
-			e_sft = delta % EBITMAP_UNIT_SIZE;
-			while (map) {
-				e_iter->maps[e_idx++] |= map & (-1UL);
-				map = EBITMAP_SHIFT_UNIT_SIZE(map);
-			}
+		if (e_iter == NULL ||
+		    offset >= e_iter->startbit + EBITMAP_SIZE) {
+			e_prev = e_iter;
+			e_iter = kzalloc(sizeof(*e_iter), GFP_ATOMIC);
+			if (e_iter == NULL)
+				goto netlbl_import_failure;
+			e_iter->startbit = offset & ~(EBITMAP_SIZE - 1);
+			if (e_prev == NULL)
+				ebmap->node = e_iter;
+			else
+				e_prev->next = e_iter;
+			ebmap->highbit = e_iter->startbit + EBITMAP_SIZE;
 		}
-		c_iter = c_iter->next;
-	} while (c_iter);
-	if (e_iter != NULL)
-		ebmap->highbit = e_iter->startbit + EBITMAP_SIZE;
-	else
-		ebitmap_destroy(ebmap);
 
+		/* offset will always be aligned to an unsigned long */
+		idx = EBITMAP_NODE_INDEX(e_iter, offset);
+		e_iter->maps[idx] = bitmap;
+
+		/* next */
+		offset += EBITMAP_UNIT_SIZE;
+	}
+
+	/* NOTE: we should never reach this return */
 	return 0;
 
 netlbl_import_failure:
diff --git a/security/smack/smack_access.c b/security/smack/smack_access.c
index 9ecf4f4..ea1bc50 100644
--- a/security/smack/smack_access.c
+++ b/security/smack/smack_access.c
@@ -435,10 +435,7 @@ int smk_netlbl_mls(int level, char *catset, struct netlbl_lsm_secattr *sap,
 
 	sap->flags |= NETLBL_SECATTR_MLS_CAT;
 	sap->attr.mls.lvl = level;
-	sap->attr.mls.cat = netlbl_secattr_catmap_alloc(GFP_ATOMIC);
-	if (!sap->attr.mls.cat)
-		return -ENOMEM;
-	sap->attr.mls.cat->startbit = 0;
+	sap->attr.mls.cat = NULL;
 
 	for (cat = 1, cp = catset, byte = 0; byte < len; cp++, byte++)
 		for (m = 0x80; m != 0; m >>= 1, cat++) {
-- 
1.9.1


  parent reply	other threads:[~2014-09-15 22:31 UTC|newest]

Thread overview: 202+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-15 22:06 [3.13.y.z extended stable] Linux 3.13.11.7 stable review Kamal Mostafa
2014-09-15 22:06 ` [PATCH 3.13 001/187] net: sctp: inherit auth_capable on INIT collisions Kamal Mostafa
2014-09-15 22:06 ` [PATCH 3.13 002/187] kvm: iommu: fix the third parameter of kvm_iommu_put_pages (CVE-2014-3601) Kamal Mostafa
2014-09-15 22:06 ` [PATCH 3.13 003/187] bnx2x: fix crash during TSO tunneling Kamal Mostafa
2014-09-15 22:06 ` [PATCH 3.13 004/187] inetpeer: get rid of ip_id_count Kamal Mostafa
2014-09-15 22:06 ` [PATCH 3.13 005/187] ip: make IP identifiers less predictable Kamal Mostafa
2014-09-15 22:06 ` [PATCH 3.13 006/187] tcp: Fix integer-overflows in TCP veno Kamal Mostafa
2014-09-15 22:06 ` [PATCH 3.13 007/187] tcp: Fix integer-overflow in TCP vegas Kamal Mostafa
2014-09-15 22:06 ` [PATCH 3.13 008/187] macvlan: Initialize vlan_features to turn on offload support Kamal Mostafa
2014-09-15 22:06 ` [PATCH 3.13 009/187] net: Correctly set segment mac_len in skb_segment() Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 010/187] iovec: make sure the caller actually wants anything in memcpy_fromiovecend Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 011/187] batman-adv: Fix out-of-order fragmentation support Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 012/187] sctp: fix possible seqlock seadlock in sctp_packet_transmit() Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 013/187] sparc64: Fix argument sign extension for compat_sys_futex() Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 014/187] sparc64: Make itc_sync_lock raw Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 015/187] sparc64: Fix executable bit testing in set_pmd_at() paths Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 016/187] sparc64: Fix huge PMD invalidation Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 017/187] sparc64: Fix bugs in get_user_pages_fast() wrt. THP Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 018/187] sparc64: Fix hex values in comment above pte_modify() Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 019/187] sparc64: Don't use _PAGE_PRESENT in pte_modify() mask Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 020/187] sparc64: Handle 32-bit tasks properly in compute_effective_address() Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 021/187] sparc64: Fix top-level fault handling bugs Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 022/187] sparc64: Fix range check in kern_addr_valid() Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 023/187] sparc64: Use 'ILOG2_4MB' instead of constant '22' Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 024/187] sparc64: Add basic validations to {pud,pmd}_bad() Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 025/187] sparc64: Give more detailed information in {pgd,pmd}_ERROR() and kill pte_ERROR() Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 026/187] sparc64: Don't bark so loudly about 32-bit tasks generating 64-bit fault addresses Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 027/187] sparc64: Fix huge TSB mapping on pre-UltraSPARC-III cpus Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 028/187] sparc64: Add membar to Niagara2 memcpy code Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 029/187] sparc64: Do not insert non-valid PTEs into the TSB hash table Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 030/187] sparc64: Guard against flushing openfirmware mappings Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 031/187] bbc-i2c: Fix BBC I2C envctrl on SunBlade 2000 Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 032/187] sunsab: Fix detection of BREAK on sunsab serial console Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 033/187] sparc64: ldc_connect() should not return EINVAL when handshake is in progress Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 034/187] arch/sparc/math-emu/math_32.c: drop stray break operator Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 035/187] sunrpc: create a new dummy pipe for gssd to hold open Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 036/187] sunrpc: replace sunrpc_net->gssd_running flag with a more reliable check Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 037/187] nfs: check if gssd is running before attempting to use krb5i auth in SETCLIENTID call Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 038/187] Revert "x86-64, modify_ldt: Make support for 16-bit segments a runtime option" Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 039/187] x86-64, espfix: Don't leak bits 31:16 of %esp returning to 16-bit stack Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 040/187] x86, espfix: Move espfix definitions into a separate header file Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 041/187] x86, espfix: Fix broken header guard Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 042/187] x86, espfix: Make espfix64 a Kconfig option, fix UML Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 043/187] x86, espfix: Make it possible to disable 16-bit support Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 044/187] x86_64/entry/xen: Do not invoke espfix64 on Xen Kamal Mostafa
2014-09-17 11:25   ` Ben Hutchings
2014-09-17 16:11     ` Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 045/187] bnx2x: Fix kernel crash and data miscompare after EEH recovery Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 046/187] bnx2x: Adapter not recovery from EEH error injection Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 047/187] ALSA: usb-audio: fix BOSS ME-25 MIDI regression Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 048/187] blk-mq: fix initializing request's start time Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 049/187] iwlwifi: mvm: Add a missed beacons threshold Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 050/187] ASoC: wm8994: Prevent double lock of accdet_lock mutex on wm1811 Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 051/187] [media] v4l: vsp1: Remove the unneeded vsp1_video_buffer video field Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 052/187] ASoC: max98090: Fix missing free_irq Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 053/187] KVM: x86: Inter-privilege level ret emulation is not implemeneted Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 054/187] [media] au0828: Only alt setting logic when needed Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 055/187] ASoC: pcm: fix dpcm_path_put in dpcm runtime update Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 056/187] crypto: ux500 - make interrupt mode plausible Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 057/187] Bluetooth: btmrvl: wait for HOST_SLEEP_ENABLE event in suspend Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 058/187] ASoC: adau1701: fix adau1701_reg_read() Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 059/187] ASoC: wm_adsp: Add missing MODULE_LICENSE Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 060/187] regulator: arizona-ldo1: remove bypass functionality Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 061/187] ASoC: samsung: Correct I2S DAI suspend/resume ops Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 062/187] drm/tilcdc: panel: fix dangling sysfs connector node Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 063/187] drm/tilcdc: slave: " Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 064/187] drm/tilcdc: tfp410: " Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 065/187] drm/tilcdc: panel: fix leak when unloading the module Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 066/187] drm/tilcdc: fix release order on exit Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 067/187] drm/tilcdc: fix double kfree Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 068/187] ACPICA: Utilities: Fix memory leak in acpi_ut_copy_iobject_to_iobject Kamal Mostafa
2014-09-15 22:07 ` [PATCH 3.13 069/187] stable_kernel_rules: Add pointer to netdev-FAQ for network patches Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 070/187] USB: ehci-pci: USB host controller support for Intel Quark X1000 Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 071/187] debugfs: Fix corrupted loop in debugfs_remove_recursive Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 072/187] selinux: fix the default socket labeling in sock_graft() Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 073/187] x86, ia64: Move EFI_FB vga_default_device() initialization to pci_vga_fixup() Kamal Mostafa
2014-09-16  6:05   ` Bruno Prémont
2014-09-16 13:31     ` Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 074/187] serial: core: Preserve termios c_cflag for console resume Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 075/187] mtd/ftl: fix the double free of the buffers allocated in build_maps() Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 076/187] ext4: Fix block zeroing when punching holes in indirect block files Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 077/187] ext4: fix punch hole on files with indirect mapping Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 078/187] x86: don't exclude low BIOS area when allocating address space for non-PCI cards Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 079/187] PCI: Configure ASPM when enabling device Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 080/187] Bluetooth: never linger on process exit Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 081/187] ASoC: blackfin: use samples to set silence Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 082/187] USB: OHCI: fix bugs in debug routines Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 083/187] USB: OHCI: don't lose track of EDs when a controller dies Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 084/187] mei: start disconnect request timer consistently Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 085/187] mei: fix return value on disconnect timeout Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 086/187] USB: Fix persist resume of some SS USB devices Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 087/187] [media] media-device: Remove duplicated memset() in media_enum_entities() Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 088/187] Bluetooth: Avoid use of session socket after the session gets freed Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 089/187] [media] xc5000: Fix get_frequency() Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 090/187] [media] xc4000: " Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 091/187] CAPABILITIES: remove undefined caps from all processes Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 092/187] scsi: add a blacklist flag which enables VPD page inquiries Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 093/187] bfa: Fix undefined bit shift on big-endian architectures with 32-bit DMA address Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 094/187] hpsa: fix bad -ENOMEM return value in hpsa_big_passthru_ioctl Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 095/187] Drivers: scsi: storvsc: Change the limits to reflect the values on the host Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 096/187] Drivers: scsi: storvsc: Set cmd_per_lun to reflect value supported by the Host Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 097/187] Drivers: scsi: storvsc: Filter commands based on the storage protocol version Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 098/187] Drivers: scsi: storvsc: Fix a bug in handling VMBUS " Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 099/187] Drivers: scsi: storvsc: Implement a eh_timed_out handler Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 100/187] drivers: scsi: storvsc: Set srb_flags in all cases Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 101/187] drivers: scsi: storvsc: Correctly handle TEST_UNIT_READY failure Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 102/187] x86_64/vsyscall: Fix warn_bad_vsyscall log output Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 103/187] KVM: PPC: Book3S PR: Take SRCU read lock around RTAS kvm_read_guest() call Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 104/187] Revert "selinux: fix the default socket labeling in sock_graft()" Kamal Mostafa
2014-09-17 11:08   ` Ben Hutchings
2014-09-17 16:07     ` Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 105/187] spi: orion: fix incorrect handling of cell-index DT property Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 106/187] mfd: omap-usb-host: Fix improper mask use Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 107/187] tpm: Add missing tpm_do_selftest to ST33 I2C driver Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 108/187] tpm: missing tpm_chip_put in tpm_get_random() Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 109/187] scsi: do not issue SCSI RSOC command to Promise Vtrak E610f Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 110/187] hwmon: (ads1015) Fix off-by-one for valid channel index checking Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 111/187] ALSA: hda - fix an external mic jack problem on a HP machine Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 112/187] MIPS: tlbex: Fix a missing statement for HUGETLB Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 113/187] MIPS: Prevent user from setting FCSR cause bits Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 114/187] KVM: x86: always exit on EOIs for interrupts listed in the IOAPIC redir table Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 115/187] MIPS: Remove BUG_ON(!is_fpu_owner()) in do_ade() Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 116/187] MIPS: ptrace: Test correct task's flags in task_user_regset_view() Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 117/187] MIPS: asm/reg.h: Make 32- and 64-bit definitions available at the same time Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 118/187] MIPS: ptrace: Change GP regset to use correct core dump register layout Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 119/187] md/raid1,raid10: always abort recover on write error Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 120/187] ext4: fix ext4_discard_allocated_blocks() if we can't allocate the pa struct Kamal Mostafa
2014-09-17 11:13   ` Ben Hutchings
2014-09-17 16:08     ` Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 121/187] hwmon: (lm85) Fix various errors on attribute writes Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 122/187] hwmon: (lm78) Fix overflow problems seen when writing large temperature limits Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 123/187] hwmon: (amc6821) Fix possible race condition bug Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 124/187] MIPS: GIC: Prevent array overrun Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 125/187] mnt: Add tests for unprivileged remount cases that have found to be faulty Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 126/187] ARM: OMAP3: Fix choice of omap3_restore_es function in OMAP34XX rev3.1.2 case Kamal Mostafa
2014-09-15 22:08 ` [PATCH 3.13 127/187] netlabel: fix a problem when setting bits below the previously lowest bit Kamal Mostafa
2014-09-15 22:08 ` Kamal Mostafa [this message]
2014-09-15 22:08 ` [PATCH 3.13 129/187] netlabel: fix the catmap walking functions Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 130/187] drivers/i2c/busses: use correct type for dma_map/unmap Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 131/187] NFSD: Decrease nfsd_users in nfsd_startup_generic fail Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 132/187] MIPS: O32/32-bit: Fix bug which can cause incorrect system call restarts Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 133/187] IB/srp: Fix deadlock between host removal and multipathd Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 134/187] USB: serial: ftdi_sio: Annotate the current Xsens PID assignments Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 135/187] USB: serial: ftdi_sio: Add support for new Xsens devices Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 136/187] USB: devio: fix issue with log flooding Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 137/187] CIFS: Fix async reading on reconnects Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 138/187] CIFS: Fix STATUS_CANNOT_DELETE error mapping for SMB2 Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 139/187] xfs: ensure verifiers are attached to recovered buffers Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 140/187] drm/tegra: add MODULE_DEVICE_TABLEs Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 141/187] ALSA: virtuoso: add Xonar Essence STX II support Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 142/187] hwmon: (gpio-fan) Prevent overflow problem when writing large limits Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 143/187] hwmon: (sis5595) " Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 144/187] NFS: Fix /proc/fs/nfsfs/servers and /proc/fs/nfsfs/volumes Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 145/187] drm/ttm: Fix possible division by 0 in ttm_dma_pool_shrink_scan() Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 146/187] drm/ttm: Choose a pool to shrink correctly " Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 147/187] drm/ttm: Use mutex_trylock() to avoid deadlock inside shrinker functions Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 148/187] drm/ttm: Fix possible stack overflow by recursive shrinker calls Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 149/187] drm/ttm: Pass GFP flags in order to avoid deadlock Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 150/187] powerpc/mm/numa: Fix break placement Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 151/187] powerpc/pci: Reorder pci bus/bridge unregistration during PHB removal Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 152/187] drm/radeon: load the lm63 driver for an lm64 thermal chip Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 153/187] drm/radeon: set VM base addr using the PFP v2 Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 154/187] drm/radeon/atom: add new voltage fetch function for hawaii Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 155/187] drm/radeon/dpm: handle voltage info fetching on hawaii Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 156/187] drm/radeon: re-enable dpm by default on cayman Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 157/187] drm/radeon: re-enable dpm by default on BTC Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 158/187] drm/radeon: use packet2 for nop on hawaii with old firmware Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 159/187] drm/radeon: tweak ACCEL_WORKING2 query for hawaii Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 160/187] KVM: nVMX: fix "acknowledge interrupt on exit" when APICv is in use Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 161/187] RDMA/iwcm: Use a default listen backlog if needed Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 162/187] x86/efi: Enforce CONFIG_RELOCATABLE for EFI boot stub Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 163/187] net: sun4i-emac: fix memory leak on bad packet Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 164/187] hwmon: (ads1015) Fix out-of-bounds array access Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 165/187] hwmon: (dme1737) Prevent overflow problem when writing large limits Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 166/187] s390/locking: Reenable optimistic spinning Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 167/187] ring-buffer: Up rb_iter_peek() loop count to 3 Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 168/187] ring-buffer: Always reset iterator to reader page Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 169/187] kernel/smp.c:on_each_cpu_cond(): fix warning in fallback path Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 170/187] drm/i915: read HEAD register back in init_ring_common() to enforce ordering Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 171/187] vm_is_stack: use for_each_thread() rather then buggy while_each_thread() Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 172/187] libceph: set last_piece in ceph_msg_data_pages_cursor_init() correctly Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 173/187] drm/nouveau: Bump version from 1.1.1 to 1.1.2 Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 174/187] ALSA: usb-audio: fix BOSS ME-25 MIDI regression Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 175/187] ALSA: hda/ca0132 - Don't try loading firmware at resume when already failed Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 176/187] x86/xen: resume timer irqs early Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 177/187] carl9170: fix sending URBs with wrong type when using full-speed Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 178/187] powerpc/pseries: Failure on removing device node Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 179/187] powerpc/thp: Add write barrier after updating the valid bit Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 180/187] powerpc/thp: Don't recompute vsid and ssize in loop on invalidate Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 181/187] powerpc/thp: Invalidate old 64K based hash page mapping before insert of 4k pte Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 182/187] powerpc/thp: Handle combo pages in invalidate Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 183/187] powerpc/thp: Invalidate with vpn in loop Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 184/187] powerpc/thp: Use ACCESS_ONCE when loading pmdp Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 185/187] powerpc/mm: Use read barrier when creating real_pte Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 186/187] Btrfs: Fix memory corruption by ulist_add_merge() on 32bit arch Kamal Mostafa
2014-09-15 22:09 ` [PATCH 3.13 187/187] Btrfs: fix csum tree corruption, duplicate and outdated checksums Kamal Mostafa
2014-09-16  0:03 ` [3.13.y.z extended stable] Linux 3.13.11.7 stable review Greg KH
2014-09-16  1:18   ` Tim Gardner
2014-09-16  1:26     ` Greg KH
2014-09-16 15:17       ` Tim Gardner
2014-09-16 18:13         ` Greg KH
2014-09-16 21:23           ` H. Peter Anvin

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=1410818997-9432-129-git-send-email-kamal@canonical.com \
    --to=kamal@canonical.com \
    --cc=kernel-team@lists.ubuntu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pmoore@redhat.com \
    --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).