Netdev List
 help / color / mirror / Atom feed
* [PATCH 1/3] net: sh_eth: use ioremap()
From: Yoshihiro Shimoda @ 2011-09-28  7:48 UTC (permalink / raw)
  To: davem; +Cc: netdev, SH-Linux

This patch also changes writel/readl to iowrite32/ioread32.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
 This patch is for net-next.

 drivers/net/ethernet/renesas/sh_eth.c |   38 ++++++++++++++++++++------------
 drivers/net/ethernet/renesas/sh_eth.h |    9 ++++---
 2 files changed, 29 insertions(+), 18 deletions(-)

diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c
index 4479a45..38ccda5 100644
--- a/drivers/net/ethernet/renesas/sh_eth.c
+++ b/drivers/net/ethernet/renesas/sh_eth.c
@@ -155,18 +155,18 @@ static void sh_eth_chip_reset_giga(struct net_device *ndev)

 	/* save MAHR and MALR */
 	for (i = 0; i < 2; i++) {
-		malr[i] = readl(GIGA_MALR(i));
-		mahr[i] = readl(GIGA_MAHR(i));
+		malr[i] = ioread32((void *)GIGA_MALR(i));
+		mahr[i] = ioread32((void *)GIGA_MAHR(i));
 	}

 	/* reset device */
-	writel(ARSTR_ARSTR, SH_GIGA_ETH_BASE + 0x1800);
+	iowrite32(ARSTR_ARSTR, (void *)(SH_GIGA_ETH_BASE + 0x1800));
 	mdelay(1);

 	/* restore MAHR and MALR */
 	for (i = 0; i < 2; i++) {
-		writel(malr[i], GIGA_MALR(i));
-		writel(mahr[i], GIGA_MAHR(i));
+		iowrite32(malr[i], (void *)GIGA_MALR(i));
+		iowrite32(mahr[i], (void *)GIGA_MAHR(i));
 	}
 }

@@ -515,9 +515,9 @@ static unsigned long sh_eth_get_edtrr_trns(struct sh_eth_private *mdp)
 }

 struct bb_info {
-	void (*set_gate)(unsigned long addr);
+	void (*set_gate)(void *addr);
 	struct mdiobb_ctrl ctrl;
-	u32 addr;
+	void *addr;
 	u32 mmd_msk;/* MMD */
 	u32 mdo_msk;
 	u32 mdi_msk;
@@ -525,21 +525,21 @@ struct bb_info {
 };

 /* PHY bit set */
-static void bb_set(u32 addr, u32 msk)
+static void bb_set(void *addr, u32 msk)
 {
-	writel(readl(addr) | msk, addr);
+	iowrite32(ioread32(addr) | msk, addr);
 }

 /* PHY bit clear */
-static void bb_clr(u32 addr, u32 msk)
+static void bb_clr(void *addr, u32 msk)
 {
-	writel((readl(addr) & ~msk), addr);
+	iowrite32((ioread32(addr) & ~msk), addr);
 }

 /* PHY bit read */
-static int bb_read(u32 addr, u32 msk)
+static int bb_read(void *addr, u32 msk)
 {
-	return (readl(addr) & msk) != 0;
+	return (ioread32(addr) & msk) != 0;
 }

 /* Data I/O pin control */
@@ -1680,7 +1680,7 @@ static int sh_mdio_init(struct net_device *ndev, int id,
 	}

 	/* bitbang init */
-	bitbang->addr = ndev->base_addr + mdp->reg_offset[PIR];
+	bitbang->addr = mdp->addr + mdp->reg_offset[PIR];
 	bitbang->set_gate = pd->set_mdio_gate;
 	bitbang->mdi_msk = 0x08;
 	bitbang->mdo_msk = 0x04;
@@ -1812,6 +1812,13 @@ static int sh_eth_drv_probe(struct platform_device *pdev)
 	ether_setup(ndev);

 	mdp = netdev_priv(ndev);
+	mdp->addr = ioremap(res->start, resource_size(res));
+	if (mdp->addr == NULL) {
+		ret = -ENOMEM;
+		dev_err(&pdev->dev, "ioremap failed.\n");
+		goto out_release;
+	}
+
 	spin_lock_init(&mdp->lock);
 	mdp->pdev = pdev;
 	pm_runtime_enable(&pdev->dev);
@@ -1892,6 +1899,8 @@ out_unregister:

 out_release:
 	/* net_dev free */
+	if (mdp && mdp->addr)
+		iounmap(mdp->addr);
 	if (mdp && mdp->tsu_addr)
 		iounmap(mdp->tsu_addr);
 	if (ndev)
@@ -1910,6 +1919,7 @@ static int sh_eth_drv_remove(struct platform_device *pdev)
 	sh_mdio_release(ndev);
 	unregister_netdev(ndev);
 	pm_runtime_disable(&pdev->dev);
+	iounmap(mdp->addr);
 	free_netdev(ndev);
 	platform_set_drvdata(pdev, NULL);

diff --git a/drivers/net/ethernet/renesas/sh_eth.h b/drivers/net/ethernet/renesas/sh_eth.h
index c3048a6..78e586e 100644
--- a/drivers/net/ethernet/renesas/sh_eth.h
+++ b/drivers/net/ethernet/renesas/sh_eth.h
@@ -762,6 +762,7 @@ struct sh_eth_private {
 	struct platform_device *pdev;
 	struct sh_eth_cpu_data *cd;
 	const u16 *reg_offset;
+	void __iomem *addr;
 	void __iomem *tsu_addr;
 	dma_addr_t rx_desc_dma;
 	dma_addr_t tx_desc_dma;
@@ -811,7 +812,7 @@ static inline void sh_eth_write(struct net_device *ndev, unsigned long data,
 {
 	struct sh_eth_private *mdp = netdev_priv(ndev);

-	writel(data, ndev->base_addr + mdp->reg_offset[enum_index]);
+	iowrite32(data, mdp->addr + mdp->reg_offset[enum_index]);
 }

 static inline unsigned long sh_eth_read(struct net_device *ndev,
@@ -819,19 +820,19 @@ static inline unsigned long sh_eth_read(struct net_device *ndev,
 {
 	struct sh_eth_private *mdp = netdev_priv(ndev);

-	return readl(ndev->base_addr + mdp->reg_offset[enum_index]);
+	return ioread32(mdp->addr + mdp->reg_offset[enum_index]);
 }

 static inline void sh_eth_tsu_write(struct sh_eth_private *mdp,
 				unsigned long data, int enum_index)
 {
-	writel(data, mdp->tsu_addr + mdp->reg_offset[enum_index]);
+	iowrite32(data, mdp->tsu_addr + mdp->reg_offset[enum_index]);
 }

 static inline unsigned long sh_eth_tsu_read(struct sh_eth_private *mdp,
 					int enum_index)
 {
-	return readl(mdp->tsu_addr + mdp->reg_offset[enum_index]);
+	return ioread32(mdp->tsu_addr + mdp->reg_offset[enum_index]);
 }

 #endif	/* #ifndef __SH_ETH_H__ */
-- 
1.7.1

^ permalink raw reply related

* Re: __pskb_pull_tail oops from 2.6.35
From: Julian Anastasov @ 2011-09-28  7:30 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Dave Jones, David Miller, netdev
In-Reply-To: <1317155839.2472.5.camel@edumazet-laptop>

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1946 bytes --]


	Hello,

On Tue, 27 Sep 2011, Eric Dumazet wrote:

> Le mardi 27 septembre 2011 à 16:24 -0400, Dave Jones a écrit :
> > On Tue, Sep 27, 2011 at 04:18:48PM -0400, David Miller wrote:
> >  > From: Dave Jones <davej@redhat.com>
> >  > Date: Tue, 27 Sep 2011 16:15:00 -0400
> >  > 
> >  > > It looks like it died in put_page..
> >  > > 
> >  > > <1>[  262.574991] IP: [<ffffffff810dca57>] put_page+0x10/0x7c
> >  > > 
> >  > > which is only called in one place..
> >  > > 
> >  > > 1267         for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {
> >  > > 1268                 if (skb_shinfo(skb)->frags[i].size <= eat) {
> >  > > 1269                         put_page(skb_shinfo(skb)->frags[i].page);
> >  > > 1270                         eat -= skb_shinfo(skb)->frags[i].size;
> >  > > 1271                 } else {
> >  > 
> >  > That's a pretty serious corruption, all frag array entries from 0 to
> >  > nr_frags should have valid, non-NULL page pointers.
> >  > 
> >  > Maybe a LRO/GRO bug?  There were a couple of those.
> > 
> > I'll see if I can talk him into trying a self-built kernel, as we're not
> > rebasing f14 at this point in its life-cycle. If it turns out to still affect
> > 3.x, I'll bring it up again.
> > 
> 
> This could be a struct skb_shared_info -> nr_frags corruption
> 
> (Something was overflowing skb head and overflowing very beginning of
> skb_shared_info in rare circumstances)
> 
> We had such bug in the past, I cant remember details right now.

	I remember for similar problem that was fixed
recently (IPVS+nf_reinject), oops is here:

http://marc.info/?l=linux-virtual-server&m=131098073717449&w=2

	Oops points to put_page but not sure for the call trace.
Code auditing pointed out to be a double kfree_skb issue. Still,
it was never confirmed by the original reporter. May be
problem with double kfree_skb is easier to track in all
modules that play with the packet.

Regards

--
Julian Anastasov <ja@ssi.bg>

^ permalink raw reply

* Re: [PATCH v2 2/3] netdev/of/phy: Add MDIO bus multiplexer support.
From: Michał Mirosław @ 2011-09-28  7:25 UTC (permalink / raw)
  To: David Daney; +Cc: devicetree-discuss, grant.likely, linux-kernel, netdev, davem
In-Reply-To: <1317166015-20714-3-git-send-email-david.daney@cavium.com>

2011/9/28 David Daney <david.daney@cavium.com>:
[...]
> +Example :
> +
> +       /* The parent MDIO bus. */
> +       smi1: mdio@1180000001900 {
> +               compatible = "cavium,octeon-3860-mdio";
> +               #address-cells = <1>;
> +               #size-cells = <0>;
> +               reg = <0x11800 0x00001900 0x0 0x40>;
> +       };
> +
> +       /*
> +          An NXP sn74cbtlv3253 dual 1-of-4 switch controlled by a
> +          pair of GPIO lines.  Child busses 2 and 3 populated with 4
> +          PHYs each.
> +        */
> +       mdio-mux {
> +               compatible = "cavium,mdio-mux-sn74cbtlv3253", "cavium,mdio-mux";
> +               gpios = <&gpio1 3 0>, <&gpio1 4 0>;
> +               mdio-parent-bus = <&smi1>;
> +               #address-cells = <1>;
> +               #size-cells = <0>;

This should probably have 'compatible = "nxp,sn74cbtlv3253";' here.

Best Regards,
Michał Mirosław

^ permalink raw reply

* Re: [PATCH 1/2] net/fec: replace hardcoded irq num with macro.
From: David Miller @ 2011-09-28  7:24 UTC (permalink / raw)
  To: jgq516; +Cc: netdev, linux-kernel
In-Reply-To: <1316830784-17108-1-git-send-email-jgq516@gmail.com>


Please respin these patches against net-next, where the FEC driver
lives in a different directory.

Thanks.

^ permalink raw reply

* Re: [patch] usbnet: add timestamping support
From: David Miller @ 2011-09-28  7:20 UTC (permalink / raw)
  To: michael; +Cc: netdev, oneukum
In-Reply-To: <20110921121151.Horde.2_LlPML8999Oebhn0-QlTpA@webmail.df.eu>

From: Michael Riesch <michael@riesch.at>
Date: Wed, 21 Sep 2011 12:11:51 +0200

> @@ -238,6 +238,10 @@ void usbnet_skb_return (struct usbnet *dev,
> struct sk_buff *skb)

Patch is severly corrupted by your email client.

Correct this (see Documentation/email-clients.txt), send a test patch
to yourself, and only resubmit this change when you can successfully
apply a patch you send to youself.

^ permalink raw reply

* about bmac/mace/macmace/mac89x0/cs89x0: Move the Macintosh (Apple) drivers
From: Sascha Hauer @ 2011-09-28  7:04 UTC (permalink / raw)
  To: Jeff Kirsher
  Cc: Paul Mackerras, Russell Nelson, netdev, davem, Jaccon Bastiaansen

Hi,

> commit 8fb6b0908176704a3ea22005e8a9fa3ebf35b5be
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Mon May 16 01:39:01 2011 -0700
>
>    bmac/mace/macmace/mac89x0/cs89x0: Move the Macintosh (Apple) drivers
>
>    Move the Apple drivers into driver/net/ethernet/apple/ and make the
>    necessary Kconfig and Makefile changes.

This commit moves drivers/net/cs89x0.[ch] to drivers/net/ethernet/apple/.

This is wrong. The cs89x0 driver is a general ISA driver and is also
used on some embedded boards. This patch should only move drivers/net/mac89x0.c
which basically is a driver for the same device but used on Macintosh.

I think it should go to drivers/net/ethernet/cirrus instead.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

^ permalink raw reply

* Re: [net-next 0/7] bna: H/W enablement and update driver version to 3.0.2.2
From: David Miller @ 2011-09-28  6:59 UTC (permalink / raw)
  To: rmody; +Cc: netdev, adapter_linux_open_src_team
In-Reply-To: <1317155951-17242-1-git-send-email-rmody@brocade.com>

From: Rasesh Mody <rmody@brocade.com>
Date: Tue, 27 Sep 2011 13:39:04 -0700

> Hi Dave,
> 
>    The following series is re-submitted. These patches add support for
>    Brocade-1860 Fabric Adapter and address the comments received from
>    upstream community.
> 
>    It updates the Brocade BNA driver to v3.0.2.2.
> 
>    The driver has been compiled & tested against net-next-2.6(3.0.0-rc7).

All applied, thanks.

^ permalink raw reply

* linux-next: manual merge of the moduleh tree with the net tree
From: Stephen Rothwell @ 2011-09-28  7:00 UTC (permalink / raw)
  To: Paul Gortmaker
  Cc: linux-next, linux-kernel, Kalle Valo, John W. Linville,
	David Miller, netdev

[-- Attachment #1: Type: text/plain, Size: 466 bytes --]

Hi Paul,

Today's linux-next merge of the moduleh tree got a conflict in
drivers/staging/ath6kl/hif/sdio/linux_sdio/src/hif.c between commit
af2bf4b4ee58 ("staging: remove ath6kl") from the  tree and commit
33cffa3526be ("staging: Add module.h to more drivers implicitly using
it") from the moduleh tree.

The former removed the file, so I did that.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply

* linux-next: manual merge of the moduleh tree with the  tree
From: Stephen Rothwell @ 2011-09-28  6:53 UTC (permalink / raw)
  To: Paul Gortmaker
  Cc: linux-next, linux-kernel, Yogesh Ashok Powar, Amitkumar Karwar,
	Bing Zhao, John W. Linville, David Miller, netdev

Hi Paul,

Today's linux-next merge of the moduleh tree got conflicts in
net/mac80211/util.c and net/wireless/util.c between commit 0879fa44b541
("cfg80211/mac80211: move information element parsing logic to cfg80211")
from the net tree and commit c1f5764979c5 ("net: Add export.h for
EXPORT_SYMBOL/THIS_MODULE to non-modules") from the moduleh tree.

I fixed it up (see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc net/mac80211/util.c
index 2c9dc36,7a55c69..0000000
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@@ -19,6 -19,8 +19,7 @@@
  #include <linux/etherdevice.h>
  #include <linux/if_arp.h>
  #include <linux/bitmap.h>
 -#include <linux/crc32.h>
+ #include <linux/export.h>
  #include <net/net_namespace.h>
  #include <net/cfg80211.h>
  #include <net/rtnetlink.h>
diff --cc net/wireless/util.c
index 6304ed6,3ba8eea..0000000
--- a/net/wireless/util.c
+++ b/net/wireless/util.c
@@@ -6,7 -6,7 +6,8 @@@
  #include <linux/bitops.h>
  #include <linux/etherdevice.h>
  #include <linux/slab.h>
 +#include <linux/crc32.h>
+ #include <linux/export.h>
  #include <net/cfg80211.h>
  #include <net/ip.h>
  #include "core.h"

^ permalink raw reply

* [PATCH] tcp: properly update lost_cnt_hint during shifting
From: Yan, Zheng @ 2011-09-28  6:38 UTC (permalink / raw)
  To: netdev@vger.kernel.org, ilpo.jarvinen

lost_skb_hint is used by tcp_mark_head_lost() to mark the first
unhandled skb. lost_cnt_hint is the number of sacked packets before
the lost_skb_hint. tcp_shifted_skb() shouldn't increase lost_cnt_hint
when shifting a sacked skb that is before the lost_skb_hint, because
packets in it are already counted.

Signed-off-by: Zheng Yan <zheng.z.yan@intel.com>
---
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index 21fab3e..f712ace 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -1390,9 +1390,14 @@ static int tcp_shifted_skb(struct sock *sk, struct sk_buff *skb,
 	BUG_ON(!pcount);
 
 	/* Tweak before seqno plays */
-	if (!tcp_is_fack(tp) && tcp_is_sack(tp) && tp->lost_skb_hint &&
-	    !before(TCP_SKB_CB(tp->lost_skb_hint)->seq, TCP_SKB_CB(skb)->seq))
-		tp->lost_cnt_hint += pcount;
+	if (!tcp_is_fack(tp) && tcp_is_sack(tp) && tp->lost_skb_hint) {
+		if (skb == tp->lost_skb_hint)
+			tp->lost_cnt_hint += pcount;
+		else if (!(TCP_SKB_CB(skb)->sacked & TCPCB_SACKED_ACKED) &&
+			 before(TCP_SKB_CB(skb)->seq,
+				TCP_SKB_CB(tp->lost_skb_hint)->seq))
+			tp->lost_cnt_hint += pcount;
+	}
 
 	TCP_SKB_CB(prev)->end_seq += shifted;
 	TCP_SKB_CB(skb)->seq += shifted;

^ permalink raw reply related

* linux-next: manual merge of the moduleh tree with the net tree
From: Stephen Rothwell @ 2011-09-28  6:36 UTC (permalink / raw)
  To: Paul Gortmaker
  Cc: linux-next, linux-kernel, Christian Lamparter, John W. Linville,
	David Miller, netdev

Hi Paul,

Today's linux-next merge of the moduleh tree got a conflict in
drivers/net/wireless/p54/txrx.c between commit 1cda0fd60963 ("p54: Use
do_div for 64-bit division to fix 32-bit kernels") from the  tree and
commit 9ec3f961e31a ("drivers/net: Add export.h to files using
EXPORT_SYMBOL/THIS_MODULE") from the moduleh tree.

I fixed it up (see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/net/wireless/p54/txrx.c
index 2b97a89,d5c12bc..0000000
--- a/drivers/net/wireless/p54/txrx.c
+++ b/drivers/net/wireless/p54/txrx.c
@@@ -19,7 -19,7 +19,8 @@@
  #include <linux/init.h>
  #include <linux/firmware.h>
  #include <linux/etherdevice.h>
+ #include <linux/export.h>
 +#include <asm/div64.h>
  
  #include <net/mac80211.h>
  

^ permalink raw reply

* linux-next: manual merge of the moduleh tree with the net tree
From: Stephen Rothwell @ 2011-09-28  6:34 UTC (permalink / raw)
  To: Paul Gortmaker
  Cc: linux-next, linux-kernel, Pavel Roskin, John W. Linville,
	David Miller, netdev

Hi Paul,

Today's linux-next merge of the moduleh tree got a conflict in
drivers/net/wireless/ath/ath5k/debug.c between commit 931be260ed54
("ath5k: clean up base.h and its use") from the net tree and commits
9ec3f961e31a ("drivers/net: Add export.h to files using
EXPORT_SYMBOL/THIS_MODULE") and 0cccb17382f1 ("drivers/net: Add
moduleparam.h to drivers as required") from the moduleh tree.

I fixed it up (see below) and can carry the fix as necessary.  (I am
pretty sure that this file doesn't need module.h, but not completely).
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/net/wireless/ath/ath5k/debug.c
index fce8c90,1051ede..0000000
--- a/drivers/net/wireless/ath/ath5k/debug.c
+++ b/drivers/net/wireless/ath/ath5k/debug.c
@@@ -58,13 -58,9 +58,15 @@@
   * THE POSSIBILITY OF SUCH DAMAGES.
   */
  
 +#include <linux/module.h>
+ #include <linux/moduleparam.h>
 -#include "base.h"
++#include <linux/export.h>
 +#include <linux/seq_file.h>
 +#include <linux/list.h>
  #include "debug.h"
 +#include "ath5k.h"
 +#include "reg.h"
 +#include "base.h"
  
  static unsigned int ath5k_debug;
  module_param_named(debug, ath5k_debug, uint, 0);

^ permalink raw reply

* Re: linux-next: manual merge of the net tree with the net-current tree
From: David Miller @ 2011-09-28  5:36 UTC (permalink / raw)
  To: sfr; +Cc: netdev, linux-next, linux-kernel, ordex, lindner_marek
In-Reply-To: <20110928125428.70d5cf10ea59f729135d5dff@canb.auug.org.au>

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Wed, 28 Sep 2011 12:54:28 +1000

> Today's linux-next merge of the net tree got a conflict in
> net/batman-adv/soft-interface.c between commit 8b267b312df9 ("batman-adv:
> do_bcast has to be true for broadcast packets only") from the net-current
> tree and commit 3d393e473210 ("batman-adv: implement AP-isolation on the
> sender side") from the net tree.
> 
> Just context changes.  I fixed it up (see below) and can carry the fix as
> necessary.

Yep, I'll do a merge soon to fix this up for good, thanks Stephen!

^ permalink raw reply

* [GIT] Networking
From: David Miller @ 2011-09-28  5:36 UTC (permalink / raw)
  To: torvalds; +Cc: akpm, netdev, linux-kernel


1) Fix two SKB leaks in ipv6 multicast cost, from Ben Greear.

2) BNX2X needs to hit the registers differently for HW Attention
   and Wake-On-Lan, from Dmitry Kravkov.

3) Missing break statement in dcbnl handling of bnx2x, fix from
   Shmulik Ravid.

4) dst_alloc() return value not checked in IPSEC, fix from Madalin
   Bucur.

5) Fix calculation of do_bcast in batman-adv stack, from Antonio Quartulli.

6) Wireless:
   a) Fix DMA getting stuck on ath9k AR9003 chips, from Rajkumar Manoharan.
   b) Mirror iwlagn command queue timeout fix in iwlegacy, from Johannes
      Berg.
   c) Similarly, mirror iwlagn interruptible wait fix in iwlegacy, from
      Stanislaw Gruszka.
   d) NL80211_ATTR_AKM_SUITES netlink blobs were not validated using
      the correct variable, fix from Jouni Malinen.
   e) iwl_scan_request() leaves ->scan_request and ->scan_vif dangling
      on failure, causing crashes later, fix from Johannes Berg.
   f) tcb_desc needs to be initialized fully in rtlwifi USB, from Larry
      Finger.
   g) DMA mappings left dangling on module unload in ath9k driver, from
      Mohammed Shafi.  Another bug found by the DMA debugging code.

Please pull, thanks a lot!

The following changes since commit a102a9ece5489e1718cd7543aa079082450ac3a2:

  Linux 3.1-rc8 (2011-09-27 15:48:34 -0700)

are available in the git repository at:
  git://github.com/davem330/net.git master

Antonio Quartulli (1):
      batman-adv: do_bcast has to be true for broadcast packets only

Ben Greear (2):
      ipv6-multicast: Fix memory leak in input path.
      ipv6-multicast: Fix memory leak in IPv6 multicast.

David S. Miller (2):
      Merge branch 'batman-adv/maint' of git://git.open-mesh.org/linux-merge
      Merge branch 'for-davem' of git://git.infradead.org/users/linville/wireless

Dmitry Kravkov (2):
      bnx2x: fix hw attention handling
      bnx2x: fix WOL by enablement PME in config space

Jason Wang (1):
      net: fix a typo in Documentation/networking/scaling.txt

Johannes Berg (1):
      iwlagn: fix dangling scan request

John W. Linville (1):
      Merge branch 'master' of git://git.infradead.org/users/linville/wireless into for-davem

Jouni Malinen (1):
      cfg80211: Fix validation of AKM suites

Larry Finger (1):
      rtlwifi: rtl8192cu: Fix unitialized struct

Madalin Bucur (2):
      net: check return value for dst_alloc
      ipv6: check return value for dst_alloc

Mohammed Shafi Shajakhan (1):
      ath9k: Fix a dma warning/memory leak

Rajkumar Manoharan (1):
      ath9k_hw: Fix Rx DMA stuck for AR9003 chips

Shmulik Ravid (1):
      bnx2x: add missing break in bnx2x_dcbnl_get_cap

Stanislaw Gruszka (2):
      iwlegacy: fix command queue timeout
      iwlegacy: do not use interruptible waits

 Documentation/networking/scaling.txt               |    2 +-
 drivers/net/bnx2x/bnx2x_dcb.c                      |    1 +
 drivers/net/bnx2x/bnx2x_main.c                     |   16 ++++++++--
 drivers/net/bnx2x/bnx2x_reg.h                      |   12 ++++++++
 .../net/wireless/ath/ath9k/ar9003_2p2_initvals.h   |    2 +-
 drivers/net/wireless/ath/ath9k/recv.c              |   10 ++++++-
 drivers/net/wireless/iwlegacy/iwl-core.c           |    4 +-
 drivers/net/wireless/iwlegacy/iwl-hcmd.c           |    2 +-
 drivers/net/wireless/iwlegacy/iwl-tx.c             |    4 ++-
 drivers/net/wireless/iwlegacy/iwl3945-base.c       |    8 ++--
 drivers/net/wireless/iwlegacy/iwl4965-base.c       |   10 +++---
 drivers/net/wireless/iwlwifi/iwl-scan.c            |   30 ++++++++++---------
 drivers/net/wireless/rtlwifi/usb.c                 |    1 +
 net/batman-adv/soft-interface.c                    |   10 +++---
 net/ipv6/ip6mr.c                                   |    8 ++++-
 net/ipv6/route.c                                   |    4 ++-
 net/wireless/nl80211.c                             |    5 ++-
 net/xfrm/xfrm_policy.c                             |   10 ++++--
 18 files changed, 93 insertions(+), 46 deletions(-)

^ permalink raw reply

* Re: [PATCH v3 6/7] tcp buffer limitation: per-cgroup limit
From: Andi Kleen @ 2011-09-28  3:06 UTC (permalink / raw)
  To: Balbir Singh
  Cc: Andi Kleen, Glauber Costa, linux-kernel, paul, lizf,
	kamezawa.hiroyu, ebiederm, davem, gthelen, netdev, linux-mm,
	kirill
In-Reply-To: <CAKTCnzm_BVOLK8c0rwYoDJCs+-920DWjwHFoQtgriRTEXrGiqw@mail.gmail.com>

On Wed, Sep 28, 2011 at 07:59:31AM +0530, Balbir Singh wrote:
> On Sat, Sep 24, 2011 at 10:28 PM, Andi Kleen <andi@firstfloor.org> wrote:
> > Glauber Costa <glommer@parallels.com> writes:
> >
> >> This patch uses the "tcp_max_mem" field of the kmem_cgroup to
> >> effectively control the amount of kernel memory pinned by a cgroup.
> >>
> >> We have to make sure that none of the memory pressure thresholds
> >> specified in the namespace are bigger than the current cgroup.
> >
> > I noticed that some other OS known by bash seem to have a rlimit per
> > process for this. Would that make sense too? Not sure how difficult
> > your infrastructure would be to extend to that.
> 
> rlimit per process for tcp usage? Interesting, that reminds me, we
> need to revisit rlimit (RSS) at some point

I would love to have that for some situations!
-Andi

-- 
ak@linux.intel.com -- Speaking for myself only.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply

* linux-next: manual merge of the net tree with the net-current tree
From: Stephen Rothwell @ 2011-09-28  2:54 UTC (permalink / raw)
  To: David Miller, netdev
  Cc: linux-next, linux-kernel, Antonio Quartulli, Marek Lindner

Hi all,

Today's linux-next merge of the net tree got a conflict in
net/batman-adv/soft-interface.c between commit 8b267b312df9 ("batman-adv:
do_bcast has to be true for broadcast packets only") from the net-current
tree and commit 3d393e473210 ("batman-adv: implement AP-isolation on the
sender side") from the net tree.

Just context changes.  I fixed it up (see below) and can carry the fix as
necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc net/batman-adv/soft-interface.c
index 05dd351,aceeabc..0000000
--- a/net/batman-adv/soft-interface.c
+++ b/net/batman-adv/soft-interface.c
@@@ -595,11 -596,12 +596,12 @@@ static int interface_tx(struct sk_buff 
  		goto dropped;
  
  	/* Register the client MAC in the transtable */
- 	tt_local_add(soft_iface, ethhdr->h_source);
+ 	tt_local_add(soft_iface, ethhdr->h_source, skb->skb_iif);
  
- 	orig_node = transtable_search(bat_priv, ethhdr->h_dest);
+ 	orig_node = transtable_search(bat_priv, ethhdr->h_source,
+ 				      ethhdr->h_dest);
 -	if (is_multicast_ether_addr(ethhdr->h_dest) ||
 -				(orig_node && orig_node->gw_flags)) {
 +	do_bcast = is_multicast_ether_addr(ethhdr->h_dest);
 +	if (do_bcast ||	(orig_node && orig_node->gw_flags)) {
  		ret = gw_is_target(bat_priv, skb, orig_node);
  
  		if (ret < 0)

^ permalink raw reply

* Re: pull request: wireless 2011-09-27
From: David Miller @ 2011-09-28  2:43 UTC (permalink / raw)
  To: linville; +Cc: linux-wireless, netdev, linux-kernel
In-Reply-To: <20110927210031.GA2471@tuxdriver.com>

From: "John W. Linville" <linville@tuxdriver.com>
Date: Tue, 27 Sep 2011 17:00:31 -0400

> Here is another last (?) batch of fixes intended for 3.1.  Included is a
> scanning-related regression fix that avoids a potential crash, a buffer
> overflow fix in cfg80211, an fix for an uninitialized variable in
> rtlwifi, a fix for a DMA-related WARNING in ath9k, a fix for a DMA hang
> in ath9k, and two iwlegacy fixes backported from prior iwlagn fixes, one
> for avoiding interruptible waits and another for avoiding a command
> queue timeout.
> 
> Please let me know if there are problems!

Pulled, thanks John.

^ permalink raw reply

* Re: [PATCH v3 6/7] tcp buffer limitation: per-cgroup limit
From: Balbir Singh @ 2011-09-28  2:29 UTC (permalink / raw)
  To: Andi Kleen
  Cc: Glauber Costa, linux-kernel, paul, lizf, kamezawa.hiroyu,
	ebiederm, davem, gthelen, netdev, linux-mm, kirill
In-Reply-To: <m24o01khcp.fsf@firstfloor.org>

On Sat, Sep 24, 2011 at 10:28 PM, Andi Kleen <andi@firstfloor.org> wrote:
> Glauber Costa <glommer@parallels.com> writes:
>
>> This patch uses the "tcp_max_mem" field of the kmem_cgroup to
>> effectively control the amount of kernel memory pinned by a cgroup.
>>
>> We have to make sure that none of the memory pressure thresholds
>> specified in the namespace are bigger than the current cgroup.
>
> I noticed that some other OS known by bash seem to have a rlimit per
> process for this. Would that make sense too? Not sure how difficult
> your infrastructure would be to extend to that.

rlimit per process for tcp usage? Interesting, that reminds me, we
need to revisit rlimit (RSS) at some point

Balbir Singh

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply

* 群发软件+买家搜索机+109届广交会买家、海关数据,B2B询盘买家500万。
From: 仅10元每天 @ 2011-09-28  2:10 UTC (permalink / raw)
  To: navy8088, nco, netdev, netfueflyveli, nethlon, netminda, netrangr,
	<neuhau

群发软件+109届广交会买家、海关数据、搜索引擎买家,B2B询盘买家共500万,仅10元每天。 
群发软件+109届广交会买家、海关数据、搜索引擎买家,B2B询盘买家共500万,仅10元每天。 
保证每天都有买家回复。
保证每天都有买家回复。
保证每天都有买家回复。

1、群发软件: 操作简单,功能强大,模仿人工操作模式,到达率高,日发送5万封以上。 
2、500万买家资源: 赠送的500万买家资源库,更新 (可以按照您的产品提取出来,更精准开发)。 
3、超级海外买家Email搜索机: 内置了600万行业关键词,根据长尾词搜索,结果更精确匹配;每天能搜索1-2万以上买家真实EMAIL,成单率高。 
 

要的抓紧联系QQ: 1339625218   或者立即回复邮箱: 1339625218@qq.com
要的抓紧联系QQ: 1339625218   或者立即回复邮箱: 1339625218@qq.com
要的抓紧联系QQ: 1339625218   或者立即回复邮箱: 1339625218@qq.com
 
免费赠送:
一共8个包(数据是全行业的,按照行业分好类,并且可以按照关键词查询的): 
1,2011春季109届广交会买家现场询盘数据库新鲜出炉,超级新鲜买家,新鲜数据,容易成单! 
2,购买后可以免费更新2011秋季广交会+2012春季广交会买家数据。太超值了。
3,最新全球买家库,共451660条数据。 (最新更新日期 2011-05-16日)
4,2008年,2009年,2010年 春季+秋季广交会买家名录,103 104 105 106 107 108 共六届 共120.6万数据。
5,2010年国际促销协会(PPAI)成员名单 PPAI Members Directory,非常重要的大买家。
6,2010年到香港采购的国外客人名录(香港贸发局提供),共7.2万数据,超级重要的买家。
7,48.68万条最新买家询盘,购买后每月更新 1-2万条,包括2部分,1,最新的询盘 2,最新的展会买家。免费更新36个月。
8,2009年海关提单数据piers版数据 1千万。


诚信为本,支持支付宝担保交易 (先发货并安装设置群发软件,然后付款) 彻底打消您的 顾虑。

 


 

精准数据-成单率极高
精准数据-成单率极高
精准数据-成单率极高
精准数据-成单率极高
精准数据-成单率极高

^ permalink raw reply

* Re: [PATCH v3 4/7] per-cgroup tcp buffers control
From: KAMEZAWA Hiroyuki @ 2011-09-28  1:09 UTC (permalink / raw)
  To: Glauber Costa
  Cc: linux-kernel, paul, lizf, ebiederm, davem, gthelen, netdev,
	linux-mm, kirill
In-Reply-To: <4E812C81.9020909@parallels.com>

On Mon, 26 Sep 2011 22:53:05 -0300
Glauber Costa <glommer@parallels.com> wrote:

> On 09/26/2011 07:59 AM, KAMEZAWA Hiroyuki wrote:
> > On Sun, 18 Sep 2011 21:56:42 -0300
> > Glauber Costa<glommer@parallels.com>  wrote:
> >
> >> With all the infrastructure in place, this patch implements
> >> per-cgroup control for tcp memory pressure handling.
> >>
> >> Signed-off-by: Glauber Costa<glommer@parallels.com>
> >> CC: David S. Miller<davem@davemloft.net>
> >> CC: Hiroyouki Kamezawa<kamezawa.hiroyu@jp.fujitsu.com>
> >> CC: Eric W. Biederman<ebiederm@xmission.com>
> >
> > a comment below.
> >
> >> +int tcp_init_cgroup(struct proto *prot, struct cgroup *cgrp,
> >> +		    struct cgroup_subsys *ss)
> >> +{
> >> +	struct mem_cgroup *cg = mem_cgroup_from_cont(cgrp);
> >> +	unsigned long limit;
> >> +
> >> +	cg->tcp_memory_pressure = 0;
> >> +	atomic_long_set(&cg->tcp_memory_allocated, 0);
> >> +	percpu_counter_init(&cg->tcp_sockets_allocated, 0);
> >> +
> >> +	limit = nr_free_buffer_pages() / 8;
> >> +	limit = max(limit, 128UL);
> >> +
> >> +	cg->tcp_prot_mem[0] = sysctl_tcp_mem[0];
> >> +	cg->tcp_prot_mem[1] = sysctl_tcp_mem[1];
> >> +	cg->tcp_prot_mem[2] = sysctl_tcp_mem[2];
> >> +
> >
> > Then, the parameter doesn't inherit parent's one ?
> >
> > I think sockets_populate should pass 'parent' and
> >
> >
> > I think you should have a function
> >
> >      mem_cgroup_should_inherit_parent_settings(parent)
> >
> > (This is because you made this feature as a part of memcg.
> >   please provide expected behavior.)
> >
> > Thanks,
> > -Kame
> 
> Kame: Another look into this:
> 
> sysctl_tcp_mem is a global value, unless you have different namespaces.
> So it is either global anyway, or should come from the namespace, not 
> the parent.
> 
> Now, the goal here is to set the maximum possible value for those 
> fields. That, indeed, should come from the parent.
> 
> That's my understanding...
> 
Hmm, I may misunderstand something. If this isn't a value you don't want to limit
by memcg's kmem_limit, it's ok.
Maybe memcg should just take care of kmem_limit.

Thanks,
-Kame

^ permalink raw reply

* Re: [PATCH v3 1/7] Basic kernel memory functionality for the Memory Controller
From: KAMEZAWA Hiroyuki @ 2011-09-28  0:58 UTC (permalink / raw)
  To: Glauber Costa
  Cc: linux-kernel, paul, lizf, ebiederm, davem, gthelen, netdev,
	linux-mm, kirill
In-Reply-To: <4E81084F.9010208@parallels.com>

On Mon, 26 Sep 2011 20:18:39 -0300
Glauber Costa <glommer@parallels.com> wrote:

> On 09/26/2011 07:34 AM, KAMEZAWA Hiroyuki wrote:
> > On Sun, 18 Sep 2011 21:56:39 -0300
> > Glauber Costa<glommer@parallels.com>  wrote:
"If parent sets use_hierarchy==1, children must have the same kmem_independent value
> > with parant's one."
> >
> > How do you think ? I think a hierarchy must have the same config.
> BTW, Kame:
> 
> Look again (I forgot myself when I first replied to you)
> Only in the root cgroup those files get registered.
> So shouldn't be a problem, because children won't even
> be able to see them.
> 
> Do you agree with this ?
> 

agreed.

Thanks,
-Kame

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply

* Re: [PATCH v3 2/7] socket: initial cgroup code.
From: KAMEZAWA Hiroyuki @ 2011-09-28  0:56 UTC (permalink / raw)
  To: Glauber Costa
  Cc: Balbir Singh, Greg Thelen, linux-kernel, paul, lizf, ebiederm,
	davem, netdev, linux-mm, kirill
In-Reply-To: <4E8100FC.10906@parallels.com>

On Mon, 26 Sep 2011 19:47:24 -0300
Glauber Costa <glommer@parallels.com> wrote:

> On 09/26/2011 07:52 AM, KAMEZAWA Hiroyuki wrote:
> > On Sat, 24 Sep 2011 11:45:04 -0300
> > Glauber Costa<glommer@parallels.com>  wrote:
> >
> >> On 09/22/2011 12:09 PM, Balbir Singh wrote:
> >>> On Thu, Sep 22, 2011 at 11:30 AM, Greg Thelen<gthelen@google.com>   wrote:
> >>>> On Wed, Sep 21, 2011 at 11:59 AM, Glauber Costa<glommer@parallels.com>   wrote:
> >>>>> Right now I am working under the assumption that tasks are long lived inside
> >>>>> the cgroup. Migration potentially introduces some nasty locking problems in
> >>>>> the mem_schedule path.
> >>>>>
> >>>>> Also, unless I am missing something, the memcg already has the policy of
> >>>>> not carrying charges around, probably because of this very same complexity.
> >>>>>
> >>>>> True that at least it won't EBUSY you... But I think this is at least a way
> >>>>> to guarantee that the cgroup under our nose won't disappear in the middle of
> >>>>> our allocations.
> >>>>
> >>>> Here's the memcg user page behavior using the same pattern:
> >>>>
> >>>> 1. user page P is allocate by task T in memcg M1
> >>>> 2. T is moved to memcg M2.  The P charge is left behind still charged
> >>>> to M1 if memory.move_charge_at_immigrate=0; or the charge is moved to
> >>>> M2 if memory.move_charge_at_immigrate=1.
> >>>> 3. rmdir M1 will try to reclaim P (if P was left in M1).  If unable to
> >>>> reclaim, then P is recharged to parent(M1).
> >>>>
> >>>
> >>> We also have some magic in page_referenced() to remove pages
> >>> referenced from different containers. What we do is try not to
> >>> penalize a cgroup if another cgroup is referencing this page and the
> >>> page under consideration is being reclaimed from the cgroup that
> >>> touched it.
> >>>
> >>> Balbir Singh
> >> Do you guys see it as a showstopper for this series to be merged, or can
> >> we just TODO it ?
> >>
> >
> > In my experience, 'I can't rmdir cgroup.' is always an important/difficult
> > problem. The users cannot know where the accouting is leaking other than
> > kmem.usage_in_bytes or memory.usage_in_bytes. and can't fix the issue.
> >
> > please add EXPERIMENTAL to Kconfig until this is fixed.
> 
> I am working on something here that may allow it.
> But I think it is independent of the rest, and I can repost the series 
> fixing the problems raised here without it, + EXPERIMENTAL.
> 
> Btw, using EXPERIMENTAL here is a very good idea. I think that we should
> turn EXPERIMENTAL on even if I fix for that exists, for a least a couple
> of months until we see how this thing really evolves.
> 
> What do you think?
> 

Yes, I think so. IIRC, SWAP accounting was EXPERIMENTAL for a year.

> >> I can push a proposal for it, but it would be done in a separate patch
> >> anyway. Also, we may be in better conditions to fix this when the slab
> >> part is merged - since it will likely have the same problems...
> >>
> >
> > Yes. considering sockets which can be shared between tasks(cgroups)
> > you'll finally need
> >    - owner task of socket
> >    - account moving callback
> >
> > Or disallow task moving once accounted.
> 
> I personally think disallowing task movement once accounted is 
> reasonable. At least for starters.
> 

Hmm. I'm ok with that...but I'm not very sure how that will be trouble.
So, please make it debuggable why task cannot be moved.

Thanks,
-Kame

^ permalink raw reply

* Re: [net-next 11/13] igb: Make Tx budget for NAPI user adjustable
From: Ben Hutchings @ 2011-09-27 23:45 UTC (permalink / raw)
  To: Neil Horman
  Cc: Andy Gospodarek, Stephen Hemminger, jeffrey t kirsher,
	David Miller, netdev, gospo, Alexander H Duyck
In-Reply-To: <20110920202305.GC16323@hmsreliant.think-freely.org>

On Tue, 2011-09-20 at 16:23 -0400, Neil Horman wrote:
[...]
> This is the work Andy is referring to for those interested:
> http://marc.info/?l=linux-kernel&m=131644727521409&w=2
> 
> This version has Gregs Ack, and is waiting for an Ack from Jesse Barnes at the
> moment.

While I think it's useful to be able to list all IRQs assigned to a PCI
device, this doesn't tell us anything about the way they're associated
with queues.

> I think Andy's probably right, theres room here for expansion to create
> a relationship between a given interrupt and a napi wieght.  I expect what would
> be most direct would be adding a napi_weight attribute that was conditional on
> the class of the pci device allocating the irqs (make it visible for class 0x200
> devs, invisible for others).

That's a terrible idea; what has NAPI got to do with PCI devices?

Ben.

-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.

^ permalink raw reply

* Re: RFS issue: no HW filter for paused stream
From: Ben Hutchings @ 2011-09-27 23:42 UTC (permalink / raw)
  To: Amir Vadai; +Cc: Tom Herbert, oren, liranl, netdev, Diego Crupnicoff
In-Reply-To: <4E7AD1A4.7000308@mellanox.co.il>

On Thu, 2011-09-22 at 09:11 +0300, Amir Vadai wrote:
> Looks good.
> and now the code is much clearer

Does that mean that this change *works* for you?

Ben.

[...]
> > But that means we never move the flow to a new CPU in the non-
> > accelerated case.  So maybe the proper change would be:
> >
> > --- a/net/core/dev.c
> > +++ b/net/core/dev.c
> > @@ -2652,10 +2652,7 @@ static struct rps_dev_flow *
> >   set_rps_cpu(struct net_device *dev, struct sk_buff *skb,
> >   	    struct rps_dev_flow *rflow, u16 next_cpu)
> >   {
> > -	u16 tcpu;
> > -
> > -	tcpu = rflow->cpu = next_cpu;
> > -	if (tcpu != RPS_NO_CPU) {
> > +	if (next_cpu != RPS_NO_CPU) {
> >   #ifdef CONFIG_RFS_ACCEL
> >   		struct netdev_rx_queue *rxqueue;
> >   		struct rps_dev_flow_table *flow_table;
> > @@ -2683,16 +2680,16 @@ set_rps_cpu(struct net_device *dev, struct sk_buff *skb,
> >   			goto out;
> >   		old_rflow = rflow;
> >   		rflow =&flow_table->flows[flow_id];
> > -		rflow->cpu = next_cpu;
> >   		rflow->filter = rc;
> >   		if (old_rflow->filter == rflow->filter)
> >   			old_rflow->filter = RPS_NO_FILTER;
> >   	out:
> >   #endif
> >   		rflow->last_qtail =
> > -			per_cpu(softnet_data, tcpu).input_queue_head;
> > +			per_cpu(softnet_data, next_cpu).input_queue_head;
> >   	}
> >
> > +	rflow->cpu = next_cpu;
> >   	return rflow;
> >   }
> >
> > --- END ---
> >

-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.

^ permalink raw reply

* Chers User Account Email.
From: Webmaster alerte @ 2011-09-28  1:20 UTC (permalink / raw)


--
CLIQUEZ RÉPONSE AVANT DE REMPLIR DÉTAILS

Attention:

Une tentative a été faite de se connecter à partir d'un nouvel ordinateur.
Pour la sécurité de votre compte, nous sommes prêts à ouvrir une requête.
Veuillez vérifier vos informations de connexion en répondant à cet e-mail et
en fournissant votre nom d'utilisateur / ID {_______} Mot de passe {_______}
Alternate {_______} dans les espaces.

Ne pas ignorer ce message pour éviter la résiliation de votre compte
webmail.

Customer Care Webmaster.

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox