Netdev List
 help / color / mirror / Atom feed
* Re: [PATCH 2/9] drivers/net: don't use flush_scheduled_work()
From: Michael Chan @ 2010-12-13 17:08 UTC (permalink / raw)
  To: Tejun Heo
  Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
	davem@davemloft.net, Jay Cliburn, Divy Le Ray,
	e1000-devel@lists.sourceforge.net, Vasanthy Kolluri, Samuel Ortiz,
	Lennert Buytenhek, Andrew Gallatin, Francois Romieu,
	Ramkrishna Vepa, Matthew Carlson, David Brownell,
	Shreyas Bhatewara
In-Reply-To: <1292169185-10579-3-git-send-email-tj@kernel.org>


On Sun, 2010-12-12 at 07:52 -0800, Tejun Heo wrote:
> flush_scheduled_work() is on its way out.  This patch contains simple
> conversions to replace flush_scheduled_work() usage with direct
> cancels and flushes.
> 
> Directly cancel the used works on driver detach and flush them in
> other cases.
> 
> The conversions are mostly straight forward and the only dangers are,
> 
> * Forgetting to cancel/flush one or more used works.
> 
> * Cancelling when a work should be flushed (ie. the work must be
>   executed once scheduled whether the driver is detaching or not).
> 
> I've gone over the changes multiple times but it would be much
> appreciated if you can review with the above points in mind.
> 
> Signed-off-by: Tejun Heo <tj@kernel.org>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Jay Cliburn <jcliburn@gmail.com>
> Cc: Michael Chan <mchan@broadcom.com>
> Cc: Divy Le Ray <divy@chelsio.com>
> Cc: e1000-devel@lists.sourceforge.net
> Cc: Vasanthy Kolluri <vkolluri@cisco.com>
> Cc: Samuel Ortiz <samuel@sortiz.org>
> Cc: Lennert Buytenhek <buytenh@wantstofly.org>
> Cc: Andrew Gallatin <gallatin@myri.com>
> Cc: Francois Romieu <romieu@fr.zoreil.com>
> Cc: Ramkrishna Vepa <ramkrishna.vepa@exar.com>
> Cc: Matt Carlson <mcarlson@broadcom.com>
> Cc: David Brownell <dbrownell@users.sourceforge.net>
> Cc: Shreyas Bhatewara <sbhatewara@vmware.com>
> Cc: netdev@vger.kernel.org
> ---

> diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
> index 03209a3..5c811f3 100644
> --- a/drivers/net/bnx2.c
> +++ b/drivers/net/bnx2.c
> @@ -8393,7 +8393,7 @@ bnx2_remove_one(struct pci_dev *pdev)
>         struct net_device *dev = pci_get_drvdata(pdev);
>         struct bnx2 *bp = netdev_priv(dev);
> 
> -       flush_scheduled_work();
> +       cancel_work_sync(&bp->reset_task);

I think we can just remove flush_scheduled_work() altogether in
bnx2_remove_one().  The work has already been canceled in bnx2_close(),
so there is no possibility of it to be scheduled at this point.

> 
>         unregister_netdev(dev);
> 
> @@ -8431,7 +8431,7 @@ bnx2_suspend(struct pci_dev *pdev, pm_message_t
> state)
>         if (!netif_running(dev))
>                 return 0;
> 
> -       flush_scheduled_work();
> +       cancel_work_sync(&bp->reset_task);

This part ok.  Thanks.

Acked-by: Michael Chan <mchan@broadcom.com>

>         bnx2_netif_stop(bp, true);
>         netif_device_detach(dev);
>         del_timer_sync(&bp->timer);

^ permalink raw reply

* Re: Fw: [Bug 24842] New: Compatibility issue with uggly Windows RFC1323 implementation.
From: Eric Dumazet @ 2010-12-13 17:14 UTC (permalink / raw)
  To: Stephen Hemminger, dmitriy.balakin; +Cc: netdev
In-Reply-To: <20101213085913.374c1072@nehalam>

Le lundi 13 décembre 2010 à 08:59 -0800, Stephen Hemminger a écrit :
> 
> Begin forwarded message:
> 
> Date: Mon, 13 Dec 2010 14:29:58 GMT
> From: bugzilla-daemon@bugzilla.kernel.org
> To: shemminger@linux-foundation.org
> Subject: [Bug 24842] New: Compatibility issue with uggly Windows RFC1323 implementation.
> 
> 
> https://bugzilla.kernel.org/show_bug.cgi?id=24842
> 
>            Summary: Compatibility issue with uggly Windows RFC1323
>                     implementation.
>            Product: Networking
>            Version: 2.5
>     Kernel Version: All
>           Platform: All
>         OS/Version: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: normal
>           Priority: P1
>          Component: IPV4
>         AssignedTo: shemminger@linux-foundation.org
>         ReportedBy: dmitriy.balakin@nicneiron.ru
>         Regression: No
> 
> 
> Created an attachment (id=40012)
>  --> (https://bugzilla.kernel.org/attachment.cgi?id=40012)
> Patch
> 
> First, sorry for my bad english. 
> 
> The issue is that Linux-based OS sometimes can't make an tcp connection to some
> Windows servers with switched on buggy implementation of rfc1323, that
> described on this forum:
> http://www.network-builders.com/windows-tcp-timestamp-not-compliant-rfc-1323-a-t80898.html.
> 
> Because some Windows hosts implementation of rfc1323 bases on randomly
> generated TSval and sent first value of TSval as 0, the difference of recent
> and new TSval sometimes has been affected by a sign magic issue and the PAWS
> mechanism has been triggered. Anyway, the rfc1323 has discribes the condition
> of PAWS as "0 < (t - s) < 2**31", that has been right implementation in current
> linux kernel, but incompatible with Windows bug.
> 
> For example, the one of affected to this issue Windows host is behind
> relay.n-l-e.ru:80
> 
> I think that my small patch makes the kernel more compatible with this windows
> bug.
> 
> -

I have no problem connecting my linux client to relay.n-l-e.ru:80

Could you elaborate please ?

18:13:12.444250 IP 10.150.51.215.51781 > 212.176.201.162.80: Flags [S],
seq 665972386, win 5840, options [mss 1460,sackOK,TS val 1746885 ecr
0,nop,wscale 7], length 0
18:13:12.473912 IP 212.176.201.162.80 > 10.150.51.215.51781: Flags [S.],
seq 190215045, ack 665972387, win 5792, options [mss 1460,sackOK,TS val
730697107 ecr 1746885,nop,wscale 0], length 0
18:13:12.473976 IP 10.150.51.215.51781 > 212.176.201.162.80: Flags [.],
ack 1, win 46, options [nop,nop,TS val 1746888 ecr 730697107], length 0
18:13:14.984153 IP 10.150.51.215.51781 > 212.176.201.162.80: Flags [P.],
seq 1:8, ack 1, win 46, options [nop,nop,TS val 1747139 ecr 730697107],
length 7
18:13:15.013901 IP 212.176.201.162.80 > 10.150.51.215.51781: Flags [.],
ack 8, win 5792, options [nop,nop,TS val 730697360 ecr 1747139], length
0
18:13:15.377879 IP 10.150.51.215.51781 > 212.176.201.162.80: Flags [P.],
seq 8:10, ack 1, win 46, options [nop,nop,TS val 1747178 ecr 730697360],
length 2
18:13:15.403900 IP 212.176.201.162.80 > 10.150.51.215.51781: Flags [.],
ack 10, win 5792, options [nop,nop,TS val 730697399 ecr 1747178], length
0
18:13:15.461384 IP 212.176.201.162.80 > 10.150.51.215.51781: Flags [P.],
seq 1:159, ack 10, win 5792, options [nop,nop,TS val 730697405 ecr
1747178], length 158
18:13:15.461429 IP 10.150.51.215.51781 > 212.176.201.162.80: Flags [.],
ack 159, win 54, options [nop,nop,TS val 1747186 ecr 730697405], length
0
18:13:15.461448 IP 212.176.201.162.80 > 10.150.51.215.51781: Flags [F.],
seq 159, ack 10, win 5792, options [nop,nop,TS val 730697405 ecr
1747178], length 0
18:13:15.461607 IP 10.150.51.215.51781 > 212.176.201.162.80: Flags [F.],
seq 10, ack 160, win 54, options [nop,nop,TS val 1747186 ecr 730697405],
length 0
18:13:15.533846 IP 212.176.201.162.80 > 10.150.51.215.51781: Flags [.],
ack 11, win 5792, options [nop,nop,TS val 730697412 ecr 1747186], length
0



^ permalink raw reply

* Re: [PATCH net-next-2.6] net: add dev_close_many
From: Octavian Purdila @ 2010-12-13 17:23 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: netdev, Lucian Adrian Grijincu, Vlad Dogaru
In-Reply-To: <1292259145.2759.55.camel@edumazet-laptop>

From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Monday 13 December 2010, 18:52:25

> Hmm, I think this solves the "rmmod dummy" case, but not the "dismantle
> devices one by one", which is the general one (on heavy duty tunnels/ppp
> servers)
> 
> I think we could use a kernel thread (a workqueue presumably), handling
> 3 lists of devices to be dismantled, respecting one rcu grace period (or
> rcu_barrier()) before transfert of one item from one list to following
> one.
> 
> This way, each device removal could post a device to this kernel thread
> and return to user immediately. Time of RTNL hold would be reduced
> (calls to synchronize_rcu() would be done with RTNL not held)

We also run into the case where we have to dismantle the interfaces one by one 
but we fix it by gathering the requests in userspace and then doing a 
unregister_netdevice_many operation.

I like the kernel thread / workqueue idea. But we would still need 
netdevice_unregister_many and dev_close_many right? - we put the device in the 
unregister list in unregister_netdevice and call unregister_netdevice_many in 
the kernel thread.


 

^ permalink raw reply

* Re: [GIT PULL net-next-2.6] vhost-net: tools, cleanups, optimizations
From: Michael S. Tsirkin @ 2010-12-13 17:24 UTC (permalink / raw)
  To: David Miller; +Cc: kvm, virtualization, netdev, linux-kernel, Rusty Russell
In-Reply-To: <20101213104413.GA678@redhat.com>

On Mon, Dec 13, 2010 at 12:44:13PM +0200, Michael S. Tsirkin wrote:
> Please merge the following tree for 2.6.38.
> Thanks!

Um, I sent this out before I noticed the mail from Rusty
with some questions on the test code. I missed that and
assumed no comments -> no issues, perhaps wrongly.

Rusty - I tried answering the questions there - any issues
with merging this? It's just a test so won't be hard to remove
later if it's not helpful ...

> The following changes since commit ad1184c6cf067a13e8cb2a4e7ccc407f947027d0:
> 
>   net: au1000_eth: remove unused global variable. (2010-12-11 12:01:48 -0800)
> 
> are available in the git repository at:
>   git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git vhost-net-next
> 
> Jason Wang (1):
>       vhost: fix typos in comment
> 
> Julia Lawall (1):
>       drivers/vhost/vhost.c: delete double assignment
> 
> Michael S. Tsirkin (9):
>       vhost: put mm after thread stop
>       vhost-net: batch use/unuse mm
>       vhost: copy_to_user -> __copy_to_user
>       vhost: get/put_user -> __get/__put_user
>       vhost: remove unused include
>       vhost: correctly set bits of dirty pages
>       vhost: better variable name in logging
>       vhost test module
>       tools/virtio: virtio_test tool
> 
>  drivers/vhost/net.c                  |    9 +-
>  drivers/vhost/test.c                 |  320 ++++++++++++++++++++++++++++++++++
>  drivers/vhost/test.h                 |    7 +
>  drivers/vhost/vhost.c                |   44 +++---
>  drivers/vhost/vhost.h                |    2 +-
>  tools/virtio/Makefile                |   12 ++
>  tools/virtio/linux/device.h          |    2 +
>  tools/virtio/linux/slab.h            |    2 +
>  tools/virtio/linux/virtio.h          |  223 +++++++++++++++++++++++
>  tools/virtio/vhost_test/Makefile     |    2 +
>  tools/virtio/vhost_test/vhost_test.c |    1 +
>  tools/virtio/virtio_test.c           |  248 ++++++++++++++++++++++++++
>  12 files changed, 842 insertions(+), 30 deletions(-)
>  create mode 100644 drivers/vhost/test.c
>  create mode 100644 drivers/vhost/test.h
>  create mode 100644 tools/virtio/Makefile
>  create mode 100644 tools/virtio/linux/device.h
>  create mode 100644 tools/virtio/linux/slab.h
>  create mode 100644 tools/virtio/linux/virtio.h
>  create mode 100644 tools/virtio/vhost_test/Makefile
>  create mode 100644 tools/virtio/vhost_test/vhost_test.c
>  create mode 100644 tools/virtio/virtio_test.c

^ permalink raw reply

* Re: [PATCH net-next-2.6] net: add dev_close_many
From: Stephen Hemminger @ 2010-12-13 17:32 UTC (permalink / raw)
  To: Octavian Purdila
  Cc: Eric Dumazet, netdev, Lucian Adrian Grijincu, Vlad Dogaru
In-Reply-To: <201012131923.27337.opurdila@ixiacom.com>

On Mon, 13 Dec 2010 19:23:26 +0200
Octavian Purdila <opurdila@ixiacom.com> wrote:

> From: Eric Dumazet <eric.dumazet@gmail.com>
> Date: Monday 13 December 2010, 18:52:25
> 
> > Hmm, I think this solves the "rmmod dummy" case, but not the "dismantle
> > devices one by one", which is the general one (on heavy duty tunnels/ppp
> > servers)
> > 
> > I think we could use a kernel thread (a workqueue presumably), handling
> > 3 lists of devices to be dismantled, respecting one rcu grace period (or
> > rcu_barrier()) before transfert of one item from one list to following
> > one.
> > 
> > This way, each device removal could post a device to this kernel thread
> > and return to user immediately. Time of RTNL hold would be reduced
> > (calls to synchronize_rcu() would be done with RTNL not held)
> 
> We also run into the case where we have to dismantle the interfaces one by one 
> but we fix it by gathering the requests in userspace and then doing a 
> unregister_netdevice_many operation.
> 
> I like the kernel thread / workqueue idea. But we would still need 
> netdevice_unregister_many and dev_close_many right? - we put the device in the 
> unregister list in unregister_netdevice and call unregister_netdevice_many in 
> the kernel thread.

With a message based interface, there shouldn't be a need for this.
Just have one thread sending requests in user space, and one receiving
the ACK's.

^ permalink raw reply

* Re: [PATCH net-next-2.6] tcp: clean up twisted goto in tcp_rcv_synsent_state_process()
From: David Miller @ 2010-12-13 17:42 UTC (permalink / raw)
  To: yuasa; +Cc: netdev
In-Reply-To: <20101213171149.16f178ef.yuasa@linux-mips.org>

From: Yoichi Yuasa <yuasa@linux-mips.org>
Date: Mon, 13 Dec 2010 17:11:49 +0900

> Signed-off-by: Yoichi Yuasa <yuasa@linux-mips.org>

I've been reading this stretch of code for 5+ years and it's
perfectly readable to me and your version is not any more
readable than what's there now.

I'm not applying this, sorry.

^ permalink raw reply

* Re: [PATCH net-next 0/9] bnx2x: FCoE support
From: David Miller @ 2010-12-13 17:49 UTC (permalink / raw)
  To: vladz; +Cc: netdev, eilong, dmitry, shmulikr
In-Reply-To: <1292255013.631.48.camel@lb-tlvb-vladz>

From: "Vladislav Zolotarov" <vladz@broadcom.com>
Date: Mon, 13 Dec 2010 17:43:33 +0200

> Hello Dave,
> 
> This patch-series adds FCoE support to 57712 HW. It provides
> required intefaces for upper-level driver (CNIC) and handles
> FCoE related HW/FW initialization and flows.
> 
> Since the FW files are too big (patches 6 and 8) and will not 
> pass the mailing list, it is also located at:
> http://linux.broadcom.com/eilong/1.62.00-2
> 
> It's a second attempt to submit this patch series after fixing
> a Tx hash distribution fairness.

Don't do this with the firmware files, at least email me a copy
so I don't have to go to a special web sit to get the patch.

You've never done it this special way before, you've always at
least email'd me a copy.  That was the right thing to do, what
in the world made you do things differently this time? :-/

Ugh...

^ permalink raw reply

* Re: [PATCH net-next-2.6] net: add dev_close_many
From: Octavian Purdila @ 2010-12-13 17:52 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: Eric Dumazet, netdev, Lucian Adrian Grijincu, Vlad Dogaru
In-Reply-To: <20101213093221.5d941493@nehalam>

From: Stephen Hemminger <shemminger@vyatta.com>
Date: Monday 13 December 2010, 19:32:21

> With a message based interface, there shouldn't be a need for this.
> Just have one thread sending requests in user space, and one receiving
> the ACK's.

Sorry, you lost me here :) There is no need for the kernel thread / workqueue 
or not even for dev_close_many?

^ permalink raw reply

* Re: [PATCH net-next-2.6] net: add dev_close_many
From: David Miller @ 2010-12-13 17:54 UTC (permalink / raw)
  To: opurdila; +Cc: netdev, lucian.grijincu, ddvlad
In-Reply-To: <1292249903-3865-1-git-send-email-opurdila@ixiacom.com>

From: Octavian Purdila <opurdila@ixiacom.com>
Date: Mon, 13 Dec 2010 16:18:23 +0200

> -static int __dev_close(struct net_device *dev)
> +static int __dev_close_many(struct list_head *head)
>  {
> -	const struct net_device_ops *ops = dev->netdev_ops;
> +	struct net_device *dev;
>  
> -	ASSERT_RTNL();
> -	might_sleep();
> +	list_for_each_entry(dev, head, unreg_list) {
> +		ASSERT_RTNL();
> +		might_sleep();

It doesn't make any sense to put these insertions into this loop since
they are testing top-level invariants that must be provided by the
caller.

^ permalink raw reply

* Re: [PATCH 5/5] net: add skb.old_queue_mapping
From: David Miller @ 2010-12-13 17:58 UTC (permalink / raw)
  To: eric.dumazet; +Cc: xiaosuo, hadi, netdev
In-Reply-To: <1292259412.2759.57.camel@edumazet-laptop>

From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Mon, 13 Dec 2010 17:56:52 +0100

> Le lundi 13 décembre 2010 à 22:43 +0800, Changli Gao a écrit :
>> diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
>> index 19f37a6..2ce2a96 100644
>> --- a/include/linux/skbuff.h
>> +++ b/include/linux/skbuff.h
>> @@ -403,6 +403,9 @@ struct sk_buff {
>>  	};
>>  
>>  	__u16			vlan_tci;
>> +#ifdef CONFIG_NET_CLS_ACT
>> +	__u16			old_queue_mapping;
>> +#endif
>>  
> 
> Are you sure we need this field here ? Why not using cb[] for example ?

Agreed, we should be removing sk_buff members not adding new ones.

We should especially not be adding new members to this critical
structure for more obscure facilities like ifb.

^ permalink raw reply

* Re: [PATCH] ehea: Use the standard logging functions
From: David Miller @ 2010-12-13 18:01 UTC (permalink / raw)
  To: leitao; +Cc: netdev, linux-kernel, joe
In-Reply-To: <1292249040-20560-1-git-send-email-leitao@linux.vnet.ibm.com>

From: leitao@linux.vnet.ibm.com
Date: Mon, 13 Dec 2010 09:04:00 -0500

> I fixed some compilation errors and re-generate the patch. Thanks!
> 
> Author: Joe Perches <joe@perches.com>

"Author: " is not how you indicate who the author is.  You instead
simple provide another "From: " line.

I'll fix it up while applying this patch, but next time please
form it properly.

Thanks.

^ permalink raw reply

* [PATCH 1/3] net: Abstract RTAX_HOPLIMIT metric accesses behind helper.
From: David Miller @ 2010-12-13 18:03 UTC (permalink / raw)
  To: netdev


Signed-off-by: David S. Miller <davem@davemloft.net>
---
 drivers/net/pptp.c              |    2 +-
 include/net/dst.h               |   15 ++++++++++++++-
 net/ipv4/ip_gre.c               |    2 +-
 net/ipv4/ip_output.c            |    2 +-
 net/ipv4/netfilter/ipt_REJECT.c |    2 +-
 net/ipv4/route.c                |    2 +-
 net/ipv4/xfrm4_mode_tunnel.c    |    2 +-
 net/ipv6/route.c                |    4 ++--
 8 files changed, 22 insertions(+), 9 deletions(-)

diff --git a/drivers/net/pptp.c b/drivers/net/pptp.c
index 7556a92..c83e168 100644
--- a/drivers/net/pptp.c
+++ b/drivers/net/pptp.c
@@ -277,7 +277,7 @@ static int pptp_xmit(struct ppp_channel *chan, struct sk_buff *skb)
 	iph->tos      = 0;
 	iph->daddr    = rt->rt_dst;
 	iph->saddr    = rt->rt_src;
-	iph->ttl      = dst_metric(&rt->dst, RTAX_HOPLIMIT);
+	iph->ttl      = dst_metric_hoplimit(&rt->dst);
 	iph->tot_len  = htons(skb->len);
 
 	skb_dst_drop(skb);
diff --git a/include/net/dst.h b/include/net/dst.h
index 85dee3a..9208b50 100644
--- a/include/net/dst.h
+++ b/include/net/dst.h
@@ -104,11 +104,24 @@ struct dst_entry {
 #ifdef __KERNEL__
 
 static inline u32
-dst_metric(const struct dst_entry *dst, int metric)
+dst_metric_raw(const struct dst_entry *dst, const int metric)
 {
 	return dst->_metrics[metric-1];
 }
 
+static inline u32
+dst_metric(const struct dst_entry *dst, const int metric)
+{
+	WARN_ON_ONCE(metric == RTAX_HOPLIMIT);
+	return dst_metric_raw(dst, metric);
+}
+
+static inline u32
+dst_metric_hoplimit(const struct dst_entry *dst)
+{
+	return dst_metric_raw(dst, RTAX_HOPLIMIT);
+}
+
 static inline void dst_metric_set(struct dst_entry *dst, int metric, u32 val)
 {
 	dst->_metrics[metric-1] = val;
diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c
index ff4e7a4..46eb3dc 100644
--- a/net/ipv4/ip_gre.c
+++ b/net/ipv4/ip_gre.c
@@ -890,7 +890,7 @@ static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev
 			iph->ttl = ((struct ipv6hdr *)old_iph)->hop_limit;
 #endif
 		else
-			iph->ttl = dst_metric(&rt->dst, RTAX_HOPLIMIT);
+			iph->ttl = dst_metric_hoplimit(&rt->dst);
 	}
 
 	((__be16 *)(iph + 1))[0] = tunnel->parms.o_flags;
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c
index 5090c7f..ea28fa5 100644
--- a/net/ipv4/ip_output.c
+++ b/net/ipv4/ip_output.c
@@ -130,7 +130,7 @@ static inline int ip_select_ttl(struct inet_sock *inet, struct dst_entry *dst)
 	int ttl = inet->uc_ttl;
 
 	if (ttl < 0)
-		ttl = dst_metric(dst, RTAX_HOPLIMIT);
+		ttl = dst_metric_hoplimit(dst);
 	return ttl;
 }
 
diff --git a/net/ipv4/netfilter/ipt_REJECT.c b/net/ipv4/netfilter/ipt_REJECT.c
index 43eec80..f130907 100644
--- a/net/ipv4/netfilter/ipt_REJECT.c
+++ b/net/ipv4/netfilter/ipt_REJECT.c
@@ -116,7 +116,7 @@ static void send_reset(struct sk_buff *oldskb, int hook)
 	if (ip_route_me_harder(nskb, addr_type))
 		goto free_nskb;
 
-	niph->ttl	= dst_metric(skb_dst(nskb), RTAX_HOPLIMIT);
+	niph->ttl	= dst_metric_hoplimit(skb_dst(nskb));
 
 	/* "Never happens" */
 	if (nskb->len > dst_mtu(skb_dst(nskb)))
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 26ac396..90b5a37 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -1821,7 +1821,7 @@ static void rt_set_nexthop(struct rtable *rt, struct fib_result *res, u32 itag)
 	} else
 		dst_metric_set(dst, RTAX_MTU, dst->dev->mtu);
 
-	if (dst_metric(dst, RTAX_HOPLIMIT) == 0)
+	if (dst_metric_raw(dst, RTAX_HOPLIMIT) == 0)
 		dst_metric_set(dst, RTAX_HOPLIMIT, sysctl_ip_default_ttl);
 	if (dst_mtu(dst) > IP_MAX_MTU)
 		dst_metric_set(dst, RTAX_MTU, IP_MAX_MTU);
diff --git a/net/ipv4/xfrm4_mode_tunnel.c b/net/ipv4/xfrm4_mode_tunnel.c
index 6f36841..63b854e 100644
--- a/net/ipv4/xfrm4_mode_tunnel.c
+++ b/net/ipv4/xfrm4_mode_tunnel.c
@@ -56,7 +56,7 @@ static int xfrm4_mode_tunnel_output(struct xfrm_state *x, struct sk_buff *skb)
 		0 : (XFRM_MODE_SKB_CB(skb)->frag_off & htons(IP_DF));
 	ip_select_ident(top_iph, dst->child, NULL);
 
-	top_iph->ttl = dst_metric(dst->child, RTAX_HOPLIMIT);
+	top_iph->ttl = dst_metric_hoplimit(dst->child);
 
 	top_iph->saddr = x->props.saddr.a4;
 	top_iph->daddr = x->id.daddr.a4;
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 9b2d7bc..d9405d1 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -1104,7 +1104,7 @@ static int ipv6_get_mtu(struct net_device *dev)
 
 int ip6_dst_hoplimit(struct dst_entry *dst)
 {
-	int hoplimit = dst_metric(dst, RTAX_HOPLIMIT);
+	int hoplimit = dst_metric_raw(dst, RTAX_HOPLIMIT);
 	if (hoplimit < 0) {
 		struct net_device *dev = dst->dev;
 		struct inet6_dev *idev;
@@ -1310,7 +1310,7 @@ install_route:
 		}
 	}
 
-	if (dst_metric(&rt->dst, RTAX_HOPLIMIT) == 0)
+	if (dst_metric_raw(&rt->dst, RTAX_HOPLIMIT) == 0)
 		dst_metric_set(&rt->dst, RTAX_HOPLIMIT, -1);
 	if (!dst_mtu(&rt->dst))
 		dst_metric_set(&rt->dst, RTAX_MTU, ipv6_get_mtu(dev));
-- 
1.7.3.2


^ permalink raw reply related

* ipv6: Demark default hoplimit as zero.
From: David Miller @ 2010-12-13 18:03 UTC (permalink / raw)
  To: netdev


This is for consistency with ipv4.  Using "-1" makes
no sense.

It was made this way a long time ago merely to be consistent
with how the ipv6 socket hoplimit "default" is stored.

Signed-off-by: David S. Miller <davem@davemloft.net>
---
 net/ipv6/route.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index d9405d1..98796b0 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -1105,7 +1105,7 @@ static int ipv6_get_mtu(struct net_device *dev)
 int ip6_dst_hoplimit(struct dst_entry *dst)
 {
 	int hoplimit = dst_metric_raw(dst, RTAX_HOPLIMIT);
-	if (hoplimit < 0) {
+	if (hoplimit == 0) {
 		struct net_device *dev = dst->dev;
 		struct inet6_dev *idev;
 
@@ -1310,8 +1310,6 @@ install_route:
 		}
 	}
 
-	if (dst_metric_raw(&rt->dst, RTAX_HOPLIMIT) == 0)
-		dst_metric_set(&rt->dst, RTAX_HOPLIMIT, -1);
 	if (!dst_mtu(&rt->dst))
 		dst_metric_set(&rt->dst, RTAX_MTU, ipv6_get_mtu(dev));
 	if (!dst_metric(&rt->dst, RTAX_ADVMSS))
-- 
1.7.3.2


^ permalink raw reply related

* [PATCH 3/3] ipv4: Don't pre-seed hoplimit metric.
From: David Miller @ 2010-12-13 18:04 UTC (permalink / raw)
  To: netdev


Always go through a new ip4_dst_hoplimit() helper, just like ipv6.

This allowed several simplifications:

1) The interim dst_metric_hoplimit() can go as it's no longer
   userd.

2) The sysctl_ip_default_ttl entry no longer needs to use
   ipv4_doint_and_flush, since the sysctl is not cached in
   routing cache metrics any longer.

3) ipv4_doint_and_flush no longer needs to be exported and
   therefore can be marked static.

When ipv4_doint_and_flush_strategy was removed some time ago,
the external declaration in ip.h was mistakenly left around
so kill that off too.

We have to move the sysctl_ip_default_ttl declaration into
ipv4's route cache definition header net/route.h, because
currently net/ip.h (where the declaration lives now) has
a back dependency on net/route.h

Signed-off-by: David S. Miller <davem@davemloft.net>
---
 drivers/net/pptp.c              |    2 +-
 include/net/dst.h               |    6 ------
 include/net/ip.h                |   10 ----------
 include/net/route.h             |   11 +++++++++++
 net/ipv4/devinet.c              |    6 +++---
 net/ipv4/ip_gre.c               |    2 +-
 net/ipv4/ip_output.c            |    3 ++-
 net/ipv4/netfilter/ipt_REJECT.c |    2 +-
 net/ipv4/route.c                |    2 --
 net/ipv4/sysctl_net_ipv4.c      |    2 +-
 net/ipv4/xfrm4_mode_tunnel.c    |    2 +-
 11 files changed, 21 insertions(+), 27 deletions(-)

diff --git a/drivers/net/pptp.c b/drivers/net/pptp.c
index c83e168..164cfad 100644
--- a/drivers/net/pptp.c
+++ b/drivers/net/pptp.c
@@ -277,7 +277,7 @@ static int pptp_xmit(struct ppp_channel *chan, struct sk_buff *skb)
 	iph->tos      = 0;
 	iph->daddr    = rt->rt_dst;
 	iph->saddr    = rt->rt_src;
-	iph->ttl      = dst_metric_hoplimit(&rt->dst);
+	iph->ttl      = ip4_dst_hoplimit(&rt->dst);
 	iph->tot_len  = htons(skb->len);
 
 	skb_dst_drop(skb);
diff --git a/include/net/dst.h b/include/net/dst.h
index 9208b50..755ac6c 100644
--- a/include/net/dst.h
+++ b/include/net/dst.h
@@ -116,12 +116,6 @@ dst_metric(const struct dst_entry *dst, const int metric)
 	return dst_metric_raw(dst, metric);
 }
 
-static inline u32
-dst_metric_hoplimit(const struct dst_entry *dst)
-{
-	return dst_metric_raw(dst, RTAX_HOPLIMIT);
-}
-
 static inline void dst_metric_set(struct dst_entry *dst, int metric, u32 val)
 {
 	dst->_metrics[metric-1] = val;
diff --git a/include/net/ip.h b/include/net/ip.h
index 86e2b18..67fac78 100644
--- a/include/net/ip.h
+++ b/include/net/ip.h
@@ -201,7 +201,6 @@ static inline int inet_is_reserved_local_port(int port)
 	return test_bit(port, sysctl_local_reserved_ports);
 }
 
-extern int sysctl_ip_default_ttl;
 extern int sysctl_ip_nonlocal_bind;
 
 extern struct ctl_path net_core_path[];
@@ -428,15 +427,6 @@ extern void	ip_icmp_error(struct sock *sk, struct sk_buff *skb, int err,
 extern void	ip_local_error(struct sock *sk, int err, __be32 daddr, __be16 dport,
 			       u32 info);
 
-/* sysctl helpers - any sysctl which holds a value that ends up being
- * fed into the routing cache should use these handlers.
- */
-int ipv4_doint_and_flush(ctl_table *ctl, int write,
-			 void __user *buffer,
-			 size_t *lenp, loff_t *ppos);
-int ipv4_doint_and_flush_strategy(ctl_table *table,
-				  void __user *oldval, size_t __user *oldlenp,
-				  void __user *newval, size_t newlen);
 #ifdef CONFIG_PROC_FS
 extern int ip_misc_proc_init(void);
 #endif
diff --git a/include/net/route.h b/include/net/route.h
index b8c1f77..2700236 100644
--- a/include/net/route.h
+++ b/include/net/route.h
@@ -231,4 +231,15 @@ static inline int inet_iif(const struct sk_buff *skb)
 	return skb_rtable(skb)->rt_iif;
 }
 
+extern int sysctl_ip_default_ttl;
+
+static inline int ip4_dst_hoplimit(const struct dst_entry *dst)
+{
+	int hoplimit = dst_metric_raw(dst, RTAX_HOPLIMIT);
+
+	if (hoplimit == 0)
+		hoplimit = sysctl_ip_default_ttl;
+	return hoplimit;
+}
+
 #endif	/* _ROUTE_H */
diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
index 3b06770..748cb5b 100644
--- a/net/ipv4/devinet.c
+++ b/net/ipv4/devinet.c
@@ -1430,9 +1430,9 @@ static int devinet_sysctl_forward(ctl_table *ctl, int write,
 	return ret;
 }
 
-int ipv4_doint_and_flush(ctl_table *ctl, int write,
-			 void __user *buffer,
-			 size_t *lenp, loff_t *ppos)
+static int ipv4_doint_and_flush(ctl_table *ctl, int write,
+				void __user *buffer,
+				size_t *lenp, loff_t *ppos)
 {
 	int *valp = ctl->data;
 	int val = *valp;
diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c
index 46eb3dc..eb68a0e 100644
--- a/net/ipv4/ip_gre.c
+++ b/net/ipv4/ip_gre.c
@@ -890,7 +890,7 @@ static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev
 			iph->ttl = ((struct ipv6hdr *)old_iph)->hop_limit;
 #endif
 		else
-			iph->ttl = dst_metric_hoplimit(&rt->dst);
+			iph->ttl = ip4_dst_hoplimit(&rt->dst);
 	}
 
 	((__be16 *)(iph + 1))[0] = tunnel->parms.o_flags;
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c
index ea28fa5..04c7b3b 100644
--- a/net/ipv4/ip_output.c
+++ b/net/ipv4/ip_output.c
@@ -82,6 +82,7 @@
 #include <linux/tcp.h>
 
 int sysctl_ip_default_ttl __read_mostly = IPDEFTTL;
+EXPORT_SYMBOL(sysctl_ip_default_ttl);
 
 /* Generate a checksum for an outgoing IP datagram. */
 __inline__ void ip_send_check(struct iphdr *iph)
@@ -130,7 +131,7 @@ static inline int ip_select_ttl(struct inet_sock *inet, struct dst_entry *dst)
 	int ttl = inet->uc_ttl;
 
 	if (ttl < 0)
-		ttl = dst_metric_hoplimit(dst);
+		ttl = ip4_dst_hoplimit(dst);
 	return ttl;
 }
 
diff --git a/net/ipv4/netfilter/ipt_REJECT.c b/net/ipv4/netfilter/ipt_REJECT.c
index f130907..1ff79e5 100644
--- a/net/ipv4/netfilter/ipt_REJECT.c
+++ b/net/ipv4/netfilter/ipt_REJECT.c
@@ -116,7 +116,7 @@ static void send_reset(struct sk_buff *oldskb, int hook)
 	if (ip_route_me_harder(nskb, addr_type))
 		goto free_nskb;
 
-	niph->ttl	= dst_metric_hoplimit(skb_dst(nskb));
+	niph->ttl	= ip4_dst_hoplimit(skb_dst(nskb));
 
 	/* "Never happens" */
 	if (nskb->len > dst_mtu(skb_dst(nskb)))
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 90b5a37..770f704 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -1821,8 +1821,6 @@ static void rt_set_nexthop(struct rtable *rt, struct fib_result *res, u32 itag)
 	} else
 		dst_metric_set(dst, RTAX_MTU, dst->dev->mtu);
 
-	if (dst_metric_raw(dst, RTAX_HOPLIMIT) == 0)
-		dst_metric_set(dst, RTAX_HOPLIMIT, sysctl_ip_default_ttl);
 	if (dst_mtu(dst) > IP_MAX_MTU)
 		dst_metric_set(dst, RTAX_MTU, IP_MAX_MTU);
 	if (dst_metric(dst, RTAX_ADVMSS) == 0)
diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c
index 1b4ec21..e85ff59 100644
--- a/net/ipv4/sysctl_net_ipv4.c
+++ b/net/ipv4/sysctl_net_ipv4.c
@@ -155,7 +155,7 @@ static struct ctl_table ipv4_table[] = {
 		.data		= &sysctl_ip_default_ttl,
 		.maxlen		= sizeof(int),
 		.mode		= 0644,
-		.proc_handler	= ipv4_doint_and_flush,
+		.proc_handler	= proc_dointvec,
 		.extra2		= &init_net,
 	},
 	{
diff --git a/net/ipv4/xfrm4_mode_tunnel.c b/net/ipv4/xfrm4_mode_tunnel.c
index 63b854e..534972e 100644
--- a/net/ipv4/xfrm4_mode_tunnel.c
+++ b/net/ipv4/xfrm4_mode_tunnel.c
@@ -56,7 +56,7 @@ static int xfrm4_mode_tunnel_output(struct xfrm_state *x, struct sk_buff *skb)
 		0 : (XFRM_MODE_SKB_CB(skb)->frag_off & htons(IP_DF));
 	ip_select_ident(top_iph, dst->child, NULL);
 
-	top_iph->ttl = dst_metric_hoplimit(dst->child);
+	top_iph->ttl = ip4_dst_hoplimit(dst->child);
 
 	top_iph->saddr = x->props.saddr.a4;
 	top_iph->daddr = x->id.daddr.a4;
-- 
1.7.3.2


^ permalink raw reply related

* Re: [PATCH net-next-2.6] net: add dev_close_many
From: Stephen Hemminger @ 2010-12-13 18:04 UTC (permalink / raw)
  To: Octavian Purdila
  Cc: Eric Dumazet, netdev, Lucian Adrian Grijincu, Vlad Dogaru
In-Reply-To: <201012131952.39648.opurdila@ixiacom.com>

On Mon, 13 Dec 2010 19:52:39 +0200
Octavian Purdila <opurdila@ixiacom.com> wrote:

> From: Stephen Hemminger <shemminger@vyatta.com>
> Date: Monday 13 December 2010, 19:32:21
> 
> > With a message based interface, there shouldn't be a need for this.
> > Just have one thread sending requests in user space, and one receiving
> > the ACK's.
> 
> Sorry, you lost me here :) There is no need for the kernel thread / workqueue 
> or not even for dev_close_many?

I assume the need for dev_close_many is coming from a user space application?

I expect that for this kind of special need,  you would be better off not
using the normal iproute utilities and instead have a custom device manager
that is doing netlink directly.

Rather than doing synchronous send request and wait for ack. The utility
could use a sender and collector thread.

-- 

^ permalink raw reply

* Re: [PATCH net-next-2.6 1/2] cpmac: remove unused buflen
From: David Miller @ 2010-12-13 18:15 UTC (permalink / raw)
  To: yuasa; +Cc: netdev, ejka
In-Reply-To: <20101213171725.2ed299cf.yuasa@linux-mips.org>

From: Yoichi Yuasa <yuasa@linux-mips.org>
Date: Mon, 13 Dec 2010 17:17:25 +0900

> Signed-off-by: Yoichi Yuasa <yuasa@linux-mips.org>

This is a descriptor read by and used by the hardware, you cannot just
delete it.

^ permalink raw reply

* Re: [PATCH net-next-2.6 2/2] cpmac: fix warning length cast
From: David Miller @ 2010-12-13 18:16 UTC (permalink / raw)
  To: yuasa; +Cc: netdev, ejka
In-Reply-To: <20101213171845.39a2151f.yuasa@linux-mips.org>

From: Yoichi Yuasa <yuasa@linux-mips.org>
Date: Mon, 13 Dec 2010 17:18:45 +0900

> drivers/net/cpmac.c: In function 'cpmac_start_xmit':
> drivers/net/cpmac.c:569: warning: comparison of distinct pointer types
> lacks a cast
> 
> Signed-off-by: Yoichi Yuasa <yuasa@linux-mips.org>

Again, you cannot change the types of the members of the
descriptor, as it has a fixed implementation and is read
by the hardware.

^ permalink raw reply

* [PATCH net-next-2.6 0/3] bonding fixes
From: Ben Hutchings @ 2010-12-13 18:16 UTC (permalink / raw)
  To: David Miller, Jay Vosburgh; +Cc: netdev, linux-net-drivers

I've been investigating a bonding bug that results in skb_under_panic()
on older kernels.  The bug is still present but with less disastrous
results.  In the course of my investigation I found two regressions
without actually looking very hard, which is somewhat worrying.

The fixes are:

1. Remove redundant VLAN tag insertion logic. Fixes a regression due to
VLAN handling changes in 2.6.37, which corrupts *all* outgoing traffic
on a VLAN over a bond when the slave does not implement VLAN tag
insertion.

2. Change active slave quietly when bond is down. Fixes a crash
introduced by 5a37e8ca8536c47871d46c82211f399adf06fd44 (bonding: rejoin
multicast groups on VLANs) and also cleans up existing code.

3. Fix mangled NAs on slaves without VLAN tag insertion. This bug
appears to have been present ever since gratuitous NAs were implemented
in 2.6.29. It doesn't look possible to fix without relying on the recent
VLAN handling changes. For stable/longterm and backports, I think the
safest thing to do is not to send a gratuitous NA if it would end up
mangled.

Ben.

Ben Hutchings (3):
  bonding/vlan: Remove redundant VLAN tag insertion logic
  bonding: Change active slave quietly when bond is down
  bonding/vlan: Fix mangled NAs on slaves without VLAN tag insertion

 drivers/net/bonding/bond_ipv6.c |    7 +++++-
 drivers/net/bonding/bond_main.c |   42 +++++++++-----------------------------
 2 files changed, 16 insertions(+), 33 deletions(-)

-- 
1.7.3.2


-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
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: [PATCH net-next-2.6 0/3] bonding fixes
From: Ben Hutchings @ 2010-12-13 18:18 UTC (permalink / raw)
  To: David Miller; +Cc: Jay Vosburgh, netdev, linux-net-drivers
In-Reply-To: <1292264216.9860.11.camel@bwh-desktop>

These should of course go to net-2.6, not net-next-2.6.

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
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

* [PATCH net-2.6 1/3] bonding/vlan: Remove redundant VLAN tag insertion logic
From: Ben Hutchings @ 2010-12-13 18:19 UTC (permalink / raw)
  To: David Miller, Jay Vosburgh; +Cc: netdev, linux-net-drivers, Jesse Gross
In-Reply-To: <1292264216.9860.11.camel@bwh-desktop>

A bond may have a mixture of slave devices with and without hardware
VLAN tag insertion capability.  Therefore it always claims this
capability and performs software VLAN tag insertion if the slave does
not.

Since commit 7b9c60903714bf0a19d746b228864bad3497284e, this has
also been done by dev_hard_start_xmit().  The result is that VLAN-
tagged skbs are now double-tagged when transmitted through slave
devices without hardware VLAN tag insertion!

Remove the now-redundant logic from bond_dev_queue_xmit().

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
---
 drivers/net/bonding/bond_main.c |   27 +--------------------------
 1 files changed, 1 insertions(+), 26 deletions(-)

diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index d0ea760..ef370c9 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -418,36 +418,11 @@ struct vlan_entry *bond_next_vlan(struct bonding *bond, struct vlan_entry *curr)
  * @bond: bond device that got this skb for tx.
  * @skb: hw accel VLAN tagged skb to transmit
  * @slave_dev: slave that is supposed to xmit this skbuff
- *
- * When the bond gets an skb to transmit that is
- * already hardware accelerated VLAN tagged, and it
- * needs to relay this skb to a slave that is not
- * hw accel capable, the skb needs to be "unaccelerated",
- * i.e. strip the hwaccel tag and re-insert it as part
- * of the payload.
  */
 int bond_dev_queue_xmit(struct bonding *bond, struct sk_buff *skb,
 			struct net_device *slave_dev)
 {
-	unsigned short uninitialized_var(vlan_id);
-
-	/* Test vlan_list not vlgrp to catch and handle 802.1p tags */
-	if (!list_empty(&bond->vlan_list) &&
-	    !(slave_dev->features & NETIF_F_HW_VLAN_TX) &&
-	    vlan_get_tag(skb, &vlan_id) == 0) {
-		skb->dev = slave_dev;
-		skb = vlan_put_tag(skb, vlan_id);
-		if (!skb) {
-			/* vlan_put_tag() frees the skb in case of error,
-			 * so return success here so the calling functions
-			 * won't attempt to free is again.
-			 */
-			return 0;
-		}
-	} else {
-		skb->dev = slave_dev;
-	}
-
+	skb->dev = slave_dev;
 	skb->priority = 1;
 #ifdef CONFIG_NET_POLL_CONTROLLER
 	if (unlikely(bond->dev->priv_flags & IFF_IN_NETPOLL)) {
-- 
1.7.3.2



-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
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 related

* [PATCH net-2.6 2/3] bonding: Change active slave quietly when bond is down
From: Ben Hutchings @ 2010-12-13 18:19 UTC (permalink / raw)
  To: David Miller, Jay Vosburgh; +Cc: netdev, linux-net-drivers
In-Reply-To: <1292264216.9860.11.camel@bwh-desktop>

bond_change_active_slave() may be called when a slave is added, even
if the bond has not been brought up yet.  It may then attempt to send
packets, and further it may use mcast_work which is uninitialised
before the bond is brought up.  Add the necessary checks for
netif_running(bond->dev).

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
---
 drivers/net/bonding/bond_main.c |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index ef370c9..3b16c34 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -1178,11 +1178,13 @@ void bond_change_active_slave(struct bonding *bond, struct slave *new_active)
 				bond_do_fail_over_mac(bond, new_active,
 						      old_active);
 
-			bond->send_grat_arp = bond->params.num_grat_arp;
-			bond_send_gratuitous_arp(bond);
+			if (netif_running(bond->dev)) {
+				bond->send_grat_arp = bond->params.num_grat_arp;
+				bond_send_gratuitous_arp(bond);
 
-			bond->send_unsol_na = bond->params.num_unsol_na;
-			bond_send_unsolicited_na(bond);
+				bond->send_unsol_na = bond->params.num_unsol_na;
+				bond_send_unsolicited_na(bond);
+			}
 
 			write_unlock_bh(&bond->curr_slave_lock);
 			read_unlock(&bond->lock);
@@ -1196,8 +1198,9 @@ void bond_change_active_slave(struct bonding *bond, struct slave *new_active)
 
 	/* resend IGMP joins since active slave has changed or
 	 * all were sent on curr_active_slave */
-	if ((USES_PRIMARY(bond->params.mode) && new_active) ||
-	    bond->params.mode == BOND_MODE_ROUNDROBIN) {
+	if (((USES_PRIMARY(bond->params.mode) && new_active) ||
+	     bond->params.mode == BOND_MODE_ROUNDROBIN) &&
+	    netif_running(bond->dev)) {
 		bond->igmp_retrans = bond->params.resend_igmp;
 		queue_delayed_work(bond->wq, &bond->mcast_work, 0);
 	}
-- 
1.7.3.2



-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
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 related

* [PATCH net-2.6 3/3] bonding/vlan: Fix mangled NAs on slaves without VLAN tag insertion
From: Ben Hutchings @ 2010-12-13 18:20 UTC (permalink / raw)
  To: David Miller, Jay Vosburgh; +Cc: netdev, linux-net-drivers, Jesse Gross
In-Reply-To: <1292264216.9860.11.camel@bwh-desktop>

bond_na_send() attempts to insert a VLAN tag in between building and
sending packets of the respective formats.  If the slave does not
implement hardware VLAN tag insertion then vlan_put_tag() will mangle
the network-layer header because the Ethernet header is not present at
this point (unlike in bond_arp_send()).

Fix this by adding the tag out-of-line and relying on
dev_hard_start_xmit() to insert it inline if necessary.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
---
 drivers/net/bonding/bond_ipv6.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/drivers/net/bonding/bond_ipv6.c b/drivers/net/bonding/bond_ipv6.c
index 121b073..84fbd4e 100644
--- a/drivers/net/bonding/bond_ipv6.c
+++ b/drivers/net/bonding/bond_ipv6.c
@@ -88,7 +88,12 @@ static void bond_na_send(struct net_device *slave_dev,
 	}
 
 	if (vlan_id) {
-		skb = vlan_put_tag(skb, vlan_id);
+		/* The Ethernet header is not present yet, so it is
+		 * too early to insert a VLAN tag.  Force use of an
+		 * out-of-line tag here and let dev_hard_start_xmit()
+		 * insert it if the slave hardware can't.
+		 */
+		skb = __vlan_hwaccel_put_tag(skb, vlan_id);
 		if (!skb) {
 			pr_err("failed to insert VLAN tag\n");
 			return;
-- 
1.7.3.2


-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
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 related

* RE: [PATCH 10/27] ixgb: Don't check for vlan group on transmit
From: Tantilov, Emil S @ 2010-12-13 18:43 UTC (permalink / raw)
  To: Jesse Gross, Kirsher, Jeffrey T
  Cc: davem@davemloft.net, netdev@vger.kernel.org, gospo@redhat.com,
	bphilips@novell.com
In-Reply-To: <AANLkTi=mi7pSRXrOyiFx75Feuo29tpw9bJbvHf0BrC_s@mail.gmail.com>

>-----Original Message-----
>From: Jesse Gross [mailto:jesse@nicira.com]
>Sent: Sunday, December 12, 2010 5:01 PM
>To: Kirsher, Jeffrey T
>Cc: davem@davemloft.net; Tantilov, Emil S; netdev@vger.kernel.org;
>gospo@redhat.com; bphilips@novell.com
>Subject: Re: [PATCH 10/27] ixgb: Don't check for vlan group on transmit
>
>On Fri, Dec 10, 2010 at 10:17 PM, Jeff Kirsher
><jeffrey.t.kirsher@intel.com> wrote:
>> From: Emil Tantilov <emil.s.tantilov@intel.com>
>>
>> Based on a patch from Jesse Gross.
>>
>> Enable vlan tag insertion even when vlan group is not configured.
>>
>> For ixgb HW both CTRL0.VME and VLE bit in the Tx descriptor need to be
>set
>> in order to enable HW acceleration.
>>
>> Introduced separate functions for enabling/disabling of vlan tag
>stripping
>> similar to ixgbe.
>
>Thanks for working on this.  However, I don't think that this patch
>actually does what it says.
>
>In ixgb_xmit_frame() it's still checking whether adapter->vlgrp is
>non-null before inserting a tag, so it will drop tags unless a vlan
>group is configured.  Also, since it's not currently possible to
>toggle NETIF_F_HW_VLAN_RX, vlan stripping will never get disabled.
>This is actually a regression since before vlan stripping would get
>disabled if no vlan group was configured.  Now, vlan headers will get
>silently dropped if there is no vlan group.
I'm sorry. This patch was supposed to include your original patch that 
removed the vlgrp check on Tx. Somehow that didn't make it (I may have generated the patch from the wrong branch).

>Regardless of that, I still think this is a useful change on the road
>towards adopting the new vlan interfaces, the problem is just that
>currently it's halfway in between the old and the new.  Given that, it
>would obviously be much better to move all the way over the new when
>addressing this.
Since this patch is already applied can you submit your change again?

>Out of curiosity, is the implication of this that vlan insertion on
>transmit and stripping on receive are always configured together?  I
>don't have hardware supported by this driver but when I worked on
>ixgbe (which is at least superficially similar in this area) I didn't
>have any problems configuring them independently.

Yes - the design of the original 10GB HW supported in ixgb does not allow 
setting Tx and Rx independently. As you mentioned ixgbe does not have 
this problem.

>
>Thanks.

Thanks,
Emil


^ permalink raw reply

* Re: linux-next: Tree for December 10
From: Zimny Lech @ 2010-12-13 19:02 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: linux-next, LKML, Wolfgang Grandegger, netdev
In-Reply-To: <20101210135746.0cf6cbcd.sfr@canb.auug.org.au>

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

Ave,

2010/12/10 Stephen Rothwell <sfr@canb.auug.org.au>:
> Hi all,
>
> Changes since 20101209:
>

WARNING: modpost: Found 14 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
  GEN     .version
  CHK     include/generated/compile.h
  UPD     include/generated/compile.h
  CC      init/version.o
  LD      init/built-in.o
  LD      .tmp_vmlinux1
arch/x86/built-in.o: In function `kvm_smp_prepare_boot_cpu':
kvm.c:(.init.text+0xf446): undefined reference to `kvm_register_clock'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x1087ee): undefined reference to `__alloc_skb'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x108897): undefined reference to `skb_put'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x108930): undefined reference to `kfree_skb'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x108947): undefined reference to `nla_reserve'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x108990): undefined reference to `kfree_skb'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x1089e9): undefined reference to `kfree_skb'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x1089f8): undefined reference to `init_net'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x108a0b): undefined reference to `netlink_broadcast'
drivers/built-in.o: In function `thermal_init':
thermal_sys.c:(.init.text+0xbd00): undefined reference to `genl_register_family'
thermal_sys.c:(.init.text+0xbd2f): undefined reference to
`genl_register_mc_group'
thermal_sys.c:(.init.text+0xbd57): undefined reference to
`genl_unregister_family'
drivers/built-in.o: In function `thermal_exit':
thermal_sys.c:(.exit.text+0x154c): undefined reference to
`genl_unregister_family'
make[1]: *** [.tmp_vmlinux1] Error 1
make: *** [sub-make] Error 2


-- 
Slawa!
Zimny "Spie dziadu!" Lech z Wawelu

Hej, tam!
Wydarłem klejnot szans
http://www.youtube.com/watch?v=VXWTlYzVFUA

[-- Attachment #2: 10-12-13-17-00-09-buildlog --]
[-- Type: application/octet-stream, Size: 41803 bytes --]

  GEN     /home/test/linux-2.6-obj/Makefile
scripts/kconfig/conf --silentoldconfig Kconfig
drivers/platform/x86/Kconfig:422:error: recursive dependency detected!
drivers/platform/x86/Kconfig:422:	symbol EEEPC_WMI depends on ACPI_WMI
drivers/platform/x86/Kconfig:438:	symbol ACPI_WMI is selected by ACER_WMI
drivers/platform/x86/Kconfig:18:	symbol ACER_WMI depends on LEDS_CLASS
drivers/leds/Kconfig:10:	symbol LEDS_CLASS is selected by EEEPC_WMI
#
# configuration written to .config
#
  Using /home/test/linux-2.6 as source for kernel
  GEN     /home/test/linux-2.6-obj/Makefile
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
  CC      kernel/bounds.s
  GEN     include/generated/bounds.h
  CC      arch/x86/kernel/asm-offsets.s
  GEN     include/generated/asm-offsets.h
  CALL    /home/test/linux-2.6/scripts/checksyscalls.sh
  CC      scripts/mod/empty.o
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTLD  scripts/mod/modpost
  CC      init/main.o
  CHK     include/generated/compile.h
  UPD     include/generated/compile.h
  CC      init/version.o
  CC      init/do_mounts.o
  LD      init/mounts.o
  CC      init/noinitramfs.o
  CC      init/calibrate.o
  LD      init/built-in.o
  LD      usr/built-in.o
  CC      arch/x86/kernel/process_64.o
  CC      arch/x86/kernel/signal.o
  AS      arch/x86/kernel/entry_64.o
  CC      arch/x86/kernel/traps.o
  CC      arch/x86/kernel/irq.o
  CC      arch/x86/kernel/irq_64.o
  CC      arch/x86/kernel/dumpstack_64.o
/home/test/linux-2.6/arch/x86/kernel/dumpstack_64.c: In function 'dump_trace':
/home/test/linux-2.6/arch/x86/kernel/dumpstack_64.c:172:9: warning: 'id' may be used uninitialized in this function
  CC      arch/x86/kernel/time.o
  CC      arch/x86/kernel/ioport.o
  CC      arch/x86/kernel/ldt.o
  CC      arch/x86/kernel/dumpstack.o
  CC      arch/x86/kernel/setup.o
  CC      arch/x86/kernel/x86_init.o
  CC      arch/x86/kernel/i8259.o
  CC      arch/x86/kernel/irqinit.o
  CC      arch/x86/kernel/jump_label.o
  CC      arch/x86/kernel/irq_work.o
  CC      arch/x86/kernel/sys_x86_64.o
  CC      arch/x86/kernel/x8664_ksyms_64.o
  CC      arch/x86/kernel/syscall_64.o
  CC      arch/x86/kernel/vsyscall_64.o
  CC      arch/x86/kernel/bootflag.o
  CC      arch/x86/kernel/e820.o
  CC      arch/x86/kernel/pci-dma.o
  CC      arch/x86/kernel/quirks.o
  CC      arch/x86/kernel/i8237.o
  CC      arch/x86/kernel/topology.o
  CC      arch/x86/kernel/kdebugfs.o
  CC      arch/x86/kernel/alternative.o
  CC      arch/x86/kernel/i8253.o
  CC      arch/x86/kernel/pci-nommu.o
  CC      arch/x86/kernel/hw_breakpoint.o
  CC      arch/x86/kernel/tsc.o
  CC      arch/x86/kernel/io_delay.o
  CC      arch/x86/kernel/rtc.o
  CC      arch/x86/kernel/pci-iommu_table.o
  CC      arch/x86/kernel/resource.o
  CC      arch/x86/kernel/trampoline.o
  CC      arch/x86/kernel/process.o
  CC      arch/x86/kernel/i387.o
  CC      arch/x86/kernel/xsave.o
  CC      arch/x86/kernel/ptrace.o
  CC      arch/x86/kernel/step.o
  CC      arch/x86/kernel/stacktrace.o
  CC      arch/x86/kernel/apic/apic.o
  CC      arch/x86/kernel/apic/apic_noop.o
  CC      arch/x86/kernel/apic/probe_64.o
  CC      arch/x86/kernel/apic/ipi.o
  CC      arch/x86/kernel/apic/hw_nmi.o
  CC      arch/x86/kernel/apic/io_apic.o
  CC      arch/x86/kernel/apic/apic_flat_64.o
  LD      arch/x86/kernel/apic/built-in.o
  CC      arch/x86/kernel/cpu/intel_cacheinfo.o
  CC      arch/x86/kernel/cpu/scattered.o
  CC      arch/x86/kernel/cpu/topology.o
  CC      arch/x86/kernel/cpu/proc.o
  CC      arch/x86/kernel/cpu/capflags.o
  CC      arch/x86/kernel/cpu/powerflags.o
  CC      arch/x86/kernel/cpu/common.o
  CC      arch/x86/kernel/cpu/vmware.o
  CC      arch/x86/kernel/cpu/hypervisor.o
  CC      arch/x86/kernel/cpu/sched.o
  CC      arch/x86/kernel/cpu/mshyperv.o
  CC      arch/x86/kernel/cpu/bugs_64.o
  CC      arch/x86/kernel/cpu/intel.o
  CC      arch/x86/kernel/cpu/centaur.o
  CC      arch/x86/kernel/cpu/perf_event.o
  CC      arch/x86/kernel/cpu/cpufreq/speedstep-lib.o
  CC      arch/x86/kernel/cpu/cpufreq/p4-clockmod.o
  LD      arch/x86/kernel/cpu/cpufreq/built-in.o
  CC      arch/x86/kernel/cpu/mcheck/mce.o
  CC      arch/x86/kernel/cpu/mcheck/mce-severity.o
  CC      arch/x86/kernel/cpu/mcheck/mce_intel.o
  CC      arch/x86/kernel/cpu/mcheck/mce_amd.o
  CC      arch/x86/kernel/cpu/mcheck/threshold.o
  CC      arch/x86/kernel/cpu/mcheck/therm_throt.o
  LD      arch/x86/kernel/cpu/mcheck/built-in.o
  CC      arch/x86/kernel/cpu/mtrr/main.o
  CC      arch/x86/kernel/cpu/mtrr/if.o
  CC      arch/x86/kernel/cpu/mtrr/generic.o
  CC      arch/x86/kernel/cpu/mtrr/cleanup.o
  LD      arch/x86/kernel/cpu/mtrr/built-in.o
  CC      arch/x86/kernel/cpu/perfctr-watchdog.o
  LD      arch/x86/kernel/cpu/built-in.o
  CC      arch/x86/kernel/reboot.o
  CC      arch/x86/kernel/smp.o
  CC      arch/x86/kernel/smpboot.o
  CC      arch/x86/kernel/tsc_sync.o
  CC      arch/x86/kernel/setup_percpu.o
  AS      arch/x86/kernel/trampoline_64.o
  CC      arch/x86/kernel/mpparse.o
  CC      arch/x86/kernel/ftrace.o
  CC      arch/x86/kernel/hpet.o
  CC      arch/x86/kernel/kvm.o
  CC      arch/x86/kernel/paravirt.o
  CC      arch/x86/kernel/paravirt_patch_64.o
  CC      arch/x86/kernel/pvclock.o
  CC      arch/x86/kernel/pcspeaker.o
  CC      arch/x86/kernel/check.o
  CC      arch/x86/kernel/pci-swiotlb.o
  CC      arch/x86/kernel/vsmp_64.o
  LD      arch/x86/kernel/built-in.o
  AS      arch/x86/kernel/head_64.o
  CC      arch/x86/kernel/head64.o
  CC      arch/x86/kernel/head.o
  CC      arch/x86/kernel/init_task.o
  LDS     arch/x86/kernel/vmlinux.lds
  CC      arch/x86/mm/init.o
  CC      arch/x86/mm/init_64.o
  CC      arch/x86/mm/fault.o
  CC      arch/x86/mm/ioremap.o
  CC      arch/x86/mm/extable.o
  CC      arch/x86/mm/pageattr.o
  CC      arch/x86/mm/mmap.o
  CC      arch/x86/mm/pat.o
  CC      arch/x86/mm/pgtable.o
  CC      arch/x86/mm/physaddr.o
  CC      arch/x86/mm/gup.o
  CC      arch/x86/mm/setup_nx.o
  CC      arch/x86/mm/pat_rbtree.o
  CC      arch/x86/mm/tlb.o
  CC      arch/x86/mm/memblock.o
  LD      arch/x86/mm/built-in.o
  LD      arch/x86/platform/sfi/built-in.o
  LD      arch/x86/platform/built-in.o
  CC      arch/x86/vdso/vma.o
  AS      arch/x86/vdso/vdso-note.o
  CC      arch/x86/vdso/vclock_gettime.o
  CC      arch/x86/vdso/vgetcpu.o
  CC      arch/x86/vdso/vvar.o
  VDSO    arch/x86/vdso/vdso.so.dbg
  OBJCOPY arch/x86/vdso/vdso.so
  AS      arch/x86/vdso/vdso.o
  VDSOSYM arch/x86/vdso/vdso-syms.lds
  LD      arch/x86/vdso/built-in.o
  CC      arch/x86/xen/enlighten.o
  CC      arch/x86/xen/setup.o
  CC      arch/x86/xen/multicalls.o
  CC      arch/x86/xen/mmu.o
  CC      arch/x86/xen/irq.o
  CC      arch/x86/xen/time.o
  AS      arch/x86/xen/xen-asm.o
  AS      arch/x86/xen/xen-asm_64.o
  CC      arch/x86/xen/grant-table.o
  CC      arch/x86/xen/suspend.o
  CC      arch/x86/xen/platform-pci-unplug.o
  CC      arch/x86/xen/smp.o
  LD      arch/x86/xen/built-in.o
  LD      arch/x86/built-in.o
  CC      kernel/sched.o
/home/test/linux-2.6/kernel/sched.c: In function 'pick_next_task':
/home/test/linux-2.6/kernel/sched.c:3875:1: warning: control reaches end of non-void function
  CC      kernel/fork.o
  CC      kernel/exec_domain.o
  CC      kernel/panic.o
  CC      kernel/printk.o
  CC      kernel/cpu.o
  CC      kernel/exit.o
  CC      kernel/itimer.o
  TIMEC   kernel/timeconst.h
  CC      kernel/time.o
  CC      kernel/softirq.o
  CC      kernel/resource.o
  CC      kernel/sysctl.o
  CC      kernel/sysctl_binary.o
  CC      kernel/capability.o
  CC      kernel/ptrace.o
/home/test/linux-2.6/kernel/ptrace.c: In function 'ptrace_request':
/home/test/linux-2.6/kernel/ptrace.c:655:16: warning: 'kiov.iov_len' may be used uninitialized in this function
  CC      kernel/timer.o
  CC      kernel/user.o
  CC      kernel/signal.o
  CC      kernel/sys.o
  CC      kernel/kmod.o
  CC      kernel/workqueue.o
/home/test/linux-2.6/kernel/workqueue.c: In function '__queue_work':
/home/test/linux-2.6/kernel/workqueue.c:951:22: warning: 'last_gcwq' may be used uninitialized in this function
  CC      kernel/pid.o
  CC      kernel/rcupdate.o
  CC      kernel/extable.o
  CC      kernel/params.o
  CC      kernel/posix-timers.o
  CC      kernel/kthread.o
  CC      kernel/wait.o
  CC      kernel/kfifo.o
  CC      kernel/sys_ni.o
  CC      kernel/posix-cpu-timers.o
  CC      kernel/mutex.o
  CC      kernel/hrtimer.o
  CC      kernel/rwsem.o
  CC      kernel/nsproxy.o
  CC      kernel/srcu.o
  CC      kernel/semaphore.o
  CC      kernel/notifier.o
  CC      kernel/ksysfs.o
  CC      kernel/pm_qos_params.o
/home/test/linux-2.6/kernel/pm_qos_params.c: In function 'pm_qos_get_value':
/home/test/linux-2.6/kernel/pm_qos_params.c:133:1: warning: control reaches end of non-void function
  CC      kernel/sched_clock.o
  CC      kernel/cred.o
  CC      kernel/async.o
/home/test/linux-2.6/kernel/async.c: In function 'async_run_entry_fn':
/home/test/linux-2.6/kernel/async.c:122:10: warning: 'calltime.tv64' may be used uninitialized in this function
/home/test/linux-2.6/kernel/async.c: In function 'async_synchronize_cookie_domain':
/home/test/linux-2.6/kernel/async.c:270:10: warning: 'starttime.tv64' may be used uninitialized in this function
  CC      kernel/range.o
  CC      kernel/jump_label.o
  CC      kernel/groups.o
  CC      kernel/freezer.o
  CC      kernel/profile.o
  CC      kernel/stacktrace.o
  CC      kernel/gcov/base.o
  CC      kernel/gcov/fs.o
  CC      kernel/gcov/gcc_3_4.o
  LD      kernel/gcov/built-in.o
  CC      kernel/irq/irqdesc.o
  CC      kernel/irq/handle.o
  CC      kernel/irq/manage.o
  CC      kernel/irq/spurious.o
  CC      kernel/irq/resend.o
  CC      kernel/irq/chip.o
  CC      kernel/irq/dummychip.o
  CC      kernel/irq/devres.o
  CC      kernel/irq/autoprobe.o
  CC      kernel/irq/proc.o
  CC      kernel/irq/migration.o
  CC      kernel/irq/pm.o
  LD      kernel/irq/built-in.o
  CC      kernel/power/main.o
  CC      kernel/power/console.o
  CC      kernel/power/process.o
  CC      kernel/power/suspend.o
  CC      kernel/power/nvs.o
  LD      kernel/power/built-in.o
  CC      kernel/time/timekeeping.o
  CC      kernel/time/ntp.o
  CC      kernel/time/clocksource.o
  CC      kernel/time/jiffies.o
  CC      kernel/time/timer_list.o
  CC      kernel/time/timecompare.o
  CC      kernel/time/timeconv.o
  CC      kernel/time/clockevents.o
  CC      kernel/time/tick-common.o
  CC      kernel/time/tick-broadcast.o
  CC      kernel/time/tick-oneshot.o
  CC      kernel/time/tick-sched.o
  LD      kernel/time/built-in.o
  CC      kernel/trace/trace_selftest_dynamic.o
  CC      kernel/trace/trace_clock.o
  CC      kernel/trace/ftrace.o
  LD      kernel/trace/libftrace.o
  CC      kernel/trace/ring_buffer.o
  CC      kernel/trace/trace.o
  CC      kernel/trace/trace_output.o
  CC      kernel/trace/trace_stat.o
  CC      kernel/trace/trace_printk.o
  CC      kernel/trace/trace_sched_switch.o
  CC      kernel/trace/trace_functions.o
  CC      kernel/trace/trace_irqsoff.o
  CC      kernel/trace/trace_nop.o
  CC      kernel/trace/trace_stack.o
  CC      kernel/trace/trace_branch.o
  CC      kernel/trace/trace_events.o
  CC      kernel/trace/trace_export.o
  CC      kernel/trace/trace_syscalls.o
  CC      kernel/trace/trace_event_perf.o
  CC      kernel/trace/trace_events_filter.o
  CC      kernel/trace/power-traces.o
  LD      kernel/trace/built-in.o
  CC      kernel/futex.o
/home/test/linux-2.6/kernel/futex.c: In function 'exit_robust_list':
/home/test/linux-2.6/kernel/futex.c:2477:29: warning: 'entry' may be used uninitialized in this function
/home/test/linux-2.6/kernel/futex.c:2478:42: warning: 'pi' may be used uninitialized in this function
/home/test/linux-2.6/kernel/futex.c:2477:50: warning: 'pending' may be used uninitialized in this function
/home/test/linux-2.6/kernel/futex.c:2478:46: warning: 'pip' may be used uninitialized in this function
  CC      kernel/rtmutex.o
  CC      kernel/dma.o
  CC      kernel/smp.o
  CC      kernel/spinlock.o
  CC      kernel/kallsyms.o
  CC      kernel/stop_machine.o
  CC      kernel/seccomp.o
  CC      kernel/rcutree.o
  CC      kernel/rcutree_trace.o
  CC      kernel/relay.o
  CC      kernel/tracepoint.o
  CC      kernel/elfcore.o
  CC      kernel/sched_cpupri.o
  CC      kernel/irq_work.o
  CC      kernel/perf_event.o
  CC      kernel/hw_breakpoint.o
  LD      kernel/built-in.o
  CC      mm/bootmem.o
  CC      mm/filemap.o
  CC      mm/mempool.o
  CC      mm/oom_kill.o
  CC      mm/fadvise.o
  CC      mm/maccess.o
  CC      mm/page_alloc.o
  CC      mm/page-writeback.o
  CC      mm/readahead.o
  CC      mm/swap.o
  CC      mm/truncate.o
  CC      mm/vmscan.o
  CC      mm/shmem.o
  CC      mm/prio_tree.o
  CC      mm/util.o
  CC      mm/mmzone.o
  CC      mm/vmstat.o
  CC      mm/backing-dev.o
  CC      mm/page_isolation.o
  CC      mm/mm_init.o
  CC      mm/mmu_context.o
  CC      mm/percpu.o
  CC      mm/fremap.o
  CC      mm/highmem.o
  CC      mm/madvise.o
  CC      mm/memory.o
  CC      mm/mincore.o
  CC      mm/mlock.o
  CC      mm/mmap.o
  CC      mm/mprotect.o
  CC      mm/mremap.o
  CC      mm/msync.o
  CC      mm/rmap.o
  CC      mm/vmalloc.o
  CC      mm/pagewalk.o
  CC      mm/init-mm.o
  CC      mm/memblock.o
  CC      mm/dmapool.o
  CC      mm/sparse.o
  CC      mm/ksm.o
  CC      mm/slub.o
  CC      mm/memory_hotplug.o
  LD      mm/built-in.o
  CC      fs/open.o
  CC      fs/read_write.o
  CC      fs/file_table.o
  CC      fs/super.o
  CC      fs/char_dev.o
  CC      fs/stat.o
  CC      fs/exec.o
/home/test/linux-2.6/fs/exec.c: In function 'copy_strings':
/home/test/linux-2.6/fs/exec.c:435:7: warning: 'len' may be used uninitialized in this function
  CC      fs/pipe.o
  CC      fs/namei.o
  CC      fs/fcntl.o
  CC      fs/ioctl.o
  CC      fs/readdir.o
  CC      fs/select.o
  CC      fs/fifo.o
  CC      fs/dcache.o
/home/test/linux-2.6/fs/dcache.c: In function 'd_materialise_unique':
/home/test/linux-2.6/fs/dcache.c:1905:1: warning: control reaches end of non-void function
  CC      fs/inode.o
  CC      fs/attr.o
  CC      fs/bad_inode.o
  CC      fs/file.o
  CC      fs/filesystems.o
  CC      fs/namespace.o
  CC      fs/seq_file.o
  CC      fs/xattr.o
  CC      fs/libfs.o
  CC      fs/fs-writeback.o
  CC      fs/pnode.o
  CC      fs/drop_caches.o
  CC      fs/splice.o
  CC      fs/sync.o
  CC      fs/utimes.o
  CC      fs/stack.o
  CC      fs/fs_struct.o
  CC      fs/statfs.o
  CC      fs/no-block.o
  CC      fs/debugfs/inode.o
  CC      fs/debugfs/file.o
  LD      fs/debugfs/debugfs.o
  LD      fs/debugfs/built-in.o
  LD      fs/devpts/built-in.o
  CC      fs/fuse/dev.o
  CC      fs/fuse/dir.o
  CC      fs/fuse/file.o
  CC      fs/fuse/inode.o
  CC      fs/fuse/control.o
  LD      fs/fuse/fuse.o
  CC      fs/fuse/cuse.o
/home/test/linux-2.6/fs/fuse/cuse.c: In function 'cuse_process_init_reply':
/home/test/linux-2.6/fs/fuse/cuse.c:269:8: warning: 'key' may be used uninitialized in this function
/home/test/linux-2.6/fs/fuse/cuse.c:269:8: note: 'key' was declared here
/home/test/linux-2.6/fs/fuse/cuse.c:269:14: warning: 'val' may be used uninitialized in this function
/home/test/linux-2.6/fs/fuse/cuse.c:269:14: note: 'val' was declared here
  LD      fs/fuse/built-in.o
  CC      fs/notify/fsnotify.o
  CC      fs/notify/notification.o
  CC      fs/notify/group.o
  CC      fs/notify/inode_mark.o
  CC      fs/notify/mark.o
  CC      fs/notify/vfsmount_mark.o
  CC      fs/notify/dnotify/dnotify.o
  LD      fs/notify/dnotify/built-in.o
  CC      fs/notify/fanotify/fanotify.o
/home/test/linux-2.6/fs/notify/fanotify/fanotify.c: In function 'fanotify_should_send_event':
/home/test/linux-2.6/fs/notify/fanotify/fanotify.c:167:8: warning: 'marks_mask' may be used uninitialized in this function
/home/test/linux-2.6/fs/notify/fanotify/fanotify.c:167:20: warning: 'marks_ignored_mask' may be used uninitialized in this function
  CC      fs/notify/fanotify/fanotify_user.o
  LD      fs/notify/fanotify/built-in.o
  LD      fs/notify/inotify/built-in.o
  LD      fs/notify/built-in.o
  CC      fs/proc/mmu.o
  CC      fs/proc/task_mmu.o
  CC      fs/proc/inode.o
  CC      fs/proc/root.o
  CC      fs/proc/base.o
  CC      fs/proc/generic.o
  CC      fs/proc/array.o
  CC      fs/proc/proc_tty.o
  CC      fs/proc/cmdline.o
  CC      fs/proc/cpuinfo.o
  CC      fs/proc/devices.o
  CC      fs/proc/interrupts.o
  CC      fs/proc/loadavg.o
  CC      fs/proc/meminfo.o
  CC      fs/proc/proc_console.o
  CC      fs/proc/stat.o
  CC      fs/proc/uptime.o
  CC      fs/proc/version.o
  CC      fs/proc/softirqs.o
  CC      fs/proc/kmsg.o
  CC      fs/proc/page.o
  LD      fs/proc/proc.o
  LD      fs/proc/built-in.o
  CC      fs/ramfs/inode.o
  CC      fs/ramfs/file-mmu.o
  LD      fs/ramfs/ramfs.o
  LD      fs/ramfs/built-in.o
  CC      fs/anon_inodes.o
  CC      fs/timerfd.o
  CC      fs/aio.o
  CC      fs/locks.o
/home/test/linux-2.6/fs/locks.c: In function 'sys_flock':
/home/test/linux-2.6/fs/locks.c:1614:20: warning: 'lock' may be used uninitialized in this function
  CC      fs/binfmt_misc.o
  CC      fs/binfmt_script.o
  CC      fs/binfmt_elf.o
  CC      fs/dcookies.o
  LD      fs/built-in.o
  CC      ipc/util.o
  CC      ipc/msgutil.o
  CC      ipc/msg.o
  CC      ipc/sem.o
/home/test/linux-2.6/ipc/sem.c: In function 'copy_semundo':
/home/test/linux-2.6/ipc/sem.c:1501:24: warning: 'undo_list' may be used uninitialized in this function
  CC      ipc/shm.o
  CC      ipc/ipcns_notifier.o
  CC      ipc/syscall.o
  LD      ipc/built-in.o
  CC      security/keys/gc.o
  CC      security/keys/key.o
  CC      security/keys/keyring.o
  CC      security/keys/keyctl.o
  CC      security/keys/permission.o
  CC      security/keys/process_keys.o
  CC      security/keys/request_key.o
  CC      security/keys/request_key_auth.o
  CC      security/keys/user_defined.o
  CC      security/keys/proc.o
  LD      security/keys/built-in.o
  CC      security/commoncap.o
  CC      security/min_addr.o
  CC      security/inode.o
  LD      security/built-in.o
  LD      crypto/built-in.o
  LD      drivers/accessibility/braille/built-in.o
  LD      drivers/accessibility/built-in.o
  CC      drivers/base/core.o
  CC      drivers/base/sys.o
  CC      drivers/base/bus.o
  CC      drivers/base/dd.o
  CC      drivers/base/driver.o
  CC      drivers/base/class.o
  CC      drivers/base/platform.o
  CC      drivers/base/cpu.o
  CC      drivers/base/firmware.o
  CC      drivers/base/init.o
  CC      drivers/base/map.o
  CC      drivers/base/devres.o
  CC      drivers/base/attribute_container.o
  CC      drivers/base/transport_class.o
  CC      drivers/base/devtmpfs.o
  CC      drivers/base/power/sysfs.o
  CC      drivers/base/power/main.o
/home/test/linux-2.6/drivers/base/power/main.c: In function 'pm_noirq_op':
/home/test/linux-2.6/drivers/base/power/main.c:307:10: warning: 'calltime.tv64' may be used uninitialized in this function
  CC      drivers/base/power/wakeup.o
  CC      drivers/base/power/generic_ops.o
  LD      drivers/base/power/built-in.o
  CC      drivers/base/dma-mapping.o
  CC      drivers/base/firmware_class.o
  CC      drivers/base/memory.o
  CC      drivers/base/topology.o
  LD      drivers/base/built-in.o
  CC      drivers/char/mem.o
  CC      drivers/char/random.o
  CC      drivers/char/ttyprintk.o
  CC      drivers/char/misc.o
  CC      drivers/char/specialix.o
  CC      drivers/char/riscom8.o
  CC      drivers/char/nvram.o
  CC      drivers/char/i8k.o
  CC      drivers/char/tpm/tpm.o
  CC      drivers/char/tpm/tpm_atmel.o
/home/test/linux-2.6/drivers/char/tpm/tpm_atmel.c: In function 'init_atmel':
/home/test/linux-2.6/drivers/char/tpm/tpm_atmel.c:194:16: warning: 'base' may be used uninitialized in this function
  LD      drivers/char/tpm/built-in.o
  CC      drivers/char/ramoops.o
  LD      drivers/char/built-in.o
  CC      drivers/cpufreq/cpufreq.o
  CC      drivers/cpufreq/cpufreq_powersave.o
  CC      drivers/cpufreq/cpufreq_userspace.o
  CC      drivers/cpufreq/cpufreq_conservative.o
  CC      drivers/cpufreq/freq_table.o
  LD      drivers/cpufreq/built-in.o
  CC      drivers/cpuidle/cpuidle.o
  CC      drivers/cpuidle/driver.o
  CC      drivers/cpuidle/governor.o
  CC      drivers/cpuidle/sysfs.o
  CC      drivers/cpuidle/governors/ladder.o
  CC      drivers/cpuidle/governors/menu.o
  LD      drivers/cpuidle/governors/built-in.o
  LD      drivers/cpuidle/built-in.o
  CC      drivers/edac/edac_stub.o
  CC      drivers/edac/edac_mc.o
  CC      drivers/edac/edac_device.o
  CC      drivers/edac/edac_mc_sysfs.o
  CC      drivers/edac/edac_pci_sysfs.o
  CC      drivers/edac/edac_module.o
  CC      drivers/edac/edac_device_sysfs.o
  LD      drivers/edac/edac_core.o
  LD      drivers/edac/built-in.o
  LD      drivers/firewire/built-in.o
  CC      drivers/firmware/dmi_scan.o
  CC      drivers/firmware/dell_rbu.o
  CC      drivers/firmware/dcdbas.o
  LD      drivers/firmware/built-in.o
  LD      drivers/gpio/built-in.o
  CC      drivers/gpu/drm/drm_auth.o
  CC      drivers/gpu/drm/drm_buffer.o
  CC      drivers/gpu/drm/drm_bufs.o
/home/test/linux-2.6/drivers/gpu/drm/drm_bufs.c: In function 'drm_rmmap_locked':
/home/test/linux-2.6/drivers/gpu/drm/drm_bufs.c:429:21: warning: 'master' may be used uninitialized in this function
  CC      drivers/gpu/drm/drm_cache.o
  CC      drivers/gpu/drm/drm_context.o
  CC      drivers/gpu/drm/drm_dma.o
  CC      drivers/gpu/drm/drm_drv.o
  CC      drivers/gpu/drm/drm_fops.o
  CC      drivers/gpu/drm/drm_gem.o
  CC      drivers/gpu/drm/drm_ioctl.o
  CC      drivers/gpu/drm/drm_irq.o
  CC      drivers/gpu/drm/drm_lock.o
  CC      drivers/gpu/drm/drm_memory.o
  CC      drivers/gpu/drm/drm_proc.o
  CC      drivers/gpu/drm/drm_stub.o
  CC      drivers/gpu/drm/drm_vm.o
  CC      drivers/gpu/drm/drm_agpsupport.o
  CC      drivers/gpu/drm/drm_scatter.o
  CC      drivers/gpu/drm/ati_pcigart.o
  CC      drivers/gpu/drm/drm_pci.o
  CC      drivers/gpu/drm/drm_platform.o
  CC      drivers/gpu/drm/drm_sysfs.o
  CC      drivers/gpu/drm/drm_hashtab.o
  CC      drivers/gpu/drm/drm_sman.o
  CC      drivers/gpu/drm/drm_mm.o
  CC      drivers/gpu/drm/drm_crtc.o
  CC      drivers/gpu/drm/drm_modes.o
  CC      drivers/gpu/drm/drm_edid.o
  CC      drivers/gpu/drm/drm_info.o
  CC      drivers/gpu/drm/drm_debugfs.o
  CC      drivers/gpu/drm/drm_encoder_slave.o
  CC      drivers/gpu/drm/drm_trace_points.o
  CC      drivers/gpu/drm/drm_global.o
  LD      drivers/gpu/drm/drm.o
  LD      drivers/gpu/drm/built-in.o
  LD      drivers/gpu/built-in.o
  CC      drivers/hwmon/hwmon.o
  CC      drivers/hwmon/hwmon-vid.o
  CC      drivers/hwmon/asb100.o
  CC      drivers/hwmon/w83627hf.o
  CC      drivers/hwmon/w83793.o
  CC      drivers/hwmon/abituguru.o
  CC      drivers/hwmon/abituguru3.o
  CC      drivers/hwmon/adm1021.o
  CC      drivers/hwmon/adm1026.o
  CC      drivers/hwmon/adm9240.o
  CC      drivers/hwmon/ads7828.o
  CC      drivers/hwmon/ads7871.o
  CC      drivers/hwmon/adt7462.o
  CC      drivers/hwmon/adt7470.o
  CC      drivers/hwmon/adt7475.o
  CC      drivers/hwmon/asc7621.o
  CC      drivers/hwmon/atxp1.o
  CC      drivers/hwmon/pkgtemp.o
  CC      drivers/hwmon/dme1737.o
  CC      drivers/hwmon/ds1621.o
  CC      drivers/hwmon/f71805f.o
  CC      drivers/hwmon/f71882fg.o
  CC      drivers/hwmon/fschmd.o
  CC      drivers/hwmon/gl518sm.o
  CC      drivers/hwmon/gl520sm.o
  CC      drivers/hwmon/it87.o
  CC      drivers/hwmon/lis3lv02d.o
  CC      drivers/hwmon/lis3lv02d_spi.o
  CC      drivers/hwmon/lm75.o
  CC      drivers/hwmon/lm77.o
  CC      drivers/hwmon/lm80.o
  CC      drivers/hwmon/lm85.o
  CC      drivers/hwmon/lm87.o
  CC      drivers/hwmon/lm90.o
/home/test/linux-2.6/drivers/hwmon/lm90.c: In function 'lm90_detect':
/home/test/linux-2.6/drivers/hwmon/lm90.c:1092:14: warning: 'chip_id' may be used uninitialized in this function
/home/test/linux-2.6/drivers/hwmon/lm90.c:1092:23: warning: 'reg_config1' may be used uninitialized in this function
/home/test/linux-2.6/drivers/hwmon/lm90.c:1092:36: warning: 'reg_convrate' may be used uninitialized in this function
/home/test/linux-2.6/drivers/hwmon/lm90.c:1159:18: warning: 'reg_emerg2' may be used uninitialized in this function
/home/test/linux-2.6/drivers/hwmon/lm90.c:1159:30: warning: 'reg_status2' may be used uninitialized in this function
  CC      drivers/hwmon/ltc4261.o
  CC      drivers/hwmon/pc87360.o
  CC      drivers/hwmon/pcf8591.o
  CC      drivers/hwmon/smsc47b397.o
/home/test/linux-2.6/drivers/hwmon/smsc47b397.c: In function 'smsc47b397_init':
/home/test/linux-2.6/drivers/hwmon/smsc47b397.c:379:17: warning: 'address' may be used uninitialized in this function
  CC      drivers/hwmon/amc6821.o
  CC      drivers/hwmon/tmp421.o
  CC      drivers/hwmon/w83l785ts.o
  CC      drivers/hwmon/wm831x-hwmon.o
  CC      drivers/hwmon/wm8350-hwmon.o
  LD      drivers/hwmon/built-in.o
  CC      drivers/i2c/i2c-boardinfo.o
  CC      drivers/i2c/i2c-core.o
  CC      drivers/i2c/i2c-smbus.o
  CC      drivers/i2c/i2c-dev.o
  CC      drivers/i2c/i2c-mux.o
  CC      drivers/i2c/algos/i2c-algo-bit.o
  CC      drivers/i2c/algos/i2c-algo-pca.o
  LD      drivers/i2c/algos/built-in.o
  CC      drivers/i2c/busses/i2c-pca-platform.o
  CC      drivers/i2c/busses/i2c-simtec.o
  CC      drivers/i2c/busses/i2c-parport-light.o
  CC      drivers/i2c/busses/i2c-taos-evm.o
  LD      drivers/i2c/busses/built-in.o
  CC      drivers/i2c/muxes/pca9541.o
  LD      drivers/i2c/muxes/built-in.o
  LD      drivers/i2c/built-in.o
  CC      drivers/input/input.o
  CC      drivers/input/input-compat.o
  CC      drivers/input/input-mt.o
  CC      drivers/input/ff-core.o
  LD      drivers/input/input-core.o
  CC      drivers/input/ff-memless.o
  CC      drivers/input/input-polldev.o
  CC      drivers/input/sparse-keymap.o
  CC      drivers/input/mousedev.o
  CC      drivers/input/joystick/a3d.o
  CC      drivers/input/joystick/gf2k.o
  CC      drivers/input/joystick/grip.o
  CC      drivers/input/joystick/grip_mp.o
  CC      drivers/input/joystick/iforce/iforce-ff.o
  CC      drivers/input/joystick/iforce/iforce-main.o
  CC      drivers/input/joystick/iforce/iforce-packets.o
  LD      drivers/input/joystick/iforce/iforce.o
  LD      drivers/input/joystick/iforce/built-in.o
  CC      drivers/input/joystick/joydump.o
  CC      drivers/input/joystick/magellan.o
  CC      drivers/input/joystick/spaceorb.o
  CC      drivers/input/joystick/twidjoy.o
  LD      drivers/input/joystick/built-in.o
  CC      drivers/input/misc/ad714x.o
  CC      drivers/input/misc/adxl34x.o
  CC      drivers/input/misc/cma3000_d0x.o
  CC      drivers/input/misc/pcspkr.o
  LD      drivers/input/misc/built-in.o
  CC      drivers/input/mouse/psmouse-base.o
  CC      drivers/input/mouse/synaptics.o
  CC      drivers/input/mouse/alps.o
  CC      drivers/input/mouse/sentelic.o
/home/test/linux-2.6/drivers/input/mouse/sentelic.c: In function 'fsp_init':
/home/test/linux-2.6/drivers/input/mouse/sentelic.c:815:16: warning: 'buttons' may be used uninitialized in this function
  CC      drivers/input/mouse/trackpoint.o
  CC      drivers/input/mouse/touchkit_ps2.o
  LD      drivers/input/mouse/psmouse.o
  CC      drivers/input/mouse/synaptics_i2c.o
  CC      drivers/input/mouse/vsxxxaa.o
  LD      drivers/input/mouse/built-in.o
  CC      drivers/input/touchscreen/ad7877.o
  CC      drivers/input/touchscreen/dynapro.o
  CC      drivers/input/touchscreen/eeti_ts.o
  CC      drivers/input/touchscreen/elo.o
  CC      drivers/input/touchscreen/mcs5000_ts.o
  CC      drivers/input/touchscreen/mtouch.o
  CC      drivers/input/touchscreen/mk712.o
  CC      drivers/input/touchscreen/penmount.o
  CC      drivers/input/touchscreen/qt602240_ts.o
  CC      drivers/input/touchscreen/touchwin.o
  CC      drivers/input/touchscreen/wacom_w8001.o
  CC      drivers/input/touchscreen/tps6507x-ts.o
  LD      drivers/input/touchscreen/built-in.o
  LD      drivers/input/built-in.o
  CC      drivers/input/gameport/gameport.o
  LD      drivers/input/gameport/built-in.o
  CC      drivers/input/serio/serio.o
  CC      drivers/input/serio/i8042.o
  CC      drivers/input/serio/serport.o
  CC      drivers/input/serio/ct82c710.o
  CC      drivers/input/serio/libps2.o
  LD      drivers/input/serio/built-in.o
  CC      drivers/leds/led-core.o
  LD      drivers/leds/built-in.o
  CC      drivers/mfd/sm501.o
  CC      drivers/mfd/stmpe.o
  CC      drivers/mfd/wm8400-core.o
  CC      drivers/mfd/max8925-core.o
  CC      drivers/mfd/max8925-i2c.o
  CC      drivers/mfd/wm831x-core.o
  CC      drivers/mfd/wm831x-irq.o
  CC      drivers/mfd/wm831x-otp.o
  CC      drivers/mfd/wm8350-core.o
  CC      drivers/mfd/wm8350-regmap.o
  CC      drivers/mfd/wm8350-gpio.o
  CC      drivers/mfd/wm8350-irq.o
  LD      drivers/mfd/wm831x.o
  CC      drivers/mfd/wm831x-i2c.o
  CC      drivers/mfd/wm831x-spi.o
  LD      drivers/mfd/wm8350.o
  CC      drivers/mfd/wm8350-i2c.o
  CC      drivers/mfd/wm8994-core.o
  CC      drivers/mfd/wm8994-irq.o
  CC      drivers/mfd/mc13xxx-core.o
/home/test/linux-2.6/drivers/mfd/mc13xxx-core.c: In function 'mc13xxx_probe':
/home/test/linux-2.6/drivers/mfd/mc13xxx-core.c:716:18: warning: 'id' may be used uninitialized in this function
  CC      drivers/mfd/mfd-core.o
  CC      drivers/mfd/da903x.o
/home/test/linux-2.6/drivers/mfd/da903x.c: In function 'da9034_init_chip':
/home/test/linux-2.6/drivers/mfd/da903x.c:312:10: warning: 'chip_id' may be used uninitialized in this function
/home/test/linux-2.6/drivers/mfd/da903x.c: In function 'da9030_init_chip':
/home/test/linux-2.6/drivers/mfd/da903x.c:251:10: warning: 'chip_id' may be used uninitialized in this function
/home/test/linux-2.6/drivers/mfd/da903x.c: In function 'da903x_set_bits':
/home/test/linux-2.6/drivers/mfd/da903x.c:176:10: warning: 'reg_val' may be used uninitialized in this function
/home/test/linux-2.6/drivers/mfd/da903x.c: In function 'da903x_clr_bits':
/home/test/linux-2.6/drivers/mfd/da903x.c:198:10: warning: 'reg_val' may be used uninitialized in this function
/home/test/linux-2.6/drivers/mfd/da903x.c: In function 'da903x_update':
/home/test/linux-2.6/drivers/mfd/da903x.c:220:10: warning: 'reg_val' may be used uninitialized in this function
  LD      drivers/mfd/max8925.o
  CC      drivers/mfd/abx500-core.o
  CC      drivers/mfd/ab3100-core.o
  CC      drivers/mfd/ab3100-otp.o
  LD      drivers/mfd/built-in.o
  CC      drivers/misc/enclosure.o
  CC      drivers/misc/apds9802als.o
  CC      drivers/misc/c2port/core.o
  CC      drivers/misc/c2port/c2port-duramar2150.o
  LD      drivers/misc/c2port/built-in.o
  CC      drivers/misc/eeprom/max6875.o
  CC      drivers/misc/eeprom/eeprom_93cx6.o
  LD      drivers/misc/eeprom/built-in.o
  CC      drivers/misc/hmc6352.o
  CC      drivers/misc/vmw_balloon.o
/home/test/linux-2.6/drivers/misc/vmw_balloon.c: In function 'vmballoon_work':
/home/test/linux-2.6/drivers/misc/vmw_balloon.c:654:15: warning: 'target' may be used uninitialized in this function
  LD      drivers/misc/built-in.o
  CC      drivers/mtd/mtdcore.o
  CC      drivers/mtd/mtdsuper.o
  LD      drivers/mtd/mtd.o
  CC      drivers/mtd/mtdchar.o
  CC      drivers/mtd/mtdoops.o
  CC      drivers/mtd/chips/chipreg.o
  CC      drivers/mtd/chips/cfi_probe.o
  CC      drivers/mtd/chips/cfi_util.o
  CC      drivers/mtd/chips/cfi_cmdset_0020.o
  CC      drivers/mtd/chips/cfi_cmdset_0002.o
  CC      drivers/mtd/chips/cfi_cmdset_0001.o
  CC      drivers/mtd/chips/gen_probe.o
  CC      drivers/mtd/chips/jedec_probe.o
  CC      drivers/mtd/chips/map_rom.o
  LD      drivers/mtd/chips/built-in.o
  CC      drivers/mtd/devices/doc2000.o
  CC      drivers/mtd/devices/doc2001plus.o
  CC      drivers/mtd/devices/docprobe.o
  CC      drivers/mtd/devices/docecc.o
  CC      drivers/mtd/devices/slram.o
  CC      drivers/mtd/devices/phram.o
/home/test/linux-2.6/drivers/mtd/devices/phram.c: In function 'phram_setup':
/home/test/linux-2.6/drivers/mtd/devices/phram.c:239:8: warning: 'name' may be used uninitialized in this function
  CC      drivers/mtd/devices/m25p80.o
  CC      drivers/mtd/devices/sst25l.o
  LD      drivers/mtd/devices/built-in.o
  CC      drivers/mtd/lpddr/qinfo_probe.o
  CC      drivers/mtd/lpddr/lpddr_cmds.o
  LD      drivers/mtd/lpddr/built-in.o
  CC      drivers/mtd/maps/map_funcs.o
/home/test/linux-2.6/drivers/mtd/maps/map_funcs.c: In function 'simple_map_read':
/home/test/linux-2.6/include/linux/mtd/map.h:393:11: warning: 'r$x$0' may be used uninitialized in this function
/home/test/linux-2.6/include/linux/mtd/map.h:393:11: note: 'r$x$0' was declared here
  CC      drivers/mtd/maps/l440gx.o
  CC      drivers/mtd/maps/amd76xrom.o
  CC      drivers/mtd/maps/ichxrom.o
  CC      drivers/mtd/maps/physmap.o
  LD      drivers/mtd/maps/built-in.o
  CC      drivers/mtd/nand/nand_base.o
  CC      drivers/mtd/nand/nand_bbt.o
  LD      drivers/mtd/nand/nand.o
  CC      drivers/mtd/nand/nand_ecc.o
  CC      drivers/mtd/nand/nand_ids.o
  CC      drivers/mtd/nand/diskonchip.o
  CC      drivers/mtd/nand/plat_nand.o
  LD      drivers/mtd/nand/built-in.o
  LD      drivers/mtd/built-in.o
  LD      drivers/net/built-in.o
  CC      drivers/serial/serial_core.o
  CC      drivers/serial/8250.o
  CC      drivers/serial/max3100.o
  CC      drivers/serial/timbuart.o
  CC      drivers/serial/altera_jtaguart.o
  LD      drivers/serial/built-in.o
  CC      drivers/spi/spi.o
  CC      drivers/spi/spi_bitbang.o
  CC      drivers/spi/spidev.o
  LD      drivers/spi/built-in.o
  CC      drivers/staging/staging.o
  LD      drivers/staging/built-in.o
  CC      drivers/thermal/thermal_sys.o
  LD      drivers/thermal/built-in.o
  CC      drivers/tty/tty_io.o
  CC      drivers/tty/n_tty.o
  CC      drivers/tty/tty_ioctl.o
  CC      drivers/tty/tty_ldisc.o
  CC      drivers/tty/tty_buffer.o
  CC      drivers/tty/tty_port.o
  CC      drivers/tty/tty_mutex.o
  CC      drivers/tty/vt/vt_ioctl.o
/home/test/linux-2.6/drivers/tty/vt/vt_ioctl.c: In function 'vt_ioctl':
/home/test/linux-2.6/drivers/tty/vt/vt_ioctl.c:1122:13: warning: 'cc' may be used uninitialized in this function
  CC      drivers/tty/vt/vc_screen.o
  CC      drivers/tty/vt/selection.o
  CC      drivers/tty/vt/keyboard.o
  CC      drivers/tty/vt/consolemap.o
/home/test/linux-2.6/drivers/tty/vt/consolemap.c: In function 'conv_uni_to_pc':
/home/test/linux-2.6/drivers/tty/vt/consolemap.c:699:6: warning: 'h' may be used uninitialized in this function
  CC      drivers/tty/vt/consolemap_deftbl.o
  CC      drivers/tty/vt/vt.o
  CC      drivers/tty/vt/defkeymap.o
  LD      drivers/tty/vt/built-in.o
  LD      drivers/tty/built-in.o
  CC      drivers/vbus/bus-proxy.o
  LD      drivers/vbus/vbus-proxy.o
  LD      drivers/vbus/built-in.o
  CC      drivers/video/fb_notify.o
  CC      drivers/video/backlight/lcd.o
  CC      drivers/video/backlight/ili9320.o
  CC      drivers/video/backlight/vgg2432a4.o
  CC      drivers/video/backlight/s6e63m0.o
  CC      drivers/video/backlight/backlight.o
  CC      drivers/video/backlight/da903x_bl.o
  LD      drivers/video/backlight/built-in.o
  CC      drivers/video/console/dummycon.o
  CC      drivers/video/console/vgacon.o
  LD      drivers/video/console/built-in.o
  CC      drivers/video/display/display-sysfs.o
  LD      drivers/video/display/display.o
  LD      drivers/video/display/built-in.o
  LD      drivers/video/built-in.o
  CC      drivers/xen/grant-table.o
/home/test/linux-2.6/drivers/xen/grant-table.c: In function 'get_free_entries':
/home/test/linux-2.6/drivers/xen/grant-table.c:85:11: warning: 'rc' may be used uninitialized in this function
  CC      drivers/xen/features.o
  CC      drivers/xen/events.o
/home/test/linux-2.6/drivers/xen/events.c: In function 'find_unbound_irq':
/home/test/linux-2.6/drivers/xen/events.c:441:4: warning: format '%ld' expects type 'long int', but argument 2 has type 'int'
/home/test/linux-2.6/drivers/xen/events.c: At top level:
/home/test/linux-2.6/drivers/xen/events.c:387:12: warning: 'find_unbound_pirq' defined but not used
  CC      drivers/xen/manage.o
  CC      drivers/xen/xenbus/xenbus_client.o
  CC      drivers/xen/xenbus/xenbus_comms.o
  CC      drivers/xen/xenbus/xenbus_xs.o
  CC      drivers/xen/xenbus/xenbus_probe.o
  LD      drivers/xen/xenbus/xenbus.o
  LD      drivers/xen/xenbus/built-in.o
  CC      drivers/xen/xenfs/super.o
  CC      drivers/xen/xenfs/xenbus.o
  CC      drivers/xen/xenfs/privcmd.o
  LD      drivers/xen/xenfs/xenfs.o
  LD      drivers/xen/xenfs/built-in.o
  CC      drivers/xen/tmem.o
/home/test/linux-2.6/drivers/xen/tmem.c: In function 'xen_tmem_init':
/home/test/linux-2.6/drivers/xen/tmem.c:246:24: warning: unused variable 'old_ops'
/home/test/linux-2.6/drivers/xen/tmem.c: At top level:
/home/test/linux-2.6/drivers/xen/tmem.c:234:30: warning: 'tmem_cleancache_ops' defined but not used
  CC      drivers/xen/cpu_hotplug.o
  CC      drivers/xen/platform-pci.o
  LD      drivers/xen/built-in.o
  LD      drivers/built-in.o
  CC      arch/x86/power/cpu.o
  LD      arch/x86/power/built-in.o
  CC      net/nonet.o
  LD      net/built-in.o
  CC      lib/bcd.o
  CC      lib/div64.o
  CC      lib/sort.o
  CC      lib/parser.o
  CC      lib/halfmd4.o
  CC      lib/debug_locks.o
  CC      lib/random32.o
  CC      lib/bust_spinlocks.o
  CC      lib/hexdump.o
  CC      lib/kasprintf.o
  CC      lib/bitmap.o
  CC      lib/scatterlist.o
  CC      lib/string_helpers.o
  CC      lib/gcd.o
  CC      lib/lcm.o
  CC      lib/list_sort.o
  CC      lib/uuid.o
  CC      lib/iomap.o
  CC      lib/iomap_copy.o
  CC      lib/devres.o
  CC      lib/find_last_bit.o
  CC      lib/hweight.o
  CC      lib/bitrev.o
  CC      lib/crc16.o
  CC      lib/crc-t10dif.o
  CC      lib/crc-itu-t.o
  CC      lib/crc32.o
  CC      lib/crc7.o
  CC      lib/reed_solomon/reed_solomon.o
  LD      lib/reed_solomon/built-in.o
  CC      lib/percpu_counter.o
  CC      lib/shm_signal.o
  CC      lib/ioq.o
  CC      lib/swiotlb.o
  CC      lib/iommu-helper.o
  CC      lib/syscall.o
  LD      lib/built-in.o
  CC      lib/argv_split.o
  CC      lib/cmdline.o
  CC      lib/cpumask.o
  CC      lib/ctype.o
  CC      lib/dec_and_lock.o
  CC      lib/decompress.o
  CC      lib/dump_stack.o
  CC      lib/extable.o
  CC      lib/find_next_bit.o
  CC      lib/flex_array.o
  CC      lib/idr.o
  CC      lib/int_sqrt.o
  CC      lib/ioremap.o
  CC      lib/irq_regs.o
  CC      lib/is_single_threaded.o
  CC      lib/klist.o
  CC      lib/kobject.o
  CC      lib/kobject_uevent.o
  CC      lib/kref.o
  CC      lib/plist.o
  CC      lib/prio_heap.o
  CC      lib/prio_tree.o
  CC      lib/proportions.o
  CC      lib/radix-tree.o
  CC      lib/ratelimit.o
  CC      lib/rbtree.o
  CC      lib/reciprocal_div.o
  CC      lib/rwsem.o
  CC      lib/sha1.o
  CC      lib/show_mem.o
  CC      lib/string.o
  CC      lib/timerlist.o
  CC      lib/vsprintf.o
  AR      lib/lib.a
  CC      arch/x86/lib/msr-smp.o
  CC      arch/x86/lib/cache-smp.o
  CC      arch/x86/lib/msr.o
  AS      arch/x86/lib/msr-reg.o
  CC      arch/x86/lib/msr-reg-export.o
  AS      arch/x86/lib/iomap_copy_64.o
  LD      arch/x86/lib/built-in.o
  AS      arch/x86/lib/clear_page_64.o
  AS      arch/x86/lib/copy_page_64.o
  AS      arch/x86/lib/copy_user_64.o
  AS      arch/x86/lib/copy_user_nocache_64.o
  AS      arch/x86/lib/csum-copy_64.o
  CC      arch/x86/lib/csum-partial_64.o
  CC      arch/x86/lib/csum-wrappers_64.o
  CC      arch/x86/lib/delay.o
  AS      arch/x86/lib/getuser.o
  CC      arch/x86/lib/inat.o
  CC      arch/x86/lib/insn.o
  AS      arch/x86/lib/memcpy_64.o
  CC      arch/x86/lib/memmove_64.o
  AS      arch/x86/lib/memset_64.o
  AS      arch/x86/lib/putuser.o
  AS      arch/x86/lib/rwlock_64.o
  AS      arch/x86/lib/rwsem_64.o
  AS      arch/x86/lib/thunk_64.o
  CC      arch/x86/lib/usercopy_64.o
  AR      arch/x86/lib/lib.a
  LD      vmlinux.o
  MODPOST vmlinux.o
WARNING: modpost: Found 14 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
  GEN     .version
  CHK     include/generated/compile.h
  UPD     include/generated/compile.h
  CC      init/version.o
  LD      init/built-in.o
  LD      .tmp_vmlinux1
arch/x86/built-in.o: In function `kvm_smp_prepare_boot_cpu':
kvm.c:(.init.text+0xf446): undefined reference to `kvm_register_clock'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x1087ee): undefined reference to `__alloc_skb'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x108897): undefined reference to `skb_put'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x108930): undefined reference to `kfree_skb'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x108947): undefined reference to `nla_reserve'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x108990): undefined reference to `kfree_skb'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x1089e9): undefined reference to `kfree_skb'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x1089f8): undefined reference to `init_net'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x108a0b): undefined reference to `netlink_broadcast'
drivers/built-in.o: In function `thermal_init':
thermal_sys.c:(.init.text+0xbd00): undefined reference to `genl_register_family'
thermal_sys.c:(.init.text+0xbd2f): undefined reference to `genl_register_mc_group'
thermal_sys.c:(.init.text+0xbd57): undefined reference to `genl_unregister_family'
drivers/built-in.o: In function `thermal_exit':
thermal_sys.c:(.exit.text+0x154c): undefined reference to `genl_unregister_family'
make[1]: *** [.tmp_vmlinux1] Error 1
make: *** [sub-make] Error 2

[-- Attachment #3: 10-12-13-17-00-09-config --]
[-- Type: application/octet-stream, Size: 28775 bytes --]

#
# Automatically generated make config: don't edit
# Linux/x86_64 2.6.37-rc5 Kernel Configuration
# Mon Dec 13 18:00:12 2010
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_HAVE_CPUMASK_OF_CPU_MAP=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ZONE_DMA32=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_X86_64_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_TRAMPOLINE=y
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"
# CONFIG_KTIME_SCALAR is not set
CONFIG_ARCH_CPU_PROBE_RELEASE=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_CONSTRUCTORS=y
CONFIG_HAVE_IRQ_WORK=y
CONFIG_IRQ_WORK=y

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_LZO=y
# CONFIG_KERNEL_GZIP is not set
CONFIG_KERNEL_BZIP2=y
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_HAVE_GENERIC_HARDIRQS=y

#
# IRQ subsystem
#
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
# CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED is not set
CONFIG_HAVE_SPARSE_IRQ=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
# CONFIG_AUTO_IRQ_AFFINITY is not set
# CONFIG_IRQ_PER_CPU is not set
# CONFIG_HARDIRQS_SW_RESEND is not set
CONFIG_SPARSE_IRQ=y

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
# CONFIG_PREEMPT_RCU is not set
CONFIG_RCU_TRACE=y
CONFIG_RCU_FANOUT=64
# CONFIG_RCU_FANOUT_EXACT is not set
# CONFIG_RCU_FAST_NO_HZ is not set
CONFIG_TREE_RCU_TRACE=y
CONFIG_SRCU_SYNCHRONIZE_DELAY=10
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
# CONFIG_NAMESPACES is not set
# CONFIG_SCHED_AUTOGROUP is not set
CONFIG_RELAY=y
# CONFIG_BLK_DEV_INITRD is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_ANON_INODES=y
CONFIG_EMBEDDED=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
# CONFIG_BUG is not set
# CONFIG_ELF_CORE is not set
CONFIG_PCSPKR_PLATFORM=y
# CONFIG_BASE_FULL is not set
CONFIG_FUTEX=y
# CONFIG_EPOLL is not set
# CONFIG_SIGNALFD is not set
CONFIG_TIMERFD=y
# CONFIG_EVENTFD is not set
# CONFIG_SHMEM is not set
CONFIG_AIO=y
CONFIG_HAVE_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_PERF_COUNTERS is not set
CONFIG_VM_EVENT_COUNTERS=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
# CONFIG_OPROFILE is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_JUMP_LABEL=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y

#
# GCOV-based kernel profiling
#
CONFIG_GCOV_KERNEL=y
# CONFIG_GCOV_PROFILE_ALL is not set
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=1
# CONFIG_MODULES is not set
CONFIG_STOP_MACHINE=y
# CONFIG_BLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK is not set
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
CONFIG_INLINE_SPIN_UNLOCK=y
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_READ_TRYLOCK is not set
# CONFIG_INLINE_READ_LOCK is not set
# CONFIG_INLINE_READ_LOCK_BH is not set
# CONFIG_INLINE_READ_LOCK_IRQ is not set
# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
CONFIG_INLINE_READ_UNLOCK=y
# CONFIG_INLINE_READ_UNLOCK_BH is not set
CONFIG_INLINE_READ_UNLOCK_IRQ=y
# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_WRITE_TRYLOCK is not set
# CONFIG_INLINE_WRITE_LOCK is not set
# CONFIG_INLINE_WRITE_LOCK_BH is not set
# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
CONFIG_INLINE_WRITE_UNLOCK=y
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_FREEZER=y

#
# Processor type and features
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_SMP=y
CONFIG_X86_MPPARSE=y
CONFIG_X86_EXTENDED_PLATFORM=y
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_PARAVIRT_GUEST=y
CONFIG_XEN=y
# CONFIG_XEN_PRIVILEGED_GUEST is not set
CONFIG_XEN_PVHVM=y
CONFIG_XEN_MAX_DOMAIN_MEMORY=128
CONFIG_XEN_SAVE_RESTORE=y
# CONFIG_XEN_DEBUG_FS is not set
# CONFIG_KVM_CLOCK is not set
CONFIG_KVM_GUEST=y
CONFIG_PARAVIRT=y
# CONFIG_PARAVIRT_SPINLOCKS is not set
CONFIG_PARAVIRT_CLOCK=y
CONFIG_NO_BOOTMEM=y
# CONFIG_MEMTEST is not set
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set
CONFIG_GENERIC_CPU=y
CONFIG_X86_CPU=y
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_XADD=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_PROCESSOR_SELECT=y
CONFIG_CPU_SUP_INTEL=y
# CONFIG_CPU_SUP_AMD is not set
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_HPET_TIMER=y
CONFIG_DMI=y
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
# CONFIG_IOMMU_API is not set
CONFIG_NR_CPUS=8
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
CONFIG_X86_MCE_THRESHOLD=y
# CONFIG_X86_MCE_INJECT is not set
CONFIG_X86_THERMAL_VECTOR=y
CONFIG_I8K=y
# CONFIG_MICROCODE is not set
# CONFIG_X86_MSR is not set
# CONFIG_X86_CPUID is not set
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
# CONFIG_DIRECT_GBPAGES is not set
# CONFIG_NUMA is not set
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_MEMORY_PROBE=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
# CONFIG_SPARSEMEM_VMEMMAP is not set
CONFIG_HAVE_MEMBLOCK=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG_SPARSE=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_MIGRATION is not set
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_VIRT_TO_BUS=y
CONFIG_KSM=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
# CONFIG_MEMORY_FAILURE is not set
# CONFIG_CLEANCACHE is not set
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
CONFIG_X86_RESERVE_LOW=64
CONFIG_MTRR=y
# CONFIG_MTRR_SANITIZER is not set
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_SECCOMP=y
# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
CONFIG_HZ_300=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=300
CONFIG_SCHED_HRTICK=y
# CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_HOTPLUG_CPU=y
# CONFIG_CMDLINE_BOOL is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y

#
# Power management and ACPI options
#
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_SLEEP=y
CONFIG_SUSPEND_NVS=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
# CONFIG_PM_RUNTIME is not set
CONFIG_PM_OPS=y
# CONFIG_SFI is not set

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_DEBUG is not set
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
# CONFIG_CPU_FREQ_GOV_PERFORMANCE is not set
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y

#
# CPUFreq processor drivers
#
CONFIG_X86_P4_CLOCKMOD=y

#
# shared options
#
CONFIG_X86_SPEEDSTEP_LIB=y
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y
# CONFIG_INTEL_IDLE is not set

#
# Memory power savings
#
# CONFIG_I7300_IDLE is not set

#
# Bus options (PCI etc.)
#
# CONFIG_PCI is not set
# CONFIG_ARCH_SUPPORTS_MSI is not set
CONFIG_ISA_DMA_API=y
# CONFIG_PCCARD is not set
CONFIG_VBUS_PROXY=y

#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
# CONFIG_HAVE_AOUT is not set
CONFIG_BINFMT_MISC=y
# CONFIG_IA32_EMULATION is not set
# CONFIG_COMPAT_FOR_U64_ALIGNMENT is not set
CONFIG_HAVE_TEXT_POKE_SMP=y
# CONFIG_NET is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_STANDALONE is not set
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_SYS_HYPERVISOR is not set
CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set
# CONFIG_MTD_CONCAT is not set
# CONFIG_MTD_PARTITIONS is not set

#
# User Modules And Translation Layers
#
CONFIG_MTD_CHAR=y
CONFIG_MTD_OOPS=y

#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=y
CONFIG_MTD_JEDECPROBE=y
CONFIG_MTD_GEN_PROBE=y
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
CONFIG_MTD_CFI_INTELEXT=y
CONFIG_MTD_CFI_AMDSTD=y
CONFIG_MTD_CFI_STAA=y
CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_RAM is not set
CONFIG_MTD_ROM=y
# CONFIG_MTD_ABSENT is not set

#
# Mapping drivers for chip access
#
CONFIG_MTD_COMPLEX_MAPPINGS=y
CONFIG_MTD_PHYSMAP=y
CONFIG_MTD_PHYSMAP_COMPAT=y
CONFIG_MTD_PHYSMAP_START=0x8000000
CONFIG_MTD_PHYSMAP_LEN=0
CONFIG_MTD_PHYSMAP_BANKWIDTH=2
# CONFIG_MTD_TS5500 is not set
CONFIG_MTD_AMD76XROM=y
CONFIG_MTD_ICHXROM=y
# CONFIG_MTD_SCB2_FLASH is not set
CONFIG_MTD_L440GX=y
# CONFIG_MTD_PLATRAM is not set

#
# Self-contained MTD device drivers
#
# CONFIG_MTD_DATAFLASH is not set
CONFIG_MTD_M25P80=y
# CONFIG_M25PXX_USE_FAST_READ is not set
CONFIG_MTD_SST25L=y
CONFIG_MTD_SLRAM=y
CONFIG_MTD_PHRAM=y
# CONFIG_MTD_MTDRAM is not set

#
# Disk-On-Chip Device Drivers
#
CONFIG_MTD_DOC2000=y
# CONFIG_MTD_DOC2001 is not set
CONFIG_MTD_DOC2001PLUS=y
CONFIG_MTD_DOCPROBE=y
CONFIG_MTD_DOCECC=y
CONFIG_MTD_DOCPROBE_ADVANCED=y
CONFIG_MTD_DOCPROBE_ADDRESS=0x0000
# CONFIG_MTD_DOCPROBE_HIGH is not set
CONFIG_MTD_DOCPROBE_55AA=y
CONFIG_MTD_NAND_ECC=y
# CONFIG_MTD_NAND_ECC_SMC is not set
CONFIG_MTD_NAND=y
# CONFIG_MTD_NAND_VERIFY_WRITE is not set
# CONFIG_MTD_SM_COMMON is not set
# CONFIG_MTD_NAND_MUSEUM_IDS is not set
CONFIG_MTD_NAND_IDS=y
CONFIG_MTD_NAND_DISKONCHIP=y
CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED=y
CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
CONFIG_MTD_NAND_DISKONCHIP_PROBE_HIGH=y
# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set
CONFIG_MTD_NAND_PLATFORM=y
# CONFIG_MTD_ONENAND is not set

#
# LPDDR flash memory drivers
#
CONFIG_MTD_LPDDR=y
CONFIG_MTD_QINFO_PROBE=y
# CONFIG_MTD_UBI is not set
# CONFIG_PARPORT is not set
CONFIG_MISC_DEVICES=y
# CONFIG_ICS932S401 is not set
CONFIG_ENCLOSURE_SERVICES=y
CONFIG_APDS9802ALS=y
# CONFIG_ISL29020 is not set
# CONFIG_SENSORS_BH1770 is not set
# CONFIG_SENSORS_APDS990X is not set
CONFIG_HMC6352=y
# CONFIG_DS1682 is not set
CONFIG_VMWARE_BALLOON=y
CONFIG_C2PORT=y
CONFIG_C2PORT_DURAMAR_2150=y

#
# EEPROM support
#
CONFIG_EEPROM_MAX6875=y
CONFIG_EEPROM_93CX6=y

#
# Texas Instruments shared transport line discipline
#
CONFIG_HAVE_IDE=y

#
# SCSI device support
#
CONFIG_SCSI_MOD=y
# CONFIG_SCSI_DMA is not set
# CONFIG_SCSI_NETLINK is not set
CONFIG_MACINTOSH_DRIVERS=y
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_POLLDEV=y
CONFIG_INPUT_SPARSEKMAP=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
# CONFIG_INPUT_KEYBOARD is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
# CONFIG_MOUSE_PS2_LOGIPS2PP is not set
CONFIG_MOUSE_PS2_SYNAPTICS=y
# CONFIG_MOUSE_PS2_LIFEBOOK is not set
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_ELANTECH is not set
CONFIG_MOUSE_PS2_SENTELIC=y
CONFIG_MOUSE_PS2_TOUCHKIT=y
# CONFIG_MOUSE_SERIAL is not set
CONFIG_MOUSE_VSXXXAA=y
CONFIG_MOUSE_SYNAPTICS_I2C=y
CONFIG_INPUT_JOYSTICK=y
# CONFIG_JOYSTICK_ANALOG is not set
CONFIG_JOYSTICK_A3D=y
# CONFIG_JOYSTICK_ADI is not set
# CONFIG_JOYSTICK_COBRA is not set
CONFIG_JOYSTICK_GF2K=y
CONFIG_JOYSTICK_GRIP=y
CONFIG_JOYSTICK_GRIP_MP=y
# CONFIG_JOYSTICK_GUILLEMOT is not set
# CONFIG_JOYSTICK_INTERACT is not set
# CONFIG_JOYSTICK_SIDEWINDER is not set
# CONFIG_JOYSTICK_TMDC is not set
CONFIG_JOYSTICK_IFORCE=y
# CONFIG_JOYSTICK_IFORCE_232 is not set
# CONFIG_JOYSTICK_WARRIOR is not set
CONFIG_JOYSTICK_MAGELLAN=y
CONFIG_JOYSTICK_SPACEORB=y
# CONFIG_JOYSTICK_SPACEBALL is not set
# CONFIG_JOYSTICK_STINGER is not set
CONFIG_JOYSTICK_TWIDJOY=y
# CONFIG_JOYSTICK_ZHENHUA is not set
CONFIG_JOYSTICK_JOYDUMP=y
# CONFIG_INPUT_TABLET is not set
CONFIG_INPUT_TOUCHSCREEN=y
# CONFIG_TOUCHSCREEN_ADS7846 is not set
CONFIG_TOUCHSCREEN_AD7877=y
# CONFIG_TOUCHSCREEN_AD7879 is not set
# CONFIG_TOUCHSCREEN_BU21013 is not set
# CONFIG_TOUCHSCREEN_DA9034 is not set
CONFIG_TOUCHSCREEN_DYNAPRO=y
# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
CONFIG_TOUCHSCREEN_EETI=y
# CONFIG_TOUCHSCREEN_FUJITSU is not set
# CONFIG_TOUCHSCREEN_GUNZE is not set
CONFIG_TOUCHSCREEN_ELO=y
CONFIG_TOUCHSCREEN_WACOM_W8001=y
CONFIG_TOUCHSCREEN_MCS5000=y
CONFIG_TOUCHSCREEN_MTOUCH=y
# CONFIG_TOUCHSCREEN_INEXIO is not set
CONFIG_TOUCHSCREEN_MK712=y
CONFIG_TOUCHSCREEN_PENMOUNT=y
CONFIG_TOUCHSCREEN_QT602240=y
# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
CONFIG_TOUCHSCREEN_TOUCHWIN=y
# CONFIG_TOUCHSCREEN_MC13783 is not set
# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
# CONFIG_TOUCHSCREEN_TSC2007 is not set
CONFIG_TOUCHSCREEN_TPS6507X=y
# CONFIG_TOUCHSCREEN_STMPE is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_AD714X=y
# CONFIG_INPUT_AD714X_I2C is not set
# CONFIG_INPUT_AD714X_SPI is not set
CONFIG_INPUT_PCSPKR=y
# CONFIG_INPUT_MAX8925_ONKEY is not set
# CONFIG_INPUT_UINPUT is not set
# CONFIG_INPUT_PCF8574 is not set
# CONFIG_INPUT_WM831X_ON is not set
CONFIG_INPUT_ADXL34X=y
# CONFIG_INPUT_ADXL34X_I2C is not set
# CONFIG_INPUT_ADXL34X_SPI is not set
CONFIG_INPUT_CMA3000=y
# CONFIG_INPUT_CMA3000_I2C is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
CONFIG_SERIO_CT82C710=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
CONFIG_GAMEPORT=y
# CONFIG_GAMEPORT_NS558 is not set
# CONFIG_GAMEPORT_L4 is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
# CONFIG_VT_CONSOLE is not set
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_NONSTANDARD=y
# CONFIG_N_HDLC is not set
CONFIG_RISCOM8=y
CONFIG_SPECIALIX=y
CONFIG_STALDRV=y

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_8250_CONSOLE is not set
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_MANY_PORTS is not set
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
# CONFIG_SERIAL_8250_RSA is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_MAX3100=y
# CONFIG_SERIAL_MAX3107 is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_TIMBERDALE=y
CONFIG_SERIAL_ALTERA_JTAGUART=y
CONFIG_SERIAL_ALTERA_JTAGUART_CONSOLE=y
# CONFIG_SERIAL_ALTERA_JTAGUART_CONSOLE_BYPASS is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_UNIX98_PTYS is not set
# CONFIG_LEGACY_PTYS is not set
CONFIG_TTY_PRINTK=y
# CONFIG_HVC_XEN is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
CONFIG_NVRAM=y
# CONFIG_RTC is not set
# CONFIG_GEN_RTC is not set
# CONFIG_R3964 is not set
# CONFIG_MWAVE is not set
# CONFIG_HANGCHECK_TIMER is not set
CONFIG_TCG_TPM=y
# CONFIG_TCG_TIS is not set
# CONFIG_TCG_NSC is not set
CONFIG_TCG_ATMEL=y
# CONFIG_TELCLOCK is not set
CONFIG_RAMOOPS=y
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
# CONFIG_I2C_COMPAT is not set
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX=y

#
# Multiplexer I2C Chip support
#
CONFIG_I2C_MUX_PCA9541=y
# CONFIG_I2C_MUX_PCA954x is not set
# CONFIG_I2C_HELPER_AUTO is not set
CONFIG_I2C_SMBUS=y

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=y
# CONFIG_I2C_ALGOPCF is not set
CONFIG_I2C_ALGOPCA=y

#
# I2C Hardware Bus support
#

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_PCA_PLATFORM=y
CONFIG_I2C_SIMTEC=y
# CONFIG_I2C_XILINX is not set

#
# External I2C/SMBus adapter drivers
#
CONFIG_I2C_PARPORT_LIGHT=y
CONFIG_I2C_TAOS_EVM=y

#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_DEBUG_CORE is not set
CONFIG_I2C_DEBUG_ALGO=y
# CONFIG_I2C_DEBUG_BUS is not set
CONFIG_SPI=y
CONFIG_SPI_MASTER=y

#
# SPI Master Controller Drivers
#
CONFIG_SPI_BITBANG=y
# CONFIG_SPI_XILINX is not set
# CONFIG_SPI_DESIGNWARE is not set

#
# SPI Protocol Masters
#
CONFIG_SPI_SPIDEV=y

#
# PPS support
#
# CONFIG_PPS is not set
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
# CONFIG_GPIOLIB is not set
# CONFIG_W1 is not set
# CONFIG_POWER_SUPPLY is not set
CONFIG_HWMON=y
CONFIG_HWMON_VID=y
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Native drivers
#
CONFIG_SENSORS_ABITUGURU=y
CONFIG_SENSORS_ABITUGURU3=y
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADCXX is not set
CONFIG_SENSORS_ADM1021=y
# CONFIG_SENSORS_ADM1025 is not set
CONFIG_SENSORS_ADM1026=y
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
CONFIG_SENSORS_ADM9240=y
# CONFIG_SENSORS_ADT7411 is not set
CONFIG_SENSORS_ADT7462=y
CONFIG_SENSORS_ADT7470=y
CONFIG_SENSORS_ADT7475=y
CONFIG_SENSORS_ASC7621=y
CONFIG_SENSORS_ASB100=y
CONFIG_SENSORS_ATXP1=y
CONFIG_SENSORS_DS1621=y
CONFIG_SENSORS_F71805F=y
CONFIG_SENSORS_F71882FG=y
# CONFIG_SENSORS_F75375S is not set
CONFIG_SENSORS_FSCHMD=y
# CONFIG_SENSORS_G760A is not set
CONFIG_SENSORS_GL518SM=y
CONFIG_SENSORS_GL520SM=y
CONFIG_SENSORS_PKGTEMP=y
CONFIG_SENSORS_IT87=y
# CONFIG_SENSORS_JC42 is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM70 is not set
# CONFIG_SENSORS_LM73 is not set
CONFIG_SENSORS_LM75=y
CONFIG_SENSORS_LM77=y
# CONFIG_SENSORS_LM78 is not set
CONFIG_SENSORS_LM80=y
# CONFIG_SENSORS_LM83 is not set
CONFIG_SENSORS_LM85=y
CONFIG_SENSORS_LM87=y
CONFIG_SENSORS_LM90=y
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LTC4215 is not set
# CONFIG_SENSORS_LTC4245 is not set
CONFIG_SENSORS_LTC4261=y
# CONFIG_SENSORS_LM95241 is not set
# CONFIG_SENSORS_MAX1111 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX6650 is not set
CONFIG_SENSORS_PC87360=y
# CONFIG_SENSORS_PC87427 is not set
CONFIG_SENSORS_PCF8591=y
# CONFIG_SENSORS_SMM665 is not set
CONFIG_SENSORS_DME1737=y
# CONFIG_SENSORS_EMC1403 is not set
# CONFIG_SENSORS_EMC2103 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
CONFIG_SENSORS_SMSC47B397=y
CONFIG_SENSORS_ADS7828=y
CONFIG_SENSORS_ADS7871=y
CONFIG_SENSORS_AMC6821=y
# CONFIG_SENSORS_THMC50 is not set
# CONFIG_SENSORS_TMP102 is not set
# CONFIG_SENSORS_TMP401 is not set
CONFIG_SENSORS_TMP421=y
# CONFIG_SENSORS_VIA_CPUTEMP is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83791D is not set
# CONFIG_SENSORS_W83792D is not set
CONFIG_SENSORS_W83793=y
# CONFIG_SENSORS_W83795 is not set
CONFIG_SENSORS_W83L785TS=y
# CONFIG_SENSORS_W83L786NG is not set
CONFIG_SENSORS_W83627HF=y
# CONFIG_SENSORS_W83627EHF is not set
CONFIG_SENSORS_WM831X=y
CONFIG_SENSORS_WM8350=y
CONFIG_SENSORS_LIS3_SPI=y
# CONFIG_SENSORS_LIS3_I2C is not set
# CONFIG_SENSORS_APPLESMC is not set
# CONFIG_SENSORS_MC13783_ADC is not set
CONFIG_THERMAL=y
CONFIG_THERMAL_HWMON=y
# CONFIG_WATCHDOG is not set
CONFIG_SSB_POSSIBLE=y

#
# Sonics Silicon Backplane
#
# CONFIG_SSB is not set
CONFIG_MFD_SUPPORT=y
CONFIG_MFD_CORE=y
# CONFIG_MFD_88PM860X is not set
CONFIG_MFD_SM501=y
# CONFIG_HTC_PASIC3 is not set
# CONFIG_TPS6507X is not set
# CONFIG_TWL4030_CORE is not set
CONFIG_MFD_STMPE=y
# CONFIG_MFD_TC35892 is not set
# CONFIG_MFD_TMIO is not set
CONFIG_PMIC_DA903X=y
# CONFIG_PMIC_ADP5520 is not set
CONFIG_MFD_MAX8925=y
# CONFIG_MFD_MAX8998 is not set
CONFIG_MFD_WM8400=y
CONFIG_MFD_WM831X=y
CONFIG_MFD_WM831X_I2C=y
CONFIG_MFD_WM831X_SPI=y
CONFIG_MFD_WM8350=y
CONFIG_MFD_WM8350_I2C=y
CONFIG_MFD_WM8994=y
# CONFIG_MFD_PCF50633 is not set
CONFIG_MFD_MC13783=y
CONFIG_MFD_MC13XXX=y
CONFIG_ABX500_CORE=y
CONFIG_AB3100_CORE=y
CONFIG_AB3100_OTP=y
# CONFIG_EZX_PCAP is not set
# CONFIG_AB3550_CORE is not set
# CONFIG_REGULATOR is not set
CONFIG_MEDIA_SUPPORT=y

#
# Multimedia core support
#
# CONFIG_VIDEO_DEV is not set
# CONFIG_VIDEO_MEDIA is not set

#
# Multimedia drivers
#
# CONFIG_RC_CORE is not set
# CONFIG_DAB is not set

#
# Graphics support
#
CONFIG_DRM=y
# CONFIG_VGASTATE is not set
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
# CONFIG_FB is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=y
# CONFIG_LCD_LTV350QV is not set
CONFIG_LCD_ILI9320=y
# CONFIG_LCD_TDO24M is not set
CONFIG_LCD_VGG2432A4=y
# CONFIG_LCD_PLATFORM is not set
CONFIG_LCD_S6E63M0=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
CONFIG_BACKLIGHT_DA903X=y
# CONFIG_BACKLIGHT_MAX8925 is not set
# CONFIG_BACKLIGHT_MBP_NVIDIA is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKLIGHT_WM831X is not set
# CONFIG_BACKLIGHT_ADP8860 is not set

#
# Display device support
#
CONFIG_DISPLAY_SUPPORT=y

#
# Display hardware drivers
#

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_VGACON_SOFT_SCROLLBACK is not set
CONFIG_DUMMY_CONSOLE=y
# CONFIG_SOUND is not set
# CONFIG_HID_SUPPORT is not set
# CONFIG_USB_SUPPORT is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
# CONFIG_LEDS_CLASS is not set

#
# LED drivers
#

#
# LED Triggers
#
CONFIG_ACCESSIBILITY=y
# CONFIG_A11Y_BRAILLE_CONSOLE is not set
CONFIG_EDAC=y

#
# Reporting subsystems
#
# CONFIG_EDAC_DEBUG is not set
CONFIG_EDAC_MM_EDAC=y
# CONFIG_RTC_CLASS is not set
# CONFIG_DMADEVICES is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set

#
# Xen driver support
#
# CONFIG_XEN_BALLOON is not set
# CONFIG_XEN_DEV_EVTCHN is not set
CONFIG_XENFS=y
CONFIG_XEN_COMPAT_XENFS=y
# CONFIG_XEN_GNTDEV is not set
CONFIG_XEN_PLATFORM_PCI=y
CONFIG_STAGING=y
CONFIG_STAGING_EXCLUDE_BUILD=y
# CONFIG_X86_PLATFORM_DEVICES is not set

#
# Firmware Drivers
#
# CONFIG_EDD is not set
# CONFIG_FIRMWARE_MEMMAP is not set
CONFIG_DELL_RBU=y
CONFIG_DCDBAS=y
# CONFIG_DMIID is not set
# CONFIG_ISCSI_IBFT_FIND is not set

#
# File systems
#
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
# CONFIG_INOTIFY_USER is not set
CONFIG_FANOTIFY=y
# CONFIG_QUOTA is not set
# CONFIG_QUOTACTL is not set
# CONFIG_AUTOFS4_FS is not set
CONFIG_FUSE_FS=y
CONFIG_CUSE=y

#
# Caches
#
# CONFIG_FSCACHE is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
# CONFIG_PROC_KCORE is not set
# CONFIG_PROC_SYSCTL is not set
CONFIG_PROC_PAGE_MONITOR=y
# CONFIG_SYSFS is not set
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
# CONFIG_MISC_FILESYSTEMS is not set
# CONFIG_NLS is not set

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
# CONFIG_PRINTK_TIME is not set
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=2048
# CONFIG_MAGIC_SYSRQ is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_UNUSED_SYMBOLS is not set
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_KERNEL is not set
# CONFIG_HARDLOCKUP_DETECTOR is not set
# CONFIG_SPARSE_RCU_POINTER is not set
CONFIG_TRACE_IRQFLAGS=y
CONFIG_STACKTRACE=y
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
CONFIG_RCU_CPU_STALL_DETECTOR=y
CONFIG_RCU_CPU_STALL_TIMEOUT=60
CONFIG_RCU_CPU_STALL_DETECTOR_RUNNABLE=y
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_TRACER_MAX_TRACE=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_RING_BUFFER_ALLOW_SWAP=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
CONFIG_FUNCTION_TRACER=y
# CONFIG_FUNCTION_GRAPH_TRACER is not set
CONFIG_IRQSOFF_TRACER=y
# CONFIG_SCHED_TRACER is not set
CONFIG_FTRACE_SYSCALLS=y
CONFIG_TRACE_BRANCH_PROFILING=y
# CONFIG_BRANCH_PROFILE_NONE is not set
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
CONFIG_PROFILE_ALL_BRANCHES=y
CONFIG_TRACING_BRANCHES=y
CONFIG_BRANCH_TRACER=y
CONFIG_STACK_TRACER=y
# CONFIG_DYNAMIC_FTRACE is not set
# CONFIG_FUNCTION_PROFILER is not set
CONFIG_FTRACE_SELFTEST=y
CONFIG_FTRACE_STARTUP_TEST=y
CONFIG_EVENT_TRACE_TEST_SYSCALLS=y
# CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_DYNAMIC_DEBUG is not set
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_HAVE_ARCH_KMEMCHECK=y
CONFIG_STRICT_DEVMEM=y
CONFIG_X86_VERBOSE_BOOTUP=y
# CONFIG_EARLY_PRINTK is not set
CONFIG_IOMMU_STRESS=y
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
# CONFIG_IO_DELAY_0X80 is not set
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
CONFIG_IO_DELAY_NONE=y
CONFIG_DEFAULT_IO_DELAY_TYPE=3
# CONFIG_OPTIMIZE_INLINING is not set

#
# Security options
#
CONFIG_KEYS=y
# CONFIG_TRUSTED_KEYS is not set
# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITYFS=y
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_DEFAULT_SECURITY=""
# CONFIG_CRYPTO is not set
CONFIG_HAVE_KVM=y
# CONFIG_VIRTUALIZATION is not set
CONFIG_BINARY_PRINTF=y

#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_GENERIC_FIND_LAST_BIT=y
# CONFIG_CRC_CCITT is not set
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
CONFIG_CRC7=y
# CONFIG_LIBCRC32C is not set
CONFIG_REED_SOLOMON=y
CONFIG_REED_SOLOMON_DEC16=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_SHM_SIGNAL=y
CONFIG_IOQ=y

^ permalink raw reply

* Re: linux-next: Tree for December 10
From: Zimny Lech @ 2010-12-13 19:04 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: linux-next, LKML, Wolfgang Grandegger, netdev
In-Reply-To: <AANLkTinXT6jyr9C=LJA9Y_5v3sWN1fDHF9NRsTLHVXuF@mail.gmail.com>

Sorry, this should be reported for next-20101213

W dniu 13 grudnia 2010 20:02 użytkownik Zimny Lech
<napohybelskurwysynom2010@gmail.com> napisał:
> Ave,
>
> 2010/12/10 Stephen Rothwell <sfr@canb.auug.org.au>:
>> Hi all,
>>
>> Changes since 20101209:
>>
>
> WARNING: modpost: Found 14 section mismatch(es).
> To see full details build your kernel with:
> 'make CONFIG_DEBUG_SECTION_MISMATCH=y'
>  GEN     .version
>  CHK     include/generated/compile.h
>  UPD     include/generated/compile.h
>  CC      init/version.o
>  LD      init/built-in.o
>  LD      .tmp_vmlinux1
> arch/x86/built-in.o: In function `kvm_smp_prepare_boot_cpu':
> kvm.c:(.init.text+0xf446): undefined reference to `kvm_register_clock'
> drivers/built-in.o: In function `generate_netlink_event':
> (.text+0x1087ee): undefined reference to `__alloc_skb'
> drivers/built-in.o: In function `generate_netlink_event':
> (.text+0x108897): undefined reference to `skb_put'
> drivers/built-in.o: In function `generate_netlink_event':
> (.text+0x108930): undefined reference to `kfree_skb'
> drivers/built-in.o: In function `generate_netlink_event':
> (.text+0x108947): undefined reference to `nla_reserve'
> drivers/built-in.o: In function `generate_netlink_event':
> (.text+0x108990): undefined reference to `kfree_skb'
> drivers/built-in.o: In function `generate_netlink_event':
> (.text+0x1089e9): undefined reference to `kfree_skb'
> drivers/built-in.o: In function `generate_netlink_event':
> (.text+0x1089f8): undefined reference to `init_net'
> drivers/built-in.o: In function `generate_netlink_event':
> (.text+0x108a0b): undefined reference to `netlink_broadcast'
> drivers/built-in.o: In function `thermal_init':
> thermal_sys.c:(.init.text+0xbd00): undefined reference to `genl_register_family'
> thermal_sys.c:(.init.text+0xbd2f): undefined reference to
> `genl_register_mc_group'
> thermal_sys.c:(.init.text+0xbd57): undefined reference to
> `genl_unregister_family'
> drivers/built-in.o: In function `thermal_exit':
> thermal_sys.c:(.exit.text+0x154c): undefined reference to
> `genl_unregister_family'
> make[1]: *** [.tmp_vmlinux1] Error 1
> make: *** [sub-make] Error 2
>
>
> --
> Slawa!
> Zimny "Spie dziadu!" Lech z Wawelu
>
> Hej, tam!
> Wydarłem klejnot szans
> http://www.youtube.com/watch?v=VXWTlYzVFUA
>



-- 
Slawa!
Zimny "Spie dziadu!" Lech z Wawelu

Hej, tam!
Wydarłem klejnot szans
http://www.youtube.com/watch?v=VXWTlYzVFUA

^ 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