Netdev List
 help / color / mirror / Atom feed
* [PATCH 3/7 v6] initdev:kernel:Await console discovery
From: David VomLehn @ 2009-08-04 22:15 UTC (permalink / raw)
  To: linux-kernel; +Cc: akpm, linux-usb, greg, linux-scsi, netdev, arjan

Wait for the console device to become available or for it to be determined
that no console is attached a boot time.

Signed-off-by: David VomLehn <dvomlehn@cisco.com>
---
 drivers/accessibility/braille/braille_console.c |    2 +
 kernel/printk.c                                 |   29 ++++++++++++++++++++++-
 2 files changed, 30 insertions(+), 1 deletions(-)

diff --git a/drivers/accessibility/braille/braille_console.c b/drivers/accessibility/braille/braille_console.c
index d672cfe..6d1693f 100644
--- a/drivers/accessibility/braille/braille_console.c
+++ b/drivers/accessibility/braille/braille_console.c
@@ -378,6 +378,8 @@ int braille_register_console(struct console *console, int index,
 	braille_co = console;
 	register_keyboard_notifier(&keyboard_notifier_block);
 	register_vt_notifier(&vt_notifier_block);
+
+	initdev_registered(INITDEV_CONSOLE_TYPE);
 	return 0;
 }
 
diff --git a/kernel/printk.c b/kernel/printk.c
index 5052b54..7cdc91c 100644
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -33,6 +33,7 @@
 #include <linux/bootmem.h>
 #include <linux/syscalls.h>
 #include <linux/kexec.h>
+#include <linux/device.h>
 
 #include <asm/uaccess.h>
 
@@ -1075,8 +1076,10 @@ void console_unblank(void)
 
 /*
  * Return the console tty driver structure and its associated index
+ * @index:	Pointer to the device index
+ * Returns NULL if no driver available, otherwise a pointer to the TTY driver.
  */
-struct tty_driver *console_device(int *index)
+struct tty_driver *_console_device(int *index)
 {
 	struct console *c;
 	struct tty_driver *driver = NULL;
@@ -1094,6 +1097,29 @@ struct tty_driver *console_device(int *index)
 }
 
 /*
+ * Returns true if all specific consoles are registered, false otherwise
+ */
+static bool have_all_consoles(void)
+{
+	struct tty_driver *driver;
+	int		index;
+
+	driver = _console_device(&index);
+
+	return driver != NULL;
+}
+
+struct tty_driver *console_device(int *index)
+{
+	struct tty_driver *driver;
+	initdev_wait(INITDEV_CONSOLE_TYPE, have_all_consoles);
+
+	driver = _console_device(index);
+
+	return driver;
+}
+
+/*
  * Prevent further output on the passed console device so that (for example)
  * serial drivers can disable console output before suspending a port, and can
  * re-enable output afterwards.
@@ -1230,6 +1256,7 @@ void register_console(struct console *console)
 		spin_unlock_irqrestore(&logbuf_lock, flags);
 	}
 	release_console_sem();
+	initdev_registered(INITDEV_CONSOLE_TYPE);
 }
 EXPORT_SYMBOL(register_console);
 

^ permalink raw reply related

* [PATCH 4/7 v3] initdev:kernel:Await network init device discovery
From: David VomLehn @ 2009-08-04 22:15 UTC (permalink / raw)
  To: linux-kernel-u79uwXL29TY76Z2rM5mHXA
  Cc: akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b,
	linux-usb-u79uwXL29TY76Z2rM5mHXA, greg-U8xfFu+wG4EAvxtiuMwx3w,
	linux-scsi-u79uwXL29TY76Z2rM5mHXA, netdev-u79uwXL29TY76Z2rM5mHXA,
	arjan-wEGCiKHe2LqWVfeAwA7xHQ

Delay IP autoconfiguration until network boot devices have been initialized.
This depends on the boot device discovery code and on the asynchronous
function call infrastructure.

Signed-off-by: David VomLehn <dvomlehn-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>
---
 net/core/dev.c      |    2 +
 net/ipv4/ipconfig.c |   55 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 56 insertions(+), 1 deletions(-)

diff --git a/net/core/dev.c b/net/core/dev.c
index 308a7d0..2796764 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -93,6 +93,7 @@
 #include <linux/ethtool.h>
 #include <linux/notifier.h>
 #include <linux/skbuff.h>
+#include <linux/device.h>
 #include <net/net_namespace.h>
 #include <net/sock.h>
 #include <linux/rtnetlink.h>
@@ -4497,6 +4498,7 @@ int register_netdevice(struct net_device *dev)
 		dev->reg_state = NETREG_UNREGISTERED;
 	}
 
+	initdev_registered(INITDEV_NETDEV_TYPE);
 out:
 	return ret;
 
diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c
index 90d22ae..3b1a381 100644
--- a/net/ipv4/ipconfig.c
+++ b/net/ipv4/ipconfig.c
@@ -53,6 +53,7 @@
 #include <linux/root_dev.h>
 #include <linux/delay.h>
 #include <linux/nfs_fs.h>
+#include <linux/async.h>
 #include <net/net_namespace.h>
 #include <net/arp.h>
 #include <net/ip.h>
@@ -182,12 +183,48 @@ struct ic_device {
 static struct ic_device *ic_first_dev __initdata = NULL;/* List of open device */
 static struct net_device *ic_dev __initdata = NULL;	/* Selected device */
 
+/*
+ * Wait for required network devices to come up
+ * If the networking device name was specified on the kernel command line
+ * and that device is now registered, we have the device we want to configure
+ * and we return true. Otherwise, we return false. So, if no device was
+ * specified on the command line, we wait for all possible network devices to
+ * be initialized.
+ */
+static bool have_all_netdevs(void)
+{
+	struct net_device *dev;
+	bool	result = false;
+
+	rtnl_lock();
+
+	for_each_netdev(&init_net, dev) {
+		if (dev->flags & IFF_LOOPBACK)
+			continue;
+
+		/* If a specific device name was specified and that name is
+		 * registered, we have the device we need. */
+		if (user_dev_name[0] && !strcmp(dev->name, user_dev_name)) {
+			result = true;
+			break;
+		}
+	}
+
+	rtnl_unlock();
+
+	return result;
+
+}
+
 static int __init ic_open_devs(void)
 {
 	struct ic_device *d, **last;
 	struct net_device *dev;
 	unsigned short oflags;
 
+	/* Wait for networking devices */
+	initdev_wait(INITDEV_NETDEV_TYPE, have_all_netdevs);
+
 	last = &ic_first_dev;
 	rtnl_lock();
 
@@ -1263,6 +1300,7 @@ __be32 __init root_nfs_parse_addr(char *name)
 
 /*
  *	IP Autoconfig dispatcher.
+ *	Return zero on success, negative one on failure
  */
 
 static int __init ip_auto_config(void)
@@ -1397,7 +1435,22 @@ static int __init ip_auto_config(void)
 	return 0;
 }
 
-late_initcall(ip_auto_config);
+static void __init ip_auto_config_async(void *data, async_cookie_t cookie)
+{
+	ip_auto_config();
+}
+
+/*
+ * Start a thread to do IP autoconfiguration
+ */
+static int __init ip_auto_configurator(void)
+{
+	async_schedule(ip_auto_config_async, NULL);
+
+	return 0;
+}
+
+late_initcall(ip_auto_configurator);
 
 
 /*
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related

* [PATCH 5/7 v4] initdev:kernel:USB and SCSI block init device notification
From: David VomLehn @ 2009-08-04 22:15 UTC (permalink / raw)
  To: linux-kernel; +Cc: akpm, linux-usb, greg, linux-scsi, netdev, arjan

From: Alan Stern <stern@rowland.harvard.edu>

Add notification of device discovery for USB and SCSI block devices.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu
Signed-off-by: David VomLehn <dvomlehn@cisco.com>
---
 drivers/scsi/scsi_scan.c  |    2 ++
 drivers/usb/storage/usb.c |    3 +++
 2 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c
index 6f51ca4..cb7b450 100644
--- a/drivers/scsi/scsi_scan.c
+++ b/drivers/scsi/scsi_scan.c
@@ -1834,6 +1834,7 @@ static int do_scan_async(void *_data)
 	struct async_scan_data *data = _data;
 	do_scsi_scan_host(data->shost);
 	scsi_finish_async_scan(data);
+	initdev_probe_done(INITDEV_BLOCK_MASK);
 	return 0;
 }
 
@@ -1855,6 +1856,7 @@ void scsi_scan_host(struct Scsi_Host *shost)
 		return;
 	}
 
+	initdev_found(INITDEV_BLOCK_MASK);
 	p = kthread_run(do_scan_async, data, "scsi_scan_%d", shost->host_no);
 	if (IS_ERR(p))
 		do_scan_async(data);
diff --git a/drivers/usb/storage/usb.c b/drivers/usb/storage/usb.c
index 8060b85..6a78278 100644
--- a/drivers/usb/storage/usb.c
+++ b/drivers/usb/storage/usb.c
@@ -837,6 +837,7 @@ static int usb_stor_scan_thread(void * __us)
 		/* Should we unbind if no devices were detected? */
 	}
 
+	initdev_probe_done(INITDEV_BLOCK_MASK);
 	complete_and_exit(&us->scanning_done, 0);
 }
 
@@ -937,10 +938,12 @@ int usb_stor_probe2(struct us_data *us)
 	}
 
 	/* Start up the thread for delayed SCSI-device scanning */
+	initdev_found(INITDEV_BLOCK_MASK);
 	th = kthread_create(usb_stor_scan_thread, us, "usb-stor-scan");
 	if (IS_ERR(th)) {
 		printk(KERN_WARNING USB_STORAGE 
 		       "Unable to start the device-scanning thread\n");
+		initdev_probe_done(INITDEV_BLOCK_MASK);
 		complete(&us->scanning_done);
 		quiesce_and_remove_host(us);
 		result = PTR_ERR(th);

^ permalink raw reply related

* [PATCH 6/7 v1] initdev:kernel:SCSI asynchronous block init device notification
From: David VomLehn @ 2009-08-04 22:15 UTC (permalink / raw)
  To: linux-kernel; +Cc: akpm, linux-usb, greg, linux-scsi, netdev, arjan

In addition to the bus initdev synchronization, SCSI also starts asynchronous
threads with which we must synchronize.

Signed-off-by: David VomLehn <dvomlehn@cisco.com>
---
 drivers/scsi/sd.c     |    2 ++
 fs/partitions/check.c |    1 +
 2 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index 5616cd7..394235d 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -2005,6 +2005,7 @@ static void sd_probe_async(void *data, async_cookie_t cookie)
 
 	sd_printk(KERN_NOTICE, sdkp, "Attached SCSI %sdisk\n",
 		  sdp->removable ? "removable " : "");
+	initdev_probe_done(INITDEV_BLOCK_MASK);
 }
 
 /**
@@ -2090,6 +2091,7 @@ static int sd_probe(struct device *dev)
 
 	get_device(&sdp->sdev_gendev);
 
+	initdev_found(INITDEV_BLOCK_MASK);
 	async_schedule(sd_probe_async, sdkp);
 
 	return 0;
diff --git a/fs/partitions/check.c b/fs/partitions/check.c
index ea4e6cb..a0fa50c 100644
--- a/fs/partitions/check.c
+++ b/fs/partitions/check.c
@@ -512,6 +512,7 @@ exit:
 	while ((part = disk_part_iter_next(&piter)))
 		kobject_uevent(&part_to_dev(part)->kobj, KOBJ_ADD);
 	disk_part_iter_exit(&piter);
+	initdev_registered(INITDEV_BLOCK_TYPE);
 }
 
 int rescan_partitions(struct gendisk *disk, struct block_device *bdev)

^ permalink raw reply related

* [PATCH 7/7 v1] initdev:kernel:Await block device discovery
From: David VomLehn @ 2009-08-04 22:15 UTC (permalink / raw)
  To: linux-kernel; +Cc: akpm, linux-usb, greg, linux-scsi, netdev, arjan

Use the initdev infrastructure to wait for a root device to become available.
This should make most uses of the kernel rootwait parameter unnecessary. The
only time it should be necessary is when the root device might not be attached
at boot time.

Signed-off-by: David VomLehn <dvomlehn@cisco>
---
 init/do_mounts.c |   29 +++++++++++++++++++++++++----
 1 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/init/do_mounts.c b/init/do_mounts.c
index dd7ee5f..36a92ae 100644
--- a/init/do_mounts.c
+++ b/init/do_mounts.c
@@ -358,6 +358,18 @@ void __init mount_root(void)
 #endif
 }
 
+/**
+ * root_present - determine whether the root device is available yet
+ *
+ * Returns true if the root device is available, false if not. The check to
+ * see if the root device is available is done by check to see whether it
+ * has been assigned a major/minor device number.
+ */
+static bool root_present(void)
+{
+	return name_to_dev_t(saved_root_name) != 0;
+}
+
 /*
  * Prepare the namespace - decide what/where to mount, load ramdisks, etc.
  */
@@ -398,12 +410,21 @@ void __init prepare_namespace(void)
 		goto out;
 
 	/* wait for any asynchronous scanning to complete */
-	if ((ROOT_DEV == 0) && root_wait) {
+	if (ROOT_DEV == 0) {
 		printk(KERN_INFO "Waiting for root device %s...\n",
 			saved_root_name);
-		while (driver_probe_done() != 0 ||
-			(ROOT_DEV = name_to_dev_t(saved_root_name)) == 0)
-			msleep(100);
+		if (root_wait) {
+			while (driver_probe_done() != 0 ||
+				(ROOT_DEV = name_to_dev_t(saved_root_name)) ==
+					0)
+				msleep(100);
+		}
+
+		else {
+			initdev_wait(INITDEV_BLOCK_TYPE, root_present);
+			ROOT_DEV = name_to_dev_t(saved_root_name);
+		}
+
 		async_synchronize_full();
 	}
 

^ permalink raw reply related

* Re: [PATCH 5/5] c/r: Add AF_UNIX support (v7)
From: Dan Smith @ 2009-08-04 22:24 UTC (permalink / raw)
  To: Serge E. Hallyn; +Cc: containers, Alexey Dobriyan, netdev
In-Reply-To: <20090804211742.GC13499@us.ibm.com>

SH> I don't understand.  Which pid?

I meant the socket's peercred, which includes the pid of the process
that opened it, but that clearly won't work... :)

-- 
Dan Smith
IBM Linux Technology Center
email: danms@us.ibm.com

^ permalink raw reply

* Re: [PATCH 5/5] c/r: Add AF_UNIX support (v7)
From: Serge E. Hallyn @ 2009-08-04 22:31 UTC (permalink / raw)
  To: Dan Smith; +Cc: containers, Alexey Dobriyan, netdev
In-Reply-To: <1249331463-11887-6-git-send-email-danms@us.ibm.com>

Quoting Dan Smith (danms@us.ibm.com):

> +static int sock_read_buffer_sendmsg(struct ckpt_ctx *ctx, struct sock *sock)
> +{
> +	struct msghdr msg;
> +	struct kvec kvec;
> +	int ret = 0;
> +	int len;
> +
> +	memset(&msg, 0, sizeof(msg));
> +
> +	len = _ckpt_read_obj_type(ctx, NULL, 0, CKPT_HDR_SOCKET_BUFFER);
> +	if (len < 0)
> +		return len;
> +
> +	if (len > SKB_MAX_ALLOC) {
> +		ckpt_debug("Socket buffer too big (%i > %lu)",
> +			   len, SKB_MAX_ALLOC);
> +		return -ENOSPC;
> +	}
> +
> +	kvec.iov_len = len;
> +	kvec.iov_base = kmalloc(len, GFP_KERNEL);
> +	if (!kvec.iov_base)
> +		return -ENOMEM;
> +
> +	ret = ckpt_kread(ctx, kvec.iov_base, len);
> +	if (ret < 0)
> +		goto out;
> +
> +	ret = kernel_sendmsg(sock->sk_socket, &msg, &kvec, 1, len);
> +	ckpt_debug("kernel_sendmsg(%i): %i\n", len, ret);
> +	if ((ret > 0) && (ret != len))
> +		ret = -ENOMEM;
> + out:
> +	if (ret)

why only free iov_base if ret!=0?

> +		kfree(kvec.iov_base);
> +
> +	return ret;
> +}
> +
> +static struct ckpt_hdr_socket_queue *sock_read_buffer_hdr(struct ckpt_ctx *ctx,
> +							   uint32_t *bufsize)
> +{
> +	struct ckpt_hdr_socket_queue *h;
> +	int err = 0;
> +
> +	h = ckpt_read_obj_type(ctx, sizeof(*h), CKPT_HDR_SOCKET_QUEUE);
> +	if (IS_ERR(h))
> +		return h;
> +
> +	if (!bufsize) {
> +		if (h->total_bytes != 0) {
> +			ckpt_debug("Expected empty buffer, got %u\n",
> +				   h->total_bytes);
> +			err = -EINVAL;
> +		}
> +	} else if (h->total_bytes > *bufsize) {
> +		/* NB: We let CAP_NET_ADMIN override the system buffer limit
> +		 *     as setsockopt() does
> +		 */
> +		if (capable(CAP_NET_ADMIN))
> +			*bufsize = h->total_bytes;
> +		else {
> +			ckpt_debug("Buffer total %u exceeds limit %u\n",
> +			   h->total_bytes, *bufsize);
> +			err = -EINVAL;
> +		}
> +	}
> +
> +	if (err) {
> +		ckpt_hdr_put(ctx, h);
> +		return ERR_PTR(err);
> +	} else
> +		return h;
> +}
> +
> +static int sock_unix_read_buffers(struct ckpt_ctx *ctx,
> +				  struct sock *sock,
> +				  uint32_t *bufsize)
> +{
> +	uint8_t sock_shutdown;
> +	struct ckpt_hdr_socket_queue *h;
> + 	int ret = 0;
> +	int i;
> +
> +	h = sock_read_buffer_hdr(ctx, bufsize);
> +	if (IS_ERR(h))
> +		return PTR_ERR(h);
> +
> +	/* If peer is shutdown, unshutdown it for this process */
> +	sock_shutdown = sock->sk_shutdown;
> +	sock->sk_shutdown &= ~SHUTDOWN_MASK;
> +
> +	for (i = 0; i < h->skb_count; i++) {
> +		ret = sock_read_buffer_sendmsg(ctx, sock);
> +		ckpt_debug("read_buffer_sendmsg(%i): %i\n", i, ret);
> +		if (ret < 0)
> +			break;
> +
> +		if (ret > h->total_bytes) {
> +			ckpt_debug("Buffers exceeded claim");
> +			ret = -EINVAL;
> +			break;
> +		}
> +
> +		h->total_bytes -= ret;
> +		ret = 0;
> +	}
> +
> +	sock->sk_shutdown = sock_shutdown;
> +	ckpt_hdr_put(ctx, h);
> +
> +	return ret;
> +}
> +
> +static struct unix_address *sock_unix_makeaddr(struct sockaddr_un *sun_addr,
> +					       unsigned len)
> +{
> +	struct unix_address *addr;
> +
> +	if (len > sizeof(struct sockaddr_un))
> +		return ERR_PTR(-EINVAL);
> +
> +	addr = kmalloc(sizeof(*addr) + len, GFP_KERNEL);
> +	if (!addr)
> +		return ERR_PTR(-ENOMEM);
> +
> +	memcpy(addr->name, sun_addr, len);
> +	addr->len = len;
> +	atomic_set(&addr->refcnt, 1);
> +
> +	return addr;
> +}
> +
> +static int sock_unix_join(struct ckpt_ctx *ctx,
> +			  struct sock *a,
> +			  struct sock *b,
> +			  struct ckpt_hdr_socket_unix *un)
> +{
> +	struct unix_address *addr = NULL;
> +
> +	/* FIXME: Do we need to call some security hooks here? */
> +
> +	sock_hold(a);
> +	sock_hold(b);
> +
> +	unix_sk(a)->peer = b;
> +	unix_sk(b)->peer = a;
> +
> +	a->sk_peercred.pid = task_tgid_vnr(current);
> +	a->sk_peercred.uid = ctx->realcred->uid;

I don't know how much it matters, but of course root could
be restarting a set of tasks owned by several non-root uids,
and the peercred.uid's might need to be something other than
ctx->realcred->uid.  Or not?

> +	a->sk_peercred.gid = ctx->realcred->gid;
> +
> +	b->sk_peercred.pid = a->sk_peercred.pid;
> +	b->sk_peercred.uid = a->sk_peercred.uid;
> +	b->sk_peercred.gid = a->sk_peercred.gid;
> +

-serge

^ permalink raw reply

* Re: [PATCH 5/5] c/r: Add AF_UNIX support (v7)
From: Dan Smith @ 2009-08-04 22:47 UTC (permalink / raw)
  To: Serge E. Hallyn; +Cc: containers, Alexey Dobriyan, netdev
In-Reply-To: <20090804223141.GA14254@us.ibm.com>

SH> why only free iov_base if ret!=0?

Because I was diagnosing a crash that only seemed to happen when I
free()'d the buffer after it was used by sendmsg() and I forgot to
remove this :(

>> +	a->sk_peercred.pid = task_tgid_vnr(current);
>> +	a->sk_peercred.uid = ctx->realcred->uid;

SH> I don't know how much it matters, but of course root could be
SH> restarting a set of tasks owned by several non-root uids, and the
SH> peercred.uid's might need to be something other than
ctx-> realcred->uid.  Or not?

Oh, so you're suggesting I use ctx->ecred instead?  I didn't actually
notice the double declaration in the ckpt_ctx, but I guess that would
be better.

-- 
Dan Smith
IBM Linux Technology Center
email: danms@us.ibm.com

^ permalink raw reply

* Re: Kernel oops on setting sky2 interfaces down
From: Rene Mayrhofer @ 2009-08-04 22:55 UTC (permalink / raw)
  To: Mike McCormack; +Cc: netdev, Richard Leitner
In-Reply-To: <392fb48f0908040445pc21105bo3182773b76d49596@mail.gmail.com>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Mike McCormack wrote:
> 2009/8/4 Rene Mayrhofer <rene.mayrhofer@gibraltar.at>:
> 
>> Does anybody have an idea on what might be wrong in sky2_down?
> 
> btw. for 2.6.30, I found I could copy sky2.c from the netdev git into
> my 2.6.30 tree if I added the following line at the end of
> sky2_xmit_frame() :
> 
>         dev->trans_start = jiffies;     /* prevent tx timeout */

This seems to be already included in the current netdev git.

Nonetheless, the current unmodified version from netdev git solves the
oops in sky2. I have not diffed my old vs. this version, but whoever is
interested in which change fixed the oops, it should be somewhere in
commit 0a1449c in our Gibraltar kernel git repository.

Thanks a lot for that hint!
Rene
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkp4vEQACgkQq7SPDcPCS97BtgCfZy1QTeQOL340hD0HIgTC1c3O
Gy0An1u8zdh4wyU4DchLfxNWzqlJExV+
=0+E4
-----END PGP SIGNATURE-----

^ permalink raw reply

* Re: Kernel oops on setting sky2 interfaces down
From: Rene Mayrhofer @ 2009-08-04 22:59 UTC (permalink / raw)
  To: Mike McCormack; +Cc: netdev, Richard Leitner
In-Reply-To: <4A78BC48.4060200@gibraltar.at>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Rene Mayrhofer wrote:
> Nonetheless, the current unmodified version from netdev git solves the
> oops in sky2. 
Actually, it doesn't. I managed to run networking restart twice without
an oops (with the netdev git version of sky2.c), but after generating
some minor traffic and trying to restart again, I still get this oops:

[~]# /etc/init.d/networking restart
Reconfiguring network interfaces...[  844.000236] sky2 0000:01:00.0:
error interrupt status=0xffffffff

[  844.007309] sky2 0000:01:00.0: PCI hardware error (0xffff)

[  844.013657] sky2 0000:01:00.0: PCI Express error (0xffffffff)

[  844.020290] sky2 wan: ram data read parity error

[  844.025697] sky2 wan: ram data write parity error

[  844.031148] sky2 wan: MAC parity error

[  844.035522] sky2 wan: RX parity error

[  844.039812] sky2 wan: TCP segmentation error

[  844.044966] BUG: unable to handle kernel NULL pointer dereference at
0000038d
[  844.048782] IP: [<f8050d2d>] sky2_mac_intr+0x30/0xc1 [sky2]

[  844.048782] *pde = 00000000

[  844.048782] Oops: 0000 [#1] PREEMPT SMP

[  844.048782] last sysfs file:
/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed

[  844.048782] Modules linked in: xt_multiport cpufreq_userspace xt_DSCP
xt_length xt_mark xt_dscp xt_MARK xt_CONNMARK xt_comment xt_policy
ipt_REDIRECT ip6t_LOG xt_tcpudp ip6table_mangle iptable_mangle
ip6table_filter ip6_tables sit tunnel4 8021q garp stp llc ipt_LOG
xt_limit xt_state iptable_nat iptable_filter ip_tables x_tables dm_mod
p4_clockmod speedstep_lib freq_table tun imq nf_nat_ftp nf_nat
nf_conntrack_ftp nf_conntrack_ipv6 nf_conntrack_ipv4 nf_conntrack
nf_defrag_ipv4 ipv6 evdev parport_pc parport serio_raw i2c_i801 i2c_core
iTCO_wdt rng_core pcspkr intel_agp loop aufs exportfs nls_utf8 nls_cp437
ide_generic sd_mod ide_gd_mod ata_generic pata_acpi ata_piix skge piix
ide_pci_generic ide_core sky2 thermal_sys

[  844.048782]

[  844.048782] Pid: 13285, comm: postfix Not tainted (2.6.30.4 #2)

[  844.048782] EIP: 0060:[<f8050d2d>] EFLAGS: 00010286 CPU: 0

[  844.048782] EIP is at sky2_mac_intr+0x30/0xc1 [sky2]

[  844.048782] EAX: f8068f88 EBX: 00000001 ECX: 00000008 EDX: 000000ff

[  844.048782] ESI: 00000000 EDI: f6901b80 EBP: e1c83e9c ESP: e1c83e84

[  844.048782]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068

[  844.048782] Process postfix (pid: 13285, ti=e1c82000 task=e1d105b0
task.ti=e1c82000)

[  844.048782] Stack:

[  844.048782]  00000080 ff901b80 eda21a93 f71ed840 ffffffff ffffffff
e1c83f28 f8054181

[  844.048782]  c022594e 00000000 00000040 f6901b88 00000003 eda21a93
f6901b80 ffffffff

[  844.048782]  c181d7a4 f71ef000 c0243594 00000000 c181d7a0 f702e130
eda21a93 e1c83eec

[  844.048782] Call Trace:

[  844.048782]  [<f8054181>] ? sky2_poll+0x1d2/0xb65 [sky2]

[  844.048782]  [<c022594e>] ? __wake_up+0x41/0x5c

[  844.048782]  [<c0243594>] ? insert_work+0xa5/0xbf

[  844.048782]  [<c04ee2a5>] ? _spin_unlock_irqrestore+0x31/0x44

[  844.048782]  [<c0243e4b>] ? __queue_work+0x36/0x4d

[  844.048782]  [<c047731c>] ? __qdisc_run+0x73/0x1ca

[  844.048782]  [<c0463ce6>] ? net_rx_action+0x9e/0x1a2

[  844.048782]  [<c0237b6e>] ? __do_softirq+0xb2/0x188

[  844.048782]  [<c0237c83>] ? do_softirq+0x3f/0x5c

[  844.048782]  [<c0237e0d>] ? irq_exit+0x37/0x80

[  844.048782]  [<c0213cfd>] ? smp_apic_timer_interrupt+0x7c/0x9b

[  844.048782]  [<c02037dd>] ? apic_timer_interrupt+0x31/0x38

[  844.048782] Code: c7 56 53 89 d3 83 ec 0c 65 a1 14 00 00 00 89 45 f0
31 c0 8b 74 97 3c c1 e2 07 89 d0 05 08 0f 00 00 89 55 e8 03 07 8a 10 88
55 ef <f6> 86 8d 03 00 00 02 74 12 0f b6 c2 50 56 68 d0 64 05 f8 e8 df

[  844.048782] EIP: [<f8050d2d>] sky2_mac_intr+0x30/0xc1 [sky2] SS:ESP
0068:e1c83e84

[  844.048782] CR2: 000000000000038d

[  844.345647] ---[ end trace d7398807329498ac ]---

[  844.351055] Kernel panic - not syncing: Fatal exception in interrupt

[  844.358606] Pid: 13285, comm: postfix Tainted: G      D    2.6.30.4
#2
[  844.366298] Call Trace:

[  844.369278]  [<c04eb041>] ? printk+0x1d/0x30

[  844.374388]  [<c04eaf7f>] panic+0x53/0xf8

[  844.379197]  [<c0206368>] oops_end+0x9f/0xbf

[  844.384303]  [<c021ceb4>] no_context+0x11a/0x135

[  844.389791]  [<c021d005>] __bad_area_nosemaphore+0x136/0x14f

[  844.396489]  [<c0374f60>] ? vsnprintf+0x91/0x332

[  844.401994]  [<c04ee2a5>] ? _spin_unlock_irqrestore+0x31/0x44

[  844.408787]  [<c04ee2a5>] ? _spin_unlock_irqrestore+0x31/0x44

[  844.415546]  [<c0232f4f>] ? release_console_sem+0x18b/0x1c9

[  844.422152]  [<c021d03b>] bad_area_nosemaphore+0x1d/0x34

[  844.428464]  [<c021d30b>] do_page_fault+0x110/0x21b

[  844.434271]  [<c021d1fb>] ? do_page_fault+0x0/0x21b

[  844.440026]  [<c04ee71a>] error_code+0x7a/0x80

[  844.445442]  [<c037007b>] ? add_uevent_var+0x17/0xb9

[  844.451413]  [<f8050d2d>] ? sky2_mac_intr+0x30/0xc1 [sky2]

[  844.457981]  [<f8054181>] sky2_poll+0x1d2/0xb65 [sky2]

[  844.464050]  [<c022594e>] ? __wake_up+0x41/0x5c

[  844.469437]  [<c0243594>] ? insert_work+0xa5/0xbf

[  844.475055]  [<c04ee2a5>] ? _spin_unlock_irqrestore+0x31/0x44

[  844.481817]  [<c0243e4b>] ? __queue_work+0x36/0x4d

[  844.487516]  [<c047731c>] ? __qdisc_run+0x73/0x1ca

[  844.493201]  [<c0463ce6>] net_rx_action+0x9e/0x1a2

[  844.498883]  [<c0237b6e>] __do_softirq+0xb2/0x188

[  844.504446]  [<c0237c83>] do_softirq+0x3f/0x5c

[  844.509720]  [<c0237e0d>] irq_exit+0x37/0x80

[  844.514791]  [<c0213cfd>] smp_apic_timer_interrupt+0x7c/0x9b

[  844.521488]  [<c02037dd>] apic_timer_interrupt+0x31/0x38

[  844.527811] Rebooting in 30 seconds..

This is with the newest version of sky2 as of today. Is this any
indication that traffic is needed to reproduce it? E.g. that a certain
number of interrupts must have already been handled to trigger the bug?

Again, any hints would be greatly appreciated (and sorry for being
persistent about this annoying little bug...).

best regards,
Rene
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkp4vV8ACgkQq7SPDcPCS95UvgCfTNzwXKGxXi1SUfrMyLglF5Hf
mCkAnRZqfuA5KYkKCz53leWgxHBOLWMo
=Shq7
-----END PGP SIGNATURE-----

^ permalink raw reply

* Re: Kernel oops on setting sky2 interfaces down
From: Stephen Hemminger @ 2009-08-04 23:08 UTC (permalink / raw)
  To: Rene Mayrhofer; +Cc: Mike McCormack, netdev, Richard Leitner
In-Reply-To: <4A78BD5F.2030901@mayrhofer.eu.org>

On Wed, 05 Aug 2009 00:59:43 +0200
Rene Mayrhofer <rene@mayrhofer.eu.org> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Rene Mayrhofer wrote:
> > Nonetheless, the current unmodified version from netdev git solves the
> > oops in sky2. 
> Actually, it doesn't. I managed to run networking restart twice without
> an oops (with the netdev git version of sky2.c), but after generating
> some minor traffic and trying to restart again, I still get this oops:
> 
> [~]# /etc/init.d/networking restart
> Reconfiguring network interfaces...[  844.000236] sky2 0000:01:00.0:
> error interrupt status=0xffffffff
> 
> [  844.007309] sky2 0000:01:00.0: PCI hardware error (0xffff)
> 
> [  844.013657] sky2 0000:01:00.0: PCI Express error (0xffffffff)

There is something about the hardware on your system that causes
the Marvell chip to not be present on the bus after the steps taken
in sky2_down.  Is there something unique about how it is wired to
the PCI express bus?

The sky2 driver has to handle the rare case of dual port board, so
in sky2_down in only shuts off part of the chip. Driver turns off the PHY
and stops receiver/transmitter.  It could be the power control bits
on your hardware turn off more than just the PHY. Or perhaps,
most systems have a low power input to keep chip alive for Wake On
Lan and that isn't present on your system. 

Maybe an option to not power down phy would be the simplest fix.

-- 

^ permalink raw reply

* Re: Kernel oops on setting sky2 interfaces down
From: Mike McCormack @ 2009-08-04 23:53 UTC (permalink / raw)
  To: Rene Mayrhofer; +Cc: netdev, Richard Leitner, Stephen Hemminger
In-Reply-To: <4A78BD5F.2030901@mayrhofer.eu.org>

Rene Mayrhofer wrote:

> Again, any hints would be greatly appreciated (and sorry for being
> persistent about this annoying little bug...).

Hi Rene,

Thanks for being persistent in testing :-)  Looks like you've got a 
fairly unusual piece of hardware, as Stephen indicated.

Would you mind adding the phy_lock fix on top of the latest net-2.6
git version of sky2 and testing that?

thanks,

Mike

^ permalink raw reply

* Re: [PATCH] net: Keep interface binding when sending packets with ipi_ifindex = 0
From: Chia-chi Yeh (葉家齊) @ 2009-08-05  0:06 UTC (permalink / raw)
  To: David Miller; +Cc: john.dykstra1, akpm, linux-kernel, netdev
In-Reply-To: <20090804.115701.250978139.davem@davemloft.net>

2009/8/5 David Miller <davem@davemloft.net>:
> I think we really cannot change behavior here.  If the user specifies
> "0" in ipi_ifindex we must respect that in ipc->oif.  This is an
> override, and the ability to override is the very purpose of this
> control message.
>
> Even GLIBC makes use of that case of specifying "0" in ipi_ifindex.
> We must respect it.
>
> I'm not applying any of these patches, sorry.
>

If you treat ipi_ifindex as an override, do you want to do that in
ipi6_ifindex as well? Also, CAP_NET_RAW check for SO_BINDTODEVICE
becomes meaningless in this case.

I did not find the usage of ipi_ifindex in glibc. It would be great if
you can give me some pointers. Thanks for your help.

Chia-chi

^ permalink raw reply

* Re: [RFC PATCH v1 0/2] The Long Lost TUN LSM Hooks
From: James Morris @ 2009-08-05  0:43 UTC (permalink / raw)
  To: Paul Moore; +Cc: netdev, linux-security-module, selinux
In-Reply-To: <20090804211304.10798.65601.stgit@flek.lan>

On Tue, 4 Aug 2009, Paul Moore wrote:

> While drivers in general aren't good places for LSM hooks the TUN driver is
> a bit different because of how it handles sockets and network traffic.  The
> problem lies in the fact that the TUN driver creates a sock structure to use
> when sending network traffic but the sock is never put through the same LSM
> setup/control as other sock structures on the system which makes enforcing
> security on TUN generated traffic difficult for some LSMs.  This patch set
> adds three new LSM hooks, all specific to the TUN driver (none of the existing
> hooks made sense, trust me we tried), to control and monitor the creating and
> attachment of TUN devices.

Looks ok to me in principle.

For netdev reviewers: we're lacking proper LSM control over tun devices 
because they're not created like normal sockets, and subsequently don't 
get labeled appropriately.  They also behave differently to normal sockets 
and need special handling for security per Paul's notes.


- James
-- 
James Morris
<jmorris@namei.org>

^ permalink raw reply

* RE: [net-next-2.6 PATCH 9/9] vxge: return PCI_ERS_RESULT_DISCONNECT on permanent failure
From: Sivakumar Subramani @ 2009-08-05  0:48 UTC (permalink / raw)
  To: Dean Nelson, netdev
  Cc: Ramkrishna Vepa, Sriram Rapuru, Sreenivasa Honnur,
	Rastapur Santosh, Anil Murthy
In-Reply-To: <20090731191403.5470.68576.send-patch@aqua>

Hi,

Reviewed the patch for vxge driver. Please accept it.

Thanks,
~Siva
-----Original Message-----
From: netdev-owner@vger.kernel.org [mailto:netdev-owner@vger.kernel.org]
On Behalf Of Dean Nelson
Sent: Saturday, August 01, 2009 12:44 AM
To: netdev@vger.kernel.org
Cc: Ramkrishna Vepa
Subject: [net-next-2.6 PATCH 9/9] vxge: return PCI_ERS_RESULT_DISCONNECT
on permanent failure

PCI drivers that implement the struct pci_error_handlers' error_detected
callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in
is
pci_channel_io_perm_failure. This patch fixes the issue for vxge.

Signed-off-by: Dean Nelson <dnelson@redhat.com>

---

This patch has not been tested, since I don't have the hardware to test
it.
It is based on a few recent patches. See the following commits:

http://git.kernel.org/linus/c93b5a76d58656158d195a7df507ebc660010969
http://git.kernel.org/linus/eab633021c26025b34f36f79f0311d3d99f40ceb
http://git.kernel.org/linus/ef681ce1e8b3e63317cd724c200b2fd39286c005
http://git.kernel.org/linus/59ed6eecff4aa00c5c5d18ffd180acac108d596e
http://git.kernel.org/linus/3044b8d1ff8c05237652a692fb572a34e4d70146

 drivers/net/vxge/vxge-main.c   |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/net/vxge/vxge-main.c b/drivers/net/vxge/vxge-main.c
index 7b5402b..335140d 100644
--- a/drivers/net/vxge/vxge-main.c
+++ b/drivers/net/vxge/vxge-main.c
@@ -3956,6 +3956,9 @@ static pci_ers_result_t
vxge_io_error_detected(struct pci_dev *pdev,
 
 	netif_device_detach(netdev);
 
+	if (state == pci_channel_io_perm_failure)
+		return PCI_ERS_RESULT_DISCONNECT;
+
 	if (netif_running(netdev)) {
 		/* Bring down the card, while avoiding PCI I/O */
 		do_vxge_close(netdev, 0);
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related

* [net-2.6 PATCH] ixgbe: allow vlan egress priority mapping in DCB mode
From: Jeff Kirsher @ 2009-08-05  1:27 UTC (permalink / raw)
  To: davem; +Cc: netdev, gospo, Lucy Liu, Jeff Kirsher

From: Lucy Liu <lucy.liu@intel.com>

The skb priority to vlan-qos egress mapping that can be configured using
set_egress_map with vconfig is overriden by the DCB code in the driver.

This patch allows this existing mechanism to work and will increase the
configuration flexibility of DCB mode on Linux.

A hierarchy of configuration is:

1. Modifies the ixgbe_select_queue() routine for DCB mode to return the
priority value from the VLAN tag. It will normally be zero, unless the egress
priority map has modified it. This will get packets into the correct queue and
result in the queue_mapping field being set correctly.

2. Any tc filter which modifies queue_mapping will be honored, as the filters
are handled after the vlan egress map is handled.

Signed-off-by: Lucy Liu <lucy.liu@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---

 drivers/net/ixgbe/ixgbe_main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index 110c65a..0586774 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -5124,7 +5124,7 @@ static u16 ixgbe_select_queue(struct net_device *dev, struct sk_buff *skb)
 		return smp_processor_id();
 
 	if (adapter->flags & IXGBE_FLAG_DCB_ENABLED)
-		return 0;  /* All traffic should default to class 0 */
+		return (skb->vlan_tci & IXGBE_TX_FLAGS_VLAN_PRIO_MASK) >> 13;
 
 	return skb_tx_hash(dev, skb);
 }


^ permalink raw reply related

* [PATCH -mmotm] xfrm4: fix build when SYSCTLs are disabled
From: Randy Dunlap @ 2009-08-05  1:54 UTC (permalink / raw)
  To: linux-kernel; +Cc: akpm, netdev, davem
In-Reply-To: <200908042125.n74LP9qY018119@imap1.linux-foundation.org>

From: Randy Dunlap <randy.dunlap@oracle.com>

Fix build errors when SYSCTLs are not enabled:
(.init.text+0x5154): undefined reference to `net_ipv4_ctl_path'
(.init.text+0x5176): undefined reference to `register_net_sysctl_table'
xfrm4_policy.c:(.exit.text+0x573): undefined reference to `unregister_net_sysctl_table

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
---
 net/ipv4/xfrm4_policy.c |    6 ++++++
 1 file changed, 6 insertions(+)

--- mmotm-2009-0804-1422.orig/net/ipv4/xfrm4_policy.c
+++ mmotm-2009-0804-1422/net/ipv4/xfrm4_policy.c
@@ -264,6 +264,7 @@ static struct xfrm_policy_afinfo xfrm4_p
 	.fill_dst =		xfrm4_fill_dst,
 };
 
+#ifdef CONFIG_SYSCTL
 static struct ctl_table xfrm4_policy_table[] = {
 	{
 		.ctl_name       = CTL_UNNUMBERED,
@@ -277,6 +278,7 @@ static struct ctl_table xfrm4_policy_tab
 };
 
 static struct ctl_table_header *sysctl_hdr;
+#endif
 
 static void __init xfrm4_policy_init(void)
 {
@@ -285,8 +287,10 @@ static void __init xfrm4_policy_init(voi
 
 static void __exit xfrm4_policy_fini(void)
 {
+#ifdef CONFIG_SYSCTL
 	if (sysctl_hdr)
 		unregister_net_sysctl_table(sysctl_hdr);
+#endif
 	xfrm_policy_unregister_afinfo(&xfrm4_policy_afinfo);
 }
 
@@ -305,7 +309,9 @@ void __init xfrm4_init(int rt_max_size)
 	 * and start cleaning when were 1/2 full
 	 */
 	xfrm4_dst_ops.gc_thresh = rt_max_size/2;
+#ifdef CONFIG_SYSCTL
 	sysctl_hdr = register_net_sysctl_table(&init_net, net_ipv4_ctl_path,
 						xfrm4_policy_table);
+#endif
 }
 



---
~Randy
LPC 2009, Sept. 23-25, Portland, Oregon
http://linuxplumbersconf.org/2009/

^ permalink raw reply

* [2.6.31-rc5] BUG kmalloc-2048: Poison overwritten
From: KOSAKI Motohiro @ 2009-08-05  2:13 UTC (permalink / raw)
  To: LKML, linux-mm, Pekka Enberg, Christoph Lameter, netdev; +Cc: kosaki.motohiro

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=UTF-8, Size: 32048 bytes --]

Today, 2.6.31-rc5 crashed with following error.
Is this known problem? I didn't reproduce this problem again.




=============================================================================
BUG kmalloc-2048: Poison overwritten
-----------------------------------------------------------------------------

INFO: 0xe00000000fd4086a-0xe00000000fd408b5. First byte 0x28 instead of 0x6b
INFO: Allocated in __netdev_alloc_skb+0x50/0xc0 age=35574 cpu=0 pid=0
INFO: Freed in skb_release_data+0x1b0/0x1e0 age=0 cpu=0 pid=0
INFO: Slab 0xa04000000003f500 objects=30 used=14 fp=0xe00000000fd40848 flags=0x00c3
INFO: Object 0xe00000000fd40848 @offset=2120 fp=0xe00000000fd41090

Bytes b4 0xe00000000fd40838:  2c db da 00 01 00 00 00 5a 5a 5a 5a 5a 5a 5a 5a ,ÛÚ.....ZZZZZZZZ
  Object 0xe00000000fd40848:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40858:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40868:  6b 6b 28 a0 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 3c c0 kk(.kkkkkkkkkk<À
  Object 0xe00000000fd40878:  6b 6b 00 0b 5d 6e 40 10 00 22 0c 34 72 44 08 00 kk..]n@..".4rD..
  Object 0xe00000000fd40888:  45 00 00 28 b1 36 40 00 7e 06 bb c1 0a 7c 64 b3 E..(±6@.~.»Á.|d³
  Object 0xe00000000fd40898:  0a 7c 16 2d 05 15 00 16 0c 26 35 4b a9 f3 b6 6e .|.-.....&5K©ó¶n
  Object 0xe00000000fd408a8:  50 10 ff ff 78 fe 00 00 00 00 00 00 00 00 6b 6b P.ÿÿxþ........kk
  Object 0xe00000000fd408b8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd408c8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd408d8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd408e8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd408f8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40908:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40918:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40928:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40938:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40948:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40958:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40968:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40978:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40988:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40998:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd409a8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd409b8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd409c8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd409d8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd409e8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd409f8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40a08:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40a18:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40a28:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40a38:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40a48:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40a58:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40a68:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40a78:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40a88:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40a98:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40aa8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40ab8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40ac8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40ad8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40ae8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40af8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40b08:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40b18:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40b28:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40b38:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40b48:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40b58:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40b68:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40b78:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40b88:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40b98:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40ba8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40bb8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40bc8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40bd8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40be8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40bf8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40c08:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40c18:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40c28:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40c38:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40c48:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40c58:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40c68:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40c78:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40c88:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40c98:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40ca8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40cb8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40cc8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40cd8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40ce8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40cf8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40d08:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40d18:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40d28:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40d38:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40d48:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40d58:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40d68:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40d78:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40d88:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40d98:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40da8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40db8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40dc8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40dd8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40de8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40df8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40e08:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40e18:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40e28:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40e38:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40e48:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40e58:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40e68:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40e78:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40e88:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40e98:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40ea8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40eb8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40ec8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40ed8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40ee8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40ef8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40f08:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40f18:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40f28:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40f38:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40f48:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40f58:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40f68:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40f78:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40f88:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40f98:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40fa8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40fb8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40fc8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40fd8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40fe8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd40ff8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd41008:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd41018:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd41028:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd41038:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b a5 kkkkkkkkkkkkkkk¥
 Redzone 0xe00000000fd41048:  bb bb bb bb bb bb bb bb                         »»»»»»»»    
 Padding 0xe00000000fd41088:  5a 5a 5a 5a 5a 5a 5a 5a                         ZZZZZZZZ    

Call Trace:
 [<a000000100019be0>] show_stack+0x80/0xa0
                                sp=a000000100cff9d0 bsp=a000000100cf1700
 [<a000000100019c30>] dump_stack+0x30/0x60
                                sp=a000000100cffba0 bsp=a000000100cf16e8
 [<a00000010022d7a0>] print_trailer+0x2a0/0x2c0
                                sp=a000000100cffba0 bsp=a000000100cf16a8
 [<a00000010022e450>] check_bytes_and_report+0x150/0x1e0
                                sp=a000000100cffba0 bsp=a000000100cf1640
 [<a00000010022e7d0>] check_object+0x2f0/0x540
                                sp=a000000100cffba0 bsp=a000000100cf15e8
 [<a000000100236370>] __slab_alloc+0xc30/0xea0
                                sp=a000000100cffba0 bsp=a000000100cf1570
 [<a0000001002387d0>] __kmalloc_node_track_caller+0x510/0x760
                                sp=a000000100cffbb0 bsp=a000000100cf1510
 [<a00000010075bfd0>] __alloc_skb+0xb0/0x2c0
                                sp=a000000100cffbb0 bsp=a000000100cf14c8
 [<a00000010075ca50>] __netdev_alloc_skb+0x50/0xc0
                                sp=a000000100cffbb0 bsp=a000000100cf1498
 [<a00000010063d040>] e100_rx_alloc_skb+0x40/0x440
                                sp=a000000100cffbb0 bsp=a000000100cf1440
 [<a000000100641c70>] e100_poll+0x4d0/0xe20
                                sp=a000000100cffbb0 bsp=a000000100cf1350
 [<a00000010077ca30>] net_rx_action+0x410/0x8a0
                                sp=a000000100cffbb0 bsp=a000000100cf12b8
 [<a0000001000fde10>] __do_softirq+0x3b0/0x8c0
                                sp=a000000100cffbb0 bsp=a000000100cf11d8
 [<a0000001000fe480>] do_softirq+0x160/0x1e0
                                sp=a000000100cffbb0 bsp=a000000100cf1178
 [<a0000001000fe6a0>] irq_exit+0x1a0/0x1c0
                                sp=a000000100cffbb0 bsp=a000000100cf1160
 [<a000000100015660>] ia64_handle_irq+0x420/0x900
                                sp=a000000100cffbb0 bsp=a000000100cf10f8
 [<a00000010008dea0>] paravirt_leave_kernel+0x0/0x40
                                sp=a000000100cffbb0 bsp=a000000100cf10f8
 [<a00000010001b160>] default_idle+0x380/0x3c0
                                sp=a000000100cffd80 bsp=a000000100cf1090
 [<a000000100019700>] cpu_idle+0x2e0/0x600
                                sp=a000000100cffe20 bsp=a000000100cf1030
 [<a00000010088c360>] rest_init+0x140/0x160
                                sp=a000000100cffe20 bsp=a000000100cf1018
 [<a000000100b01ab0>] start_kernel+0x8f0/0xa00
                                sp=a000000100cffe20 bsp=a000000100cf0f98
 [<a0000001008dc110>] _start+0x7d0/0x7f0
                                sp=a000000100cffe30 bsp=a000000100cf0f00
FIX kmalloc-2048: Restoring 0xe00000000fd4086a-0xe00000000fd408b5=0x6b

FIX kmalloc-2048: Marking all objects used
aa=============================================================================
BUG kmalloc-2048: Poison overwritten
-----------------------------------------------------------------------------

INFO: 0xe00000000fd4be9a-0xe00000000fd4bf33. First byte 0x2a instead of 0x6b
INFO: Allocated in __netdev_alloc_skb+0x50/0xc0 age=62772 cpu=0 pid=0
INFO: Freed in skb_release_data+0x1b0/0x1e0 age=26989 cpu=0 pid=4192
INFO: Slab 0xa04000000003f500 objects=30 used=29 fp=0xe00000000fd4be78 flags=0x00c3
INFO: Object 0xe00000000fd4be78 @offset=48760 fp=0x(null)

Bytes b4 0xe00000000fd4be68:  f6 62 db 00 01 00 00 00 5a 5a 5a 5a 5a 5a 5a 5a öbÛ.....ZZZZZZZZ
  Object 0xe00000000fd4be78:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4be88:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4be98:  6b 6b 2a a0 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 89 c0 kk*.kkkkkkkkkk.À
  Object 0xe00000000fd4bea8:  6b 6b 01 00 5e 00 00 fb 00 0b 5d 6e 44 9b 08 00 kk..^..E.]nD...
  Object 0xe00000000fd4beb8:  45 00 00 7c 00 00 40 00 ff 11 79 83 0a 7c 16 76 E..|..@.ÿ.y..|.v
  Object 0xe00000000fd4bec8:  e0 00 00 fb 14 e9 14 e9 00 68 bd ef 00 00 84 00 E.EEEh½E...
  Object 0xe00000000fd4bed8:  00 00 00 02 00 00 00 00 09 5f 73 65 72 76 69 63 ........._servic
  Object 0xe00000000fd4bee8:  65 73 07 5f 64 6e 73 2d 73 64 04 5f 75 64 70 05 es._dns-sd._udp.
  Object 0xe00000000fd4bef8:  6c 6f 63 61 6c 00 00 0c 00 01 00 00 11 94 00 14 local...........
  Object 0xe00000000fd4bf08:  0c 5f 77 6f 72 6b 73 74 61 74 69 6f 6e 04 5f 74 ._workstation._t
  Object 0xe00000000fd4bf18:  63 70 c0 23 c0 0c 00 0c 00 01 00 00 11 94 00 0c cpÀ#À...........
  Object 0xe00000000fd4bf28:  09 5f 73 66 74 70 2d 73 73 68 c0 41 6b 6b 6b 6b ._sftp-sshÀAkkkk
  Object 0xe00000000fd4bf38:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4bf48:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4bf58:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4bf68:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4bf78:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4bf88:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4bf98:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4bfa8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4bfb8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4bfc8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4bfd8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4bfe8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4bff8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c008:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c018:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c028:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c038:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c048:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c058:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c068:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c078:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c088:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c098:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c0a8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c0b8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c0c8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c0d8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c0e8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c0f8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c108:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c118:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c128:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c138:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c148:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c158:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c168:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c178:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c188:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c198:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c1a8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c1b8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c1c8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c1d8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c1e8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c1f8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c208:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c218:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c228:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c238:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c248:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c258:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c268:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c278:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c288:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c298:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c2a8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c2b8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c2c8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c2d8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c2e8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c2f8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c308:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c318:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c328:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c338:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c348:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c358:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c368:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c378:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c388:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c398:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c3a8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c3b8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c3c8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c3d8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c3e8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c3f8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c408:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c418:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c428:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c438:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c448:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c458:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c468:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c478:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c488:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c498:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c4a8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c4b8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c4c8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c4d8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c4e8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c4f8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c508:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c518:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c528:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c538:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c548:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c558:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c568:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c578:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c588:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c598:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c5a8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c5b8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c5c8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c5d8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c5e8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c5f8:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c608:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c618:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c628:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c638:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c648:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c658:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
  Object 0xe00000000fd4c668:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b a5 kkkkkkkkkkkkkkk¥
 Redzone 0xe00000000fd4c678:  bb bb bb bb bb bb bb bb                         »»»»»»»»    
 Padding 0xe00000000fd4c6b8:  5a 5a 5a 5a 5a 5a 5a 5a                         ZZZZZZZZ    

Call Trace:
 [<a000000100019be0>] show_stack+0x80/0xa0
                                sp=a000000100cff9d0 bsp=a000000100cf1700
 [<a000000100019c30>] dump_stack+0x30/0x60
                                sp=a000000100cffba0 bsp=a000000100cf16e8
 [<a00000010022d7a0>] print_trailer+0x2a0/0x2c0
                                sp=a000000100cffba0 bsp=a000000100cf16a8
 [<a00000010022e450>] check_bytes_and_report+0x150/0x1e0
                                sp=a000000100cffba0 bsp=a000000100cf1640
 [<a00000010022e7d0>] check_object+0x2f0/0x540
                                sp=a000000100cffba0 bsp=a000000100cf15e8
 [<a000000100236370>] __slab_alloc+0xc30/0xea0
                                sp=a000000100cffba0 bsp=a000000100cf1570
 [<a0000001002387d0>] __kmalloc_node_track_caller+0x510/0x760
                                sp=a000000100cffbb0 bsp=a000000100cf1510
 [<a00000010075bfd0>] __alloc_skb+0xb0/0x2c0
                                sp=a000000100cffbb0 bsp=a000000100cf14c8
 [<a00000010075ca50>] __netdev_alloc_skb+0x50/0xc0
                                sp=a000000100cffbb0 bsp=a000000100cf1498
 [<a00000010063d040>] e100_rx_alloc_skb+0x40/0x440
                                sp=a000000100cffbb0 bsp=a000000100cf1440
 [<a000000100641c70>] e100_poll+0x4d0/0xe20
                                sp=a000000100cffbb0 bsp=a000000100cf1350
 [<a00000010077ca30>] net_rx_action+0x410/0x8a0
                                sp=a000000100cffbb0 bsp=a000000100cf12b8
 [<a0000001000fde10>] __do_softirq+0x3b0/0x8c0
                                sp=a000000100cffbb0 bsp=a000000100cf11d8
 [<a0000001000fe480>] do_softirq+0x160/0x1e0
                                sp=a000000100cffbb0 bsp=a000000100cf1178
 [<a0000001000fe6a0>] irq_exit+0x1a0/0x1c0
                                sp=a000000100cffbb0 bsp=a000000100cf1160
 [<a000000100015660>] ia64_handle_irq+0x420/0x900
                                sp=a000000100cffbb0 bsp=a000000100cf10f8
 [<a00000010008dea0>] paravirt_leave_kernel+0x0/0x40
                                sp=a000000100cffbb0 bsp=a000000100cf10f8
 [<a00000010001b160>] default_idle+0x380/0x3c0
                                sp=a000000100cffd80 bsp=a000000100cf1090
 [<a000000100019700>] cpu_idle+0x2e0/0x600
                                sp=a000000100cffe20 bsp=a000000100cf1030
 [<a00000010088c360>] rest_init+0x140/0x160
                                sp=a000000100cffe20 bsp=a000000100cf1018
 [<a000000100b01ab0>] start_kernel+0x8f0/0xa00
                                sp=a000000100cffe20 bsp=a000000100cf0f98
 [<a0000001008dc110>] _start+0x7d0/0x7f0
                                sp=a000000100cffe30 bsp=a000000100cf0f00
FIX kmalloc-2048: Restoring 0xe00000000fd4be9a-0xe00000000fd4bf33=0x6b

FIX kmalloc-2048: Marking all objects used



^ permalink raw reply

* Re: [PATCH] net: Keep interface binding when sending packets with ipi_ifindex = 0
From: David Miller @ 2009-08-05  2:33 UTC (permalink / raw)
  To: chiachi; +Cc: john.dykstra1, akpm, linux-kernel, netdev
In-Reply-To: <6c039e090908041706p6f06ac55ja796ac53855e829a@mail.gmail.com>

From: Chia-chi Yeh (葉家齊) <chiachi@android.com>
Date: Wed, 5 Aug 2009 08:06:25 +0800

> 2009/8/5 David Miller <davem@davemloft.net>:
>> I think we really cannot change behavior here.  If the user specifies
>> "0" in ipi_ifindex we must respect that in ipc->oif.  This is an
>> override, and the ability to override is the very purpose of this
>> control message.
>>
>> Even GLIBC makes use of that case of specifying "0" in ipi_ifindex.
>> We must respect it.
>>
>> I'm not applying any of these patches, sorry.
>>
> 
> If you treat ipi_ifindex as an override, do you want to do that in
> ipi6_ifindex as well? Also, CAP_NET_RAW check for SO_BINDTODEVICE
> becomes meaningless in this case.

ipi_ifindex influences routing decisions, it doesn't also influence
socket matching like SO_BINDTODEVICE does.

That's the crucial difference.

This interface index gets passed into the routing lookup and that is
completely harmless to allow users to do.

About ipv6 it is indeed an important issue, because apps that work now
with ipv4's behavior are going to break if they care about this case
when they start using ipv6.  Probably the thing to do is make ipv6
work the same as ipv4.

> I did not find the usage of ipi_ifindex in glibc. It would be great if
> you can give me some pointers. Thanks for your help.

If grep is broken on your system, I'm sorry to hear that:

	find . -type f | xargs egrep IP_PKTINFO

Give that a try on your glibc tree.

^ permalink raw reply

* Re: [net-2.6 PATCH] ixgbe: allow vlan egress priority mapping in DCB mode
From: David Miller @ 2009-08-05  2:44 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, lucy.liu
In-Reply-To: <20090805012726.24350.63928.stgit@localhost.localdomain>

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Tue, 04 Aug 2009 18:27:28 -0700

> The skb priority to vlan-qos egress mapping that can be configured using
> set_egress_map with vconfig is overriden by the DCB code in the driver.
> 
> This patch allows this existing mechanism to work and will increase the
> configuration flexibility of DCB mode on Linux.

This is not the kind of bug fix which is appropriate at this
stage of -rcX development, so I'm only willing to put this
into net-next-2.6

Keep this in mind for future submissions for net-2.6

^ permalink raw reply

* Re: [PATCH -mmotm] xfrm4: fix build when SYSCTLs are disabled
From: David Miller @ 2009-08-05  3:20 UTC (permalink / raw)
  To: randy.dunlap; +Cc: linux-kernel, akpm, netdev
In-Reply-To: <20090804185430.fb8e8561.randy.dunlap@oracle.com>

From: Randy Dunlap <randy.dunlap@oracle.com>
Date: Tue, 4 Aug 2009 18:54:30 -0700

> From: Randy Dunlap <randy.dunlap@oracle.com>
> 
> Fix build errors when SYSCTLs are not enabled:
> (.init.text+0x5154): undefined reference to `net_ipv4_ctl_path'
> (.init.text+0x5176): undefined reference to `register_net_sysctl_table'
> xfrm4_policy.c:(.exit.text+0x573): undefined reference to `unregister_net_sysctl_table
> 
> Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>

Applied, thanks Randy.

The ipv6 side has the same issue, I'll fix that part up myself.

^ permalink raw reply

* Re: some veth related issues
From: Or Gerlitz @ 2009-08-05  4:40 UTC (permalink / raw)
  To: Ben Greear; +Cc: netdev
In-Reply-To: <4A785824.2030500@candelatech.com>

Ben Greear wrote:
> Try setting clone to 0. Might be that sending cloned pkts over veth is 
> a bad idea.

okay, thanks, this fixed the problem, however it seems there's some 
performance loss, with cloning I saw numbers of 500K packets-per-second 
and above where without cloning I get about 400K PPS.

Or.


^ permalink raw reply

* Re: some veth related issues
From: Ben Greear @ 2009-08-05  4:48 UTC (permalink / raw)
  To: Or Gerlitz; +Cc: netdev
In-Reply-To: <4A790D24.9000008@voltaire.com>

Or Gerlitz wrote:
> Ben Greear wrote:
>> Try setting clone to 0. Might be that sending cloned pkts over veth 
>> is a bad idea.
>
> okay, thanks, this fixed the problem, however it seems there's some 
> performance loss, with cloning I saw numbers of 500K 
> packets-per-second and above where without cloning I get about 400K PPS.
Well, it seems we could and should fix veth to work, but it will have to 
do equivalent work of copying
an skb most likely, so either way you'll probably get a big performance hit.

Thanks,
Ben
>
> Or.


-- 
Ben Greear <greearb@candelatech.com> 
Candela Technologies Inc  http://www.candelatech.com



^ permalink raw reply

* Re: [PATCH]bluetooth: rfcomm_init bug fix
From: Dave Young @ 2009-08-05  5:16 UTC (permalink / raw)
  To: Marcel Holtmann
  Cc: David Miller, oliver-fJ+pQTUTwRTk1uMJSBkQmQ,
	alan-qBU/x9rampVanCEyBjwyrvXRex20P6io,
	netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-bluetooth-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1249405306.3094.18.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>

On Wed, Aug 5, 2009 at 1:01 AM, Marcel Holtmann<marcel-kz+m5ild9QBg9hUCZPvPmw@public.gmane.org> wrote:
> Hi Dave,
>
>> >> do you mind at least waiting for an ACK from my side. I haven't even
>> >> looked at the final patch.
>> >
>> > Sure, I haven't pushed it out yet, so now's your chance :)
>>
>> Grumble, I accidently pushed my net-2.6 queue out before you
>> had a chance to reply, sorry :-(
>
> not a big deal. Just have to send a cleanup patch. The patch itself is
> fine, but from a style perspective it is different than everything else
> in the Bluetooth subsystem and I would have liked to fix that before
> pushing it. I wait with that for 2.6.32 since it is not important.

Marcel, could you publish the bluetooth subsystem coding style
somewhere? People including me are confused about it. I remembered I
asked it from you, but it is still not very clear for me.

>
> The other Dave, please send patches to linux-bluetooth only and lets
> follow the normal path to get them merged into Linus' tree. Skipping
> bluetooth-2.6 is not an option. You have to use the same process than
> everybody else.

Why linux-bluetooth only? IMHO there could be more people to comment
and review  if I send patches to both lkml and subsystem mailing list.

>
> Regards
>
> Marcel
>
>
>



-- 
Regards
dave

^ permalink raw reply

* Re: [RFC PATCH v1] tun: Cleanup error handling in tun_set_iff()
From: Eric W. Biederman @ 2009-08-05  5:32 UTC (permalink / raw)
  To: Paul Moore; +Cc: netdev, David Miller, Herbert Xu
In-Reply-To: <20090803161242.12947.14620.stgit@flek.lan>

Paul Moore <paul.moore@hp.com> writes:

> Convert some pointless gotos into returns and ensure tun_attach() errors are
> handled correctly.
>
> Signed-off-by: Paul Moore <paul.moore@hp.com>

This patch appears slightly wrong.  Comments inline.

> I'm sending this as an RFC patch because I'm not entirely certain that the
> changes to the tun_attach() error handling code are 100% correct, although I
> strongly suspect that the current behavor of simply returning an error code
> without any cleanup is broken.  Can anyone comment on this?
> ---
>
>  drivers/net/tun.c |   19 ++++++++++---------
>  1 files changed, 10 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/net/tun.c b/drivers/net/tun.c
> index 4a0db7a..b6d06fd 100644
> --- a/drivers/net/tun.c
> +++ b/drivers/net/tun.c
> @@ -938,13 +938,10 @@ static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr)
>  		err = tun_attach(tun, file);
>  		if (err < 0)
>  			return err;
> -	}
> -	else {
> +	} else {
>  		char *name;
>  		unsigned long flags = 0;
>  
> -		err = -EINVAL;
> -
>  		if (!capable(CAP_NET_ADMIN))
>  			return -EPERM;
>  
> @@ -958,7 +955,7 @@ static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr)
>  			flags |= TUN_TAP_DEV;
>  			name = "tap%d";
>  		} else
> -			goto failed;
> +			return -EINVAL;

Trivially correct.

>  
>  		if (*ifr->ifr_name)
>  			name = ifr->ifr_name;
> @@ -976,10 +973,11 @@ static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr)
>  		tun->flags = flags;
>  		tun->txflt.count = 0;
>  
> -		err = -ENOMEM;
>  		sk = sk_alloc(net, AF_UNSPEC, GFP_KERNEL, &tun_proto);
> -		if (!sk)
> +		if (!sk) {
> +			err = -ENOMEM;
>  			goto err_free_dev;
> +		}

Trivially correct but I would argue uglier.

>  
>  		init_waitqueue_head(&tun->socket.wait);
>  		sock_init_data(&tun->socket, sk);
> @@ -1010,7 +1008,7 @@ static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr)
>  
>  		err = tun_attach(tun, file);
>  		if (err < 0)
> -			goto failed;
> +			goto err_unreg_dev;
>  	}

This is the interesting one.  And several problems with it.  When
Herbert reworked the reference counting here he introduced the goto
failed; Instead of err_free_dev.

I think there were more possible races when I introduced the check
of the return code of tun_attach, the only case I can see currently
is if the file was attached to another tun device before we grabbed the
rtnl_lock.


>  	DBG(KERN_INFO "%s: tun_set_iff\n", tun->dev->name);
> @@ -1039,11 +1037,14 @@ static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr)
>  	strcpy(ifr->ifr_name, tun->dev->name);
>  	return 0;
>  
> + err_unreg_dev:
> +	rtnl_lock();
> +	unregister_netdevice(tun->dev);
> +	rtnl_unlock();

This is a guaranteed deadlock.  We already hold the rtnl_lock here.
Furthermore all I should need to do in this case is to call
unregister_netdevice(...).    As all of the rest of the pieces should
happen in the cleanup routines called from unregister_netdevice.

The current behavior of returning an error code is a little bit off
as it creates a persistent tun device without setting tun->flags | TUN_PERSIST.
And it leaves a tun device for someone else to clean up.

At the same time it should be perfectly legitimate for someone else to
come along and attach to the tun device and delete it or to call
ip link del <tun>

Eric

>   err_free_sk:
>  	sock_put(sk);
>   err_free_dev:
>  	free_netdev(dev);
> - failed:
>  	return err;
>  }
>  
>
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ 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