All of lore.kernel.org
 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: Florian Westphal <fw@strlen.de>,
	Pablo Neira Ayuso <pablo@netfilter.org>,
	Luis Henriques <luis.henriques@canonical.com>
Subject: [PATCH 073/145] netfilter: add nf_ipv6_ops hook to fix xt_addrtype with IPv6
Date: Wed, 17 Jul 2013 15:46:45 -0700	[thread overview]
Message-ID: <1374101277-7915-74-git-send-email-kamal@canonical.com> (raw)
In-Reply-To: <1374101277-7915-1-git-send-email-kamal@canonical.com>

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

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

From: Florian Westphal <fw@strlen.de>

commit 2a7851bffb008ff4882eee673da74718997b4265 upstream.

Quoting https://bugzilla.netfilter.org/show_bug.cgi?id=812:

[ ip6tables -m addrtype ]
When I tried to use in the nat/PREROUTING it messes up the
routing cache even if the rule didn't matched at all.
[..]
If I remove the --limit-iface-in from the non-working scenario, so just
use the -m addrtype --dst-type LOCAL it works!

This happens when LOCAL type matching is requested with --limit-iface-in,
and the default ipv6 route is via the interface the packet we test
arrived on.

Because xt_addrtype uses ip6_route_output, the ipv6 routing implementation
creates an unwanted cached entry, and the packet won't make it to the
real/expected destination.

Silently ignoring --limit-iface-in makes the routing work but it breaks
rule matching (--dst-type LOCAL with limit-iface-in is supposed to only
match if the dst address is configured on the incoming interface;
without --limit-iface-in it will match if the address is reachable
via lo).

The test should call ipv6_chk_addr() instead.  However, this would add
a link-time dependency on ipv6.

There are two possible solutions:

1) Revert the commit that moved ipt_addrtype to xt_addrtype,
   and put ipv6 specific code into ip6t_addrtype.
2) add new "nf_ipv6_ops" struct to register pointers to ipv6 functions.

While the former might seem preferable, Pablo pointed out that there
are more xt modules with link-time dependeny issues regarding ipv6,
so lets go for 2).

Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 include/linux/netfilter_ipv6.h | 16 ++++++++++++++++
 include/net/addrconf.h         |  2 +-
 net/ipv6/addrconf.c            |  2 +-
 net/ipv6/netfilter.c           |  7 +++++++
 net/netfilter/core.c           |  2 ++
 net/netfilter/xt_addrtype.c    | 27 ++++++++++++++++-----------
 6 files changed, 43 insertions(+), 13 deletions(-)

diff --git a/include/linux/netfilter_ipv6.h b/include/linux/netfilter_ipv6.h
index 98ffb54..2d4df6ce 100644
--- a/include/linux/netfilter_ipv6.h
+++ b/include/linux/netfilter_ipv6.h
@@ -17,6 +17,22 @@ extern __sum16 nf_ip6_checksum(struct sk_buff *skb, unsigned int hook,
 
 extern int ipv6_netfilter_init(void);
 extern void ipv6_netfilter_fini(void);
+
+/*
+ * Hook functions for ipv6 to allow xt_* modules to be built-in even
+ * if IPv6 is a module.
+ */
+struct nf_ipv6_ops {
+	int (*chk_addr)(struct net *net, const struct in6_addr *addr,
+			const struct net_device *dev, int strict);
+};
+
+extern const struct nf_ipv6_ops __rcu *nf_ipv6_ops;
+static inline const struct nf_ipv6_ops *nf_get_ipv6_ops(void)
+{
+	return rcu_dereference(nf_ipv6_ops);
+}
+
 #else /* CONFIG_NETFILTER */
 static inline int ipv6_netfilter_init(void) { return 0; }
 static inline void ipv6_netfilter_fini(void) { return; }
diff --git a/include/net/addrconf.h b/include/net/addrconf.h
index df4ef94..594abec 100644
--- a/include/net/addrconf.h
+++ b/include/net/addrconf.h
@@ -61,7 +61,7 @@ extern int			addrconf_set_dstaddr(struct net *net,
 
 extern int			ipv6_chk_addr(struct net *net,
 					      const struct in6_addr *addr,
-					      struct net_device *dev,
+					      const struct net_device *dev,
 					      int strict);
 
 #if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE)
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index b4b756c..d1d6915 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -1409,7 +1409,7 @@ static int ipv6_count_addresses(struct inet6_dev *idev)
 }
 
 int ipv6_chk_addr(struct net *net, const struct in6_addr *addr,
-		  struct net_device *dev, int strict)
+		  const struct net_device *dev, int strict)
 {
 	struct inet6_ifaddr *ifp;
 	struct hlist_node *node;
diff --git a/net/ipv6/netfilter.c b/net/ipv6/netfilter.c
index 429089c..52d31a0 100644
--- a/net/ipv6/netfilter.c
+++ b/net/ipv6/netfilter.c
@@ -4,6 +4,7 @@
 #include <linux/netfilter.h>
 #include <linux/netfilter_ipv6.h>
 #include <linux/export.h>
+#include <net/addrconf.h>
 #include <net/dst.h>
 #include <net/ipv6.h>
 #include <net/ip6_route.h>
@@ -180,6 +181,10 @@ static __sum16 nf_ip6_checksum_partial(struct sk_buff *skb, unsigned int hook,
 	return csum;
 };
 
+static const struct nf_ipv6_ops ipv6ops = {
+	.chk_addr	= ipv6_chk_addr,
+};
+
 static const struct nf_afinfo nf_ip6_afinfo = {
 	.family			= AF_INET6,
 	.checksum		= nf_ip6_checksum,
@@ -192,6 +197,7 @@ static const struct nf_afinfo nf_ip6_afinfo = {
 
 int __init ipv6_netfilter_init(void)
 {
+	RCU_INIT_POINTER(nf_ipv6_ops, &ipv6ops);
 	return nf_register_afinfo(&nf_ip6_afinfo);
 }
 
@@ -200,5 +206,6 @@ int __init ipv6_netfilter_init(void)
  */
 void ipv6_netfilter_fini(void)
 {
+	RCU_INIT_POINTER(nf_ipv6_ops, NULL);
 	nf_unregister_afinfo(&nf_ip6_afinfo);
 }
diff --git a/net/netfilter/core.c b/net/netfilter/core.c
index a9c488b..3fbdbba 100644
--- a/net/netfilter/core.c
+++ b/net/netfilter/core.c
@@ -29,6 +29,8 @@ static DEFINE_MUTEX(afinfo_mutex);
 
 const struct nf_afinfo __rcu *nf_afinfo[NFPROTO_NUMPROTO] __read_mostly;
 EXPORT_SYMBOL(nf_afinfo);
+const struct nf_ipv6_ops __rcu *nf_ipv6_ops __read_mostly;
+EXPORT_SYMBOL_GPL(nf_ipv6_ops);
 
 int nf_register_afinfo(const struct nf_afinfo *afinfo)
 {
diff --git a/net/netfilter/xt_addrtype.c b/net/netfilter/xt_addrtype.c
index 49c5ff7..68ff29f 100644
--- a/net/netfilter/xt_addrtype.c
+++ b/net/netfilter/xt_addrtype.c
@@ -22,6 +22,7 @@
 #include <net/ip6_fib.h>
 #endif
 
+#include <linux/netfilter_ipv6.h>
 #include <linux/netfilter/xt_addrtype.h>
 #include <linux/netfilter/x_tables.h>
 
@@ -33,12 +34,12 @@ MODULE_ALIAS("ip6t_addrtype");
 
 #if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)
 static u32 match_lookup_rt6(struct net *net, const struct net_device *dev,
-			    const struct in6_addr *addr)
+			    const struct in6_addr *addr, u16 mask)
 {
 	const struct nf_afinfo *afinfo;
 	struct flowi6 flow;
 	struct rt6_info *rt;
-	u32 ret;
+	u32 ret = 0;
 	int route_err;
 
 	memset(&flow, 0, sizeof(flow));
@@ -49,12 +50,19 @@ static u32 match_lookup_rt6(struct net *net, const struct net_device *dev,
 	rcu_read_lock();
 
 	afinfo = nf_get_afinfo(NFPROTO_IPV6);
-	if (afinfo != NULL)
+	if (afinfo != NULL) {
+		const struct nf_ipv6_ops *v6ops;
+
+		if (dev && (mask & XT_ADDRTYPE_LOCAL)) {
+			v6ops = nf_get_ipv6_ops();
+			if (v6ops && v6ops->chk_addr(net, addr, dev, true))
+				ret = XT_ADDRTYPE_LOCAL;
+		}
 		route_err = afinfo->route(net, (struct dst_entry **)&rt,
-					flowi6_to_flowi(&flow), !!dev);
-	else
+					  flowi6_to_flowi(&flow), false);
+	} else {
 		route_err = 1;
-
+	}
 	rcu_read_unlock();
 
 	if (route_err)
@@ -62,15 +70,12 @@ static u32 match_lookup_rt6(struct net *net, const struct net_device *dev,
 
 	if (rt->rt6i_flags & RTF_REJECT)
 		ret = XT_ADDRTYPE_UNREACHABLE;
-	else
-		ret = 0;
 
-	if (rt->rt6i_flags & RTF_LOCAL)
+	if (dev == NULL && rt->rt6i_flags & RTF_LOCAL)
 		ret |= XT_ADDRTYPE_LOCAL;
 	if (rt->rt6i_flags & RTF_ANYCAST)
 		ret |= XT_ADDRTYPE_ANYCAST;
 
-
 	dst_release(&rt->dst);
 	return ret;
 }
@@ -90,7 +95,7 @@ static bool match_type6(struct net *net, const struct net_device *dev,
 
 	if ((XT_ADDRTYPE_LOCAL | XT_ADDRTYPE_ANYCAST |
 	     XT_ADDRTYPE_UNREACHABLE) & mask)
-		return !!(mask & match_lookup_rt6(net, dev, addr));
+		return !!(mask & match_lookup_rt6(net, dev, addr, mask));
 	return true;
 }
 
-- 
1.8.1.2


  parent reply	other threads:[~2013-07-17 22:56 UTC|newest]

Thread overview: 152+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-17 22:45 [ 3.8.y.z extended stable ] Linux 3.8.13.5 stable review Kamal Mostafa
2013-07-17 22:45 ` [PATCH 001/145] UBIFS: correct mount message Kamal Mostafa
2013-07-17 22:45 ` [PATCH 002/145] [SCSI] zfcp: fix adapter (re)open recovery while link to SAN is down Kamal Mostafa
2013-07-17 22:45 ` [PATCH 003/145] [SCSI] zfcp: block queue limits with data router Kamal Mostafa
2013-07-17 22:45 ` [PATCH 004/145] [SCSI] zfcp: status read buffers on first adapter open with link down Kamal Mostafa
2013-07-17 22:45 ` [PATCH 005/145] ahci: Add AMD CZ SATA device ID Kamal Mostafa
2013-07-17 22:45 ` [PATCH 006/145] i2c-piix4: Add AMD CZ SMBus " Kamal Mostafa
2013-07-17 22:45 ` [PATCH 007/145] sata_highbank: increase retry count but shorten duration for Calxeda controller Kamal Mostafa
2013-07-17 22:45 ` [PATCH 008/145] clocksource: dw_apb: Fix error check Kamal Mostafa
2013-07-17 22:45 ` [PATCH 009/145] zram: avoid invalid memory access in zram_exit() Kamal Mostafa
2013-07-17 22:45 ` [PATCH 010/145] zram: use zram->lock to protect zram_free_page() in swap free notify path Kamal Mostafa
2013-07-17 22:45 ` [PATCH 011/145] zram: destroy all devices on error recovery path in zram_init() Kamal Mostafa
2013-07-17 22:45 ` [PATCH 012/145] zram: avoid access beyond the zram device Kamal Mostafa
2013-07-17 22:45 ` [PATCH 013/145] zram: protect sysfs handler from invalid memory access Kamal Mostafa
2013-07-17 22:45 ` [PATCH 014/145] pcmcia: at91_cf: fix gpio_get_value in at91_cf_get_status Kamal Mostafa
2013-07-17 22:45 ` [PATCH 015/145] PCI: Fix refcount issue in pci_create_root_bus() error recovery path Kamal Mostafa
2013-07-17 22:45 ` [PATCH 016/145] ahci: remove pmp link online check in FBS EH Kamal Mostafa
2013-07-17 22:45 ` [PATCH 017/145] usb: gadget: f_mass_storage: add missing memory barrier for thread_wakeup_needed Kamal Mostafa
2013-07-17 22:45 ` [PATCH 018/145] x86, efi: retry ExitBootServices() on failure Kamal Mostafa
2013-07-17 22:45 ` [PATCH 019/145] libata: skip SRST for all SIMG [34]7x port-multipliers Kamal Mostafa
2013-07-17 22:45 ` [PATCH 020/145] ASoC: wm8962: Remove remaining direct register cache accesses Kamal Mostafa
2013-07-17 22:45 ` [PATCH 021/145] xen/pcifront: Deal with toolstack missing 'XenbusStateClosing' state Kamal Mostafa
2013-07-17 22:45 ` [PATCH 022/145] ACPICA: Do not use extended sleep registers unless HW-reduced bit is set Kamal Mostafa
2013-07-17 22:45 ` [PATCH 023/145] ALSA: hda - Cache the MUX selection for generic HDMI Kamal Mostafa
2013-07-17 22:45 ` [PATCH 024/145] cgroup: fix umount vs cgroup_cfts_commit() race Kamal Mostafa
2013-07-17 22:45 ` [PATCH 025/145] cgroup: fix umount vs cgroup_event_remove() race Kamal Mostafa
2013-07-17 22:45 ` [PATCH 026/145] xhci: check for failed dma pool allocation Kamal Mostafa
2013-07-17 22:45 ` [PATCH 027/145] powerpc/eeh: Fix fetching bus for single-dev-PE Kamal Mostafa
2013-07-17 22:46 ` [PATCH 028/145] ata_piix: IDE-mode SATA patch for Intel Coleto Creek DeviceIDs Kamal Mostafa
2013-07-17 22:46 ` [PATCH 029/145] ahci: AHCI-mode " Kamal Mostafa
2013-07-17 22:46 ` [PATCH 030/145] ARM: 7765/1: perf: Record the user-mode PC in the call chain Kamal Mostafa
2013-07-17 22:46 ` [PATCH 031/145] [SCSI] mpt2sas: Fix for issue Missing delay not getting set during system bootup Kamal Mostafa
2013-07-17 22:46 ` [PATCH 032/145] [SCSI] mpt2sas: Fix for device scan following host reset could get stuck in a infinite loop Kamal Mostafa
2013-07-17 22:46 ` [PATCH 033/145] [SCSI] mpt2sas: fix firmware failure with wrong task attribute Kamal Mostafa
2013-07-17 22:46 ` [PATCH 034/145] usb: host: xhci-plat: release mem region while removing module Kamal Mostafa
2013-07-17 22:46 ` [PATCH 035/145] USB: option,qcserial: move Novatel Gobi1K IDs to qcserial Kamal Mostafa
2013-07-17 22:46 ` [PATCH 036/145] powerpc/hw_brk: Fix setting of length for exact mode breakpoints Kamal Mostafa
2013-07-17 22:46 ` [PATCH 037/145] crypto: algboss - Hold ref count on larval Kamal Mostafa
2013-07-17 22:46   ` Kamal Mostafa
2013-07-17 22:46 ` [PATCH 038/145] x86: Fix /proc/mtrr with base/size more than 44bits Kamal Mostafa
2013-07-17 22:46 ` [PATCH 039/145] futex: Take hugepages into account when generating futex_key Kamal Mostafa
2013-07-17 22:46 ` [PATCH 040/145] pch_uart: Add uart_clk selection for the MinnowBoard Kamal Mostafa
2013-07-17 22:46 ` [PATCH 041/145] perf: Disable monitoring on setuid processes for regular users Kamal Mostafa
2013-07-17 22:46 ` [PATCH 042/145] [SCSI] sd: Fix parsing of 'temporary ' cache mode prefix Kamal Mostafa
2013-07-17 22:46 ` [PATCH 043/145] Handle big endianness in NTLM (ntlmv2) authentication Kamal Mostafa
2013-07-17 22:46 ` [PATCH 044/145] [SCSI] sd: Update WRITE SAME heuristics Kamal Mostafa
2013-07-17 22:46 ` [PATCH 045/145] [SCSI] aacraid: Fix for arrays are going offline in the system. System hangs Kamal Mostafa
2013-07-17 22:46 ` [PATCH 046/145] genirq: Fix can_request_irq() for IRQs without an action Kamal Mostafa
2013-07-17 22:46 ` [PATCH 047/145] timer: Fix jiffies wrap behavior of round_jiffies_common() Kamal Mostafa
2013-07-17 22:46 ` [PATCH 048/145] xen/time: remove blocked time accounting from xen "clockchip" Kamal Mostafa
2013-07-17 22:46 ` [PATCH 049/145] UBIFS: prepare to fix a horrid bug Kamal Mostafa
2013-07-17 22:46 ` [PATCH 050/145] UBIFS: " Kamal Mostafa
2013-07-17 22:46 ` [PATCH 051/145] Revert "serial: 8250_pci: add support for another kind of NetMos Technology PCI 9835 Multi-I/O Controller" Kamal Mostafa
2013-07-17 22:46 ` [PATCH 052/145] powerpc/smp: Section mismatch from smp_release_cpus to __initdata spinning_secondaries Kamal Mostafa
2013-07-17 22:46 ` [PATCH 053/145] ext4: fix corruption when online resizing a fs with 1K block size Kamal Mostafa
2013-07-17 22:46 ` [PATCH 054/145] jbd2: move superblock checksum calculation to jbd2_write_superblock() Kamal Mostafa
2013-07-17 22:46 ` [PATCH 055/145] ext3,ext4: don't mess with dir_file->f_pos in htree_dirblock_to_tree() Kamal Mostafa
2013-07-17 22:46 ` [PATCH 056/145] jbd2: fix theoretical race in jbd2__journal_restart Kamal Mostafa
2013-07-17 22:46 ` [PATCH 057/145] tick: Prevent uncontrolled switch to oneshot mode Kamal Mostafa
2013-07-17 22:46 ` [PATCH 058/145] md/raid10: fix two bugs affecting RAID10 reshape Kamal Mostafa
2013-07-17 22:46 ` [PATCH 059/145] HID: apple: Add support for the 2013 Macbook Air Kamal Mostafa
2013-07-17 22:46 ` [PATCH 060/145] Input: bcm5974 - add support for the 2013 MacBook Air Kamal Mostafa
2013-07-17 22:46 ` [PATCH 061/145] drivers/dma/pl330.c: fix locking in pl330_free_chan_resources() Kamal Mostafa
2013-07-17 22:46 ` [PATCH 062/145] ocfs2: xattr: fix inlined xattr reflink Kamal Mostafa
2013-07-17 22:46 ` [PATCH 063/145] block: do not pass disk names as format strings Kamal Mostafa
2013-07-17 22:46 ` [PATCH 064/145] crypto: sanitize argument for format string Kamal Mostafa
2013-07-17 22:46   ` Kamal Mostafa
2013-07-17 22:46 ` [PATCH 065/145] mm/memory-hotplug: fix lowmem count overflow when offline pages Kamal Mostafa
2013-07-17 22:46 ` [PATCH 066/145] drivers/rtc/rtc-rv3029c2.c: fix disabling AIE irq Kamal Mostafa
2013-07-17 22:46 ` [PATCH 067/145] nbd: correct disconnect behavior Kamal Mostafa
2013-07-17 22:46 ` [PATCH 068/145] hpfs: better test for errors Kamal Mostafa
2013-07-17 22:46 ` [PATCH 069/145] Drivers: hv: Execute shutdown in a thread context Kamal Mostafa
2013-07-17 22:46 ` [PATCH 070/145] ext3: fix data=journal fast mount/umount hang Kamal Mostafa
2013-07-17 22:46 ` [PATCH 071/145] netfilter: xt_TCPOPTSTRIP: fix possible mangling beyond packet boundary Kamal Mostafa
2013-07-17 22:46 ` [PATCH 072/145] netfilter: ipt_ULOG: fix non-null terminated string in the nf_log path Kamal Mostafa
2013-07-17 22:46 ` Kamal Mostafa [this message]
2013-07-17 22:46 ` [PATCH 074/145] ipvs: Fix reuse connection if real server is dead Kamal Mostafa
2013-07-17 22:46 ` [PATCH 075/145] netfilter: xt_LOG: fix mark logging for IPv6 packets Kamal Mostafa
2013-07-17 22:46 ` [PATCH 076/145] ipvs: info leak in __ip_vs_get_dest_entries() Kamal Mostafa
2013-07-17 22:46 ` [PATCH 077/145] netfilter: nfnetlink_cttimeout: fix incomplete dumping of objects Kamal Mostafa
2013-07-17 22:46 ` [PATCH 078/145] netfilter: nfnetlink_acct: " Kamal Mostafa
2013-07-17 22:46 ` [PATCH 079/145] netfilter: xt_TCPMSS: Fix violation of RFC879 in absence of MSS option Kamal Mostafa
2013-07-17 22:46 ` [PATCH 080/145] netfilter: xt_TCPOPTSTRIP: don't use tcp_hdr() Kamal Mostafa
2013-07-17 22:46 ` [PATCH 081/145] netfilter: xt_TCPMSS: Fix missing fragmentation handling Kamal Mostafa
2013-07-17 22:46 ` [PATCH 082/145] netfilter: xt_TCPMSS: Fix IPv6 default MSS too Kamal Mostafa
2013-07-17 22:46 ` [PATCH 083/145] ipvs: SCTP ports should be writable in ICMP packets Kamal Mostafa
2013-07-17 22:46 ` [PATCH 084/145] tracing: Use current_uid() for critical time tracing Kamal Mostafa
2013-07-17 22:46 ` [PATCH 085/145] ext4: fix overflow when counting used blocks on 32-bit architectures Kamal Mostafa
2013-07-17 22:46 ` [PATCH 086/145] ext4: fix data offset overflow in ext4_xattr_fiemap() on 32-bit archs Kamal Mostafa
2013-07-17 22:46 ` [PATCH 087/145] ext4: fix overflows in SEEK_HOLE, SEEK_DATA implementations Kamal Mostafa
2013-07-17 22:47 ` [PATCH 088/145] ext4: fix data offset overflow on 32-bit archs in ext4_inline_data_fiemap() Kamal Mostafa
2013-07-17 22:47 ` [PATCH 089/145] iommu/vt-d: add quirk for broken interrupt remapping on 55XX chipsets Kamal Mostafa
2013-07-18  8:02   ` Thomas Backlund
2013-07-18 10:37     ` Neil Horman
2013-07-18 13:45       ` Thomas Backlund
2013-07-18 18:30         ` Kamal Mostafa
2013-07-17 22:47 ` [PATCH 090/145] dma: tegra: avoid channel lock up after free Kamal Mostafa
2013-07-17 22:47 ` [PATCH 091/145] drivers/cdrom/cdrom.c: use kzalloc() for failing hardware Kamal Mostafa
2013-07-17 22:47 ` [PATCH 092/145] printk: Fix rq->lock vs logbuf_lock unlock lock inversion Kamal Mostafa
2013-07-17 22:47 ` [PATCH 093/145] charger-manager: Ensure event is not used as format string Kamal Mostafa
2013-07-17 22:47 ` [PATCH 094/145] drm/radeon: add backlight quirk for hybrid mac Kamal Mostafa
2013-07-17 22:47 ` [PATCH 095/145] b43: ensue that BCMA is "y" when B43 is "y" Kamal Mostafa
2013-07-17 22:47 ` [PATCH 096/145] ath9k_hw: Assign default xlna config for AR9485 Kamal Mostafa
2013-07-17 22:47 ` [PATCH 097/145] ath9k: Do not assign noise for NULL caldata Kamal Mostafa
2013-07-17 22:47 ` [PATCH 098/145] iwlwifi: pcie: fix race in queue unmapping Kamal Mostafa
2013-07-17 22:47 ` [PATCH 099/145] iwlwifi: pcie: wake the queue if stopped when being unmapped Kamal Mostafa
2013-07-17 22:47 ` [PATCH 100/145] rtlwifi: rtl8192cu: Add new USB ID for TP-Link TL-WN8200ND Kamal Mostafa
2013-07-17 22:47 ` [PATCH 101/145] [media] media: dmxdev: remove dvb_ringbuffer_flush() on writer side Kamal Mostafa
2013-07-17 22:47 ` [PATCH 102/145] MIPS: Octeon: Don't clobber bootloader data structures Kamal Mostafa
2013-07-17 22:47 ` [PATCH 103/145] iommu/amd: Only unmap large pages from the first pte Kamal Mostafa
2013-07-17 22:47 ` [PATCH 104/145] rt2x00: read 5GHz TX power values from the correct offset Kamal Mostafa
2013-07-17 22:47 ` [PATCH 105/145] rtlwifi: rtl8723ae: Fix typo in firmware names Kamal Mostafa
2013-07-17 22:47 ` [PATCH 106/145] writeback: Fix periodic writeback after fs mount Kamal Mostafa
2013-07-17 22:47 ` [PATCH 107/145] drm/i915: Fix context sizes on HSW Kamal Mostafa
2013-07-17 22:47 ` [PATCH 108/145] drm/i915: Only clear write-domains after a successful wait-seqno Kamal Mostafa
2013-07-17 22:47 ` [PATCH 109/145] nfsd4: fix decoding of compounds across page boundaries Kamal Mostafa
2013-07-17 22:47 ` [PATCH 110/145] svcrpc: fix handling of too-short rpc's Kamal Mostafa
2013-07-17 22:47 ` [PATCH 111/145] svcrpc: don't error out on small tcp fragment Kamal Mostafa
2013-07-17 22:47 ` [PATCH 112/145] ARM: shmobile: emev2 GIO3 resource fix Kamal Mostafa
2013-07-17 22:47 ` [PATCH 113/145] Btrfs: fix unlock after free on rewinded tree blocks Kamal Mostafa
2013-07-17 22:47 ` [PATCH 114/145] Btrfs: hold the tree mod lock in __tree_mod_log_rewind Kamal Mostafa
2013-07-17 22:47 ` [PATCH 115/145] Btrfs: only do the tree_mod_log_free_eb if this is our last ref Kamal Mostafa
2013-07-17 22:47 ` [PATCH 116/145] uprobes: Fix return value in error handling path Kamal Mostafa
2013-07-17 22:47 ` [PATCH 117/145] module: do percpu allocation after uniqueness check. No, really! Kamal Mostafa
2013-07-17 22:47 ` [PATCH 118/145] libceph: Fix NULL pointer dereference in auth client code Kamal Mostafa
2013-07-17 22:47 ` [PATCH 119/145] [CIFS] use sensible file nlink values if unprovided Kamal Mostafa
2013-07-17 22:47 ` [PATCH 120/145] drm/nouveau: use vmalloc for pgt allocation Kamal Mostafa
2013-07-17 22:47 ` [PATCH 121/145] drm/nva3/disp: Fix HDMI audio regression Kamal Mostafa
2013-07-17 22:47 ` [PATCH 122/145] ACPI / power: add missing newline to debug messages Kamal Mostafa
2013-07-17 22:47 ` [PATCH 123/145] [SCSI] megaraid_sas: fix memory leak if SGL has zero length entries Kamal Mostafa
2013-07-17 22:47 ` [PATCH 124/145] iscsi-target: Fix tfc_tpg_nacl_auth_cit configfs length overflow Kamal Mostafa
2013-07-17 22:47 ` [PATCH 125/145] [SCSI] mpt3sas: fix for kernel panic when driver loads with HBA conected to non LUN 0 configured expander Kamal Mostafa
2013-07-17 22:47 ` [PATCH 126/145] [SCSI] mpt3sas: Infinite loops can occur if MPI2_IOCSTATUS_CONFIG_INVALID_PAGE is not returned Kamal Mostafa
2013-07-17 22:47 ` [PATCH 127/145] parisc: Fix gcc miscompilation in pa_memcpy() Kamal Mostafa
2013-07-17 22:47 ` [PATCH 128/145] ARM: 7778/1: smp_twd: twd_update_frequency need be run on all online CPUs Kamal Mostafa
2013-07-17 22:47 ` [PATCH 129/145] dm mpath: fix ioctl deadlock when no paths Kamal Mostafa
2013-07-17 22:47 ` [PATCH 130/145] dm ioctl: set noio flag to avoid __vmalloc deadlock Kamal Mostafa
2013-07-17 22:47 ` [PATCH 131/145] dm verity: fix inability to use a few specific devices sizes Kamal Mostafa
2013-07-17 22:47 ` [PATCH 132/145] CIFS: Fix a deadlock when a file is reopened Kamal Mostafa
2013-07-17 22:47 ` [PATCH 133/145] perf: Clone child context from parent context pmu Kamal Mostafa
2013-07-17 22:47 ` [PATCH 134/145] perf: Remove WARN_ON_ONCE() check in __perf_event_enable() for valid scenario Kamal Mostafa
2013-07-17 22:47 ` [PATCH 135/145] perf: Fix perf_lock_task_context() vs RCU Kamal Mostafa
2013-07-17 22:47 ` [PATCH 136/145] MFD: rtsx_pcr: Fix probe fail path Kamal Mostafa
2013-07-17 22:47 ` [PATCH 137/145] x86, efivars: firmware bug workarounds should be in platform code Kamal Mostafa
2013-07-17 22:47 ` [PATCH 138/145] x86, efi: remove duplicate code in setup_arch() by using, efi_is_native() Kamal Mostafa
2013-07-17 22:47 ` [PATCH 139/145] x86,efi: Implement efi_no_storage_paranoia parameter Kamal Mostafa
2013-07-17 22:47 ` [PATCH 140/145] Modify UEFI anti-bricking code Kamal Mostafa
2013-07-17 22:47 ` [PATCH 141/145] x86/efi: Fix dummy variable buffer allocation Kamal Mostafa
2013-07-17 22:47 ` [PATCH 142/145] lockd: protect nlm_blocked access in nlmsvc_retry_blocked Kamal Mostafa
2013-07-17 22:47 ` [PATCH 143/145] ext4: don't show usrquota/grpquota twice in /proc/mounts Kamal Mostafa
2013-07-17 22:47 ` [PATCH 144/145] ext4: don't allow ext4_free_blocks() to fail due to ENOMEM Kamal Mostafa
2013-07-17 22:47 ` [PATCH 145/145] svcrdma: underflow issue in decode_write_list() 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=1374101277-7915-74-git-send-email-kamal@canonical.com \
    --to=kamal@canonical.com \
    --cc=fw@strlen.de \
    --cc=kernel-team@lists.ubuntu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luis.henriques@canonical.com \
    --cc=pablo@netfilter.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.