linux-netdev mailing list

FromSubjectsort iconDate
adobriyan
[PATCH] Enable netfilter in netns
From kernel perspective, allow entrance in nf_hook_slow(). Stuff which uses nf_register_hook/nf_register_hooks, but otherwise not netns-ready: DECnet netfilter ipt_CLUSTERIP nf_nat_standalone.c together with XFRM (?) IPVS several individual match modules (like hashlimit) ctnetlink all sorts of queueing and reporting to userspace L3 and L4 protocol sysctls, bridge sysctls probably something else Anyway critical mass has been achieved, there is no reason to hide netfilter any ...
Aug 21, 3:43 pm 2008
adobriyan
[PATCH 11/38] netns ct: per-netns unconfirmed hash
What is unconfirmed connection in one netns can very well be confirmed in another. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- include/net/netfilter/nf_conntrack_core.h | 1 - include/net/netns/conntrack.h | 2 ++ net/netfilter/nf_conntrack_core.c | 6 +++--- net/netfilter/nf_conntrack_helper.c | 3 +-- 4 files changed, 6 insertions(+), 6 deletions(-) --- a/include/net/netfilter/nf_conntrack_core.h +++ ...
Aug 21, 3:40 pm 2008
adobriyan
[PATCH 05/38] Fix ip{,6}_route_me_harder() in netns
ip_route_me_harder() is called on output codepaths: 1) IPVS: honestly, not sure, looks like it can be called during forwarding 2) IPv4 REJECT: refreshing comment re skb->dst is valid and assigment of skb->dst right before call :^) 3) NAT: called in LOCAL_OUT hook 4) iptable_mangle: LOCAL_OUT hook 5) nf_ip_reroute(): LOCAL_OUT hook (no clue about queueing packets to luserspace) ip6_route_me_harder() is also called in output codepaths: 1) ip6table_mangle: LOCAL_OUT hook 2) nf_ip6_reroute: ...
Aug 21, 3:39 pm 2008
adobriyan
[PATCH 6/6] netns brnetfilter: small prerouting fixup
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- net/bridge/br_netfilter.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- a/net/bridge/br_netfilter.c +++ b/net/bridge/br_netfilter.c @@ -357,7 +357,7 @@ static int br_nf_pre_routing_finish(struct sk_buff *skb) if (err != -EHOSTUNREACH || !in_dev || IN_DEV_FORWARD(in_dev)) goto free_skb; - if (!ip_route_output_key(&init_net, &rt, &fl)) { + if (!ip_route_output_key(dev_net(dev), &rt, &fl)) { /* - ...
Aug 21, 3:34 pm 2008
adobriyan
[PATCH 5/6] netns brnetfilter: per-netns nat table
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- include/net/netns/bridge.h | 1 net/bridge/netfilter/ebtable_nat.c | 48 ++++++++++++++++++++++++------------- 2 files changed, 33 insertions(+), 16 deletions(-) --- a/include/net/netns/bridge.h +++ b/include/net/netns/bridge.h @@ -7,5 +7,6 @@ struct netns_br { struct list_head ebt_tables; struct ebt_table *broute_table; struct ebt_table *frame_filter; + struct ebt_table *frame_nat; }; #endif --- ...
Aug 21, 3:27 pm 2008
adobriyan
[PATCH 4/6] netns brnetfilter: per-netns filter table
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- include/net/netns/bridge.h | 1 net/bridge/netfilter/ebtable_filter.c | 51 ++++++++++++++++++++++++---------- 2 files changed, 38 insertions(+), 14 deletions(-) --- a/include/net/netns/bridge.h +++ b/include/net/netns/bridge.h @@ -6,5 +6,6 @@ struct netns_br { struct list_head ebt_tables; struct ebt_table *broute_table; + struct ebt_table *frame_filter; }; #endif --- ...
Aug 21, 3:22 pm 2008
adobriyan
[PATCH 3/6] netns brnetfilter: per-netns broute table
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- include/net/netns/bridge.h | 1 net/bridge/netfilter/ebtable_broute.c | 36 +++++++++++++++++++++++++--------- 2 files changed, 28 insertions(+), 9 deletions(-) --- a/include/net/netns/bridge.h +++ b/include/net/netns/bridge.h @@ -5,5 +5,6 @@ struct netns_br { struct list_head ebt_tables; + struct ebt_table *broute_table; }; #endif --- a/net/bridge/netfilter/ebtable_broute.c +++ ...
Aug 21, 3:21 pm 2008
adobriyan
[PATCH 2/6] netns brnetfilter: cleanup during table unregister
So far it wasn't needed, because modules were pinned just right to prevent ebtables from unloading when cleanup was necessary. ebt_unregster_table() is called during netns stop now, so... Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- net/bridge/netfilter/ebtables.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/net/bridge/netfilter/ebtables.c +++ b/net/bridge/netfilter/ebtables.c @@ -1262,6 +1262,8 @@ void ebt_unregister_table(struct ebt_table *table) ...
Aug 21, 3:21 pm 2008
adobriyan
[PATCH 1/6] netns brnetfilter: per-netns ebtables
* make registered ebtables list per-netns * for that, duplicate table at the very beginning of register, we can't add one table to multiple lists. * propagate netns from userspace socket down to iterators over list, * register individual modules only in init_net for a minute. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- include/linux/netfilter_bridge/ebtables.h | 2 include/net/net_namespace.h | 4 + include/net/netns/bridge.h | 9 +++ ...
Aug 21, 3:41 pm 2008
adobriyan
[PATCH 1/6] netns brnetfilter: per-netns ebtables
* make registered ebtables list per-netns * for that, duplicate table at the very beginning of register, we can't add one table to multiple lists. * propagate netns from userspace socket down to iterators over list, * register individual modules only in init_net for a minute. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- include/linux/netfilter_bridge/ebtables.h | 2 include/net/net_namespace.h | 4 + include/net/netns/bridge.h | 9 +++ ...
Aug 21, 3:20 pm 2008
adobriyan
[PATCH 2/2] netns bridge: cleanup bridges during netns stop
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- net/bridge/br.c | 22 ++++++++++++++++------ net/bridge/br_if.c | 4 ++-- net/bridge/br_private.h | 2 +- 3 files changed, 19 insertions(+), 9 deletions(-) --- a/net/bridge/br.c +++ b/net/bridge/br.c @@ -28,6 +28,10 @@ static const struct stp_proto br_stp_proto = { .rcv = br_stp_rcv, }; +static struct pernet_operations br_net_ops = { + .exit = br_net_exit, +}; + static int __init br_init(void) { ...
Aug 21, 3:18 pm 2008
adobriyan
[PATCH 1/2] netns bridge: allow bridges in netns!
Bridge as netdevice doesn't cross netns boundaries. Bridge ports and bridge itself live in same netns. Notifiers are fixed. netns propagated from userspace socket. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- net/bridge/br_device.c | 3 ++- net/bridge/br_if.c | 11 ++++++----- net/bridge/br_ioctl.c | 20 ++++++++++---------- net/bridge/br_netlink.c | 15 +++++---------- net/bridge/br_notify.c | 3 --- net/bridge/br_private.h | 4 ++-- ...
Aug 21, 3:15 pm 2008
adobriyan
[PATCH 38/38] netns nat: PPTP NAT in netns
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- net/ipv4/netfilter/nf_nat_pptp.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- a/net/ipv4/netfilter/nf_nat_pptp.c +++ b/net/ipv4/netfilter/nf_nat_pptp.c @@ -73,7 +73,7 @@ static void pptp_nat_expected(struct nf_conn *ct, pr_debug("trying to unexpect other dir: "); nf_ct_dump_tuple_ip(&t); - other_exp = nf_ct_expect_find_get(&init_net, &t); + other_exp = nf_ct_expect_find_get(nf_ct_net(ct), &t); if ...
Aug 21, 3:10 pm 2008
adobriyan
[PATCH 37/38] netns nat: fixup DNAT in netns
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- net/ipv4/netfilter/nf_nat_rule.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) --- a/net/ipv4/netfilter/nf_nat_rule.c +++ b/net/ipv4/netfilter/nf_nat_rule.c @@ -91,13 +91,13 @@ static unsigned int ipt_snat_target(struct sk_buff *skb, } /* Before 2.6.11 we did implicit source NAT if required. Warn about change. */ -static void warn_if_extra_mangle(__be32 dstip, __be32 srcip) +static void ...
Aug 21, 3:10 pm 2008
adobriyan
[PATCH 36/38] netns nat: skip every NOTRACKed connection
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- net/ipv4/netfilter/nf_nat_core.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) --- a/net/ipv4/netfilter/nf_nat_core.c +++ b/net/ipv4/netfilter/nf_nat_core.c @@ -588,6 +588,10 @@ static int __net_init nf_nat_net_init(struct net *net) &net->ipv4.nat_vmalloced); if (!net->ipv4.nat_bysource) return -ENOMEM; + + /* Initialize fake conntrack so that NAT will skip it */ + net->ct.untracked.status |= ...
Aug 21, 3:10 pm 2008
adobriyan
[PATCH 35/38] netns nat: per-netns bysource hash
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- include/net/netns/ipv4.h | 2 + net/ipv4/netfilter/nf_nat_core.c | 71 +++++++++++++++++++++++---------------- 2 files changed, 45 insertions(+), 28 deletions(-) --- a/include/net/netns/ipv4.h +++ b/include/net/netns/ipv4.h @@ -39,6 +39,8 @@ struct netns_ipv4 { struct xt_table *arptable_filter; struct xt_table *iptable_security; struct xt_table *nat_table; + struct ...
Aug 21, 3:10 pm 2008
adobriyan
[PATCH 34/38] netns nat: per-netns nat table
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- include/net/netns/ipv4.h | 1 net/ipv4/netfilter/nf_nat_rule.c | 40 +++++++++++++++++++++++++++------------ 2 files changed, 29 insertions(+), 12 deletions(-) --- a/include/net/netns/ipv4.h +++ b/include/net/netns/ipv4.h @@ -38,6 +38,7 @@ struct netns_ipv4 { struct xt_table *iptable_raw; struct xt_table *arptable_filter; struct xt_table *iptable_security; + struct xt_table *nat_table; #endif int ...
Aug 21, 3:09 pm 2008
adobriyan
[PATCH 32/38] netns ct: PPTP conntracking in netns
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- net/netfilter/nf_conntrack_pptp.c | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) --- a/net/netfilter/nf_conntrack_pptp.c +++ b/net/netfilter/nf_conntrack_pptp.c @@ -121,7 +121,7 @@ static void pptp_expectfn(struct nf_conn *ct, pr_debug("trying to unexpect other dir: "); nf_ct_dump_tuple(&inv_t); - exp_other = nf_ct_expect_find_get(&init_net, &inv_t); + exp_other = ...
Aug 21, 3:09 pm 2008
adobriyan
[PATCH 33/38] netns nat: fix ipt_MASQUERADE in netns
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- net/ipv4/netfilter/ipt_MASQUERADE.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) --- a/net/ipv4/netfilter/ipt_MASQUERADE.c +++ b/net/ipv4/netfilter/ipt_MASQUERADE.c @@ -120,16 +120,13 @@ static int masq_device_event(struct notifier_block *this, { const struct net_device *dev = ptr; - if (!net_eq(dev_net(dev), &init_net)) - return NOTIFY_DONE; - if (event == NETDEV_DOWN) { /* Device was downed. Search ...
Aug 21, 3:09 pm 2008
adobriyan
[PATCH 31/38] netns ct: GRE conntracking in netns
* make keymap list per-netns * do the same for lock while I'm at it (not strictly necessary) * flush keymap at netns stop and module unload time. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- include/linux/netfilter/nf_conntrack_proto_gre.h | 2 net/netfilter/nf_conntrack_pptp.c | 2 net/netfilter/nf_conntrack_proto_gre.c | 98 +++++++++++++++++------ 3 files changed, 76 insertions(+), 26 deletions(-) --- ...
Aug 21, 3:09 pm 2008
adobriyan
[PATCH 30/38] netns ct: H323 conntracking in netns
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- net/netfilter/nf_conntrack_h323_main.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- a/net/netfilter/nf_conntrack_h323_main.c +++ b/net/netfilter/nf_conntrack_h323_main.c @@ -1218,7 +1218,7 @@ static struct nf_conntrack_expect *find_expect(struct nf_conn *ct, tuple.dst.u.tcp.port = port; tuple.dst.protonum = IPPROTO_TCP; - exp = __nf_ct_expect_find(&init_net, &tuple); + exp = ...
Aug 21, 3:08 pm 2008
adobriyan
[PATCH 29/38] netns ct: SIP conntracking in netns
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- net/netfilter/nf_conntrack_sip.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- a/net/netfilter/nf_conntrack_sip.c +++ b/net/netfilter/nf_conntrack_sip.c @@ -775,7 +775,7 @@ static int set_expected_rtp_rtcp(struct sk_buff *skb, rcu_read_lock(); do { - exp = __nf_ct_expect_find(&init_net, &tuple); + exp = __nf_ct_expect_find(nf_ct_net(ct), &tuple); if (!exp || exp->master == ct || ...
Aug 21, 3:08 pm 2008
adobriyan
[PATCH 28/38] netns ct: per-netns accounting
Default value is the one at the end of module load (config or module option). Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- include/net/netfilter/nf_conntrack_acct.h | 10 ++-- include/net/netns/conntrack.h | 2 net/netfilter/nf_conntrack_acct.c | 67 +++++++++++++++++++----------- net/netfilter/nf_conntrack_core.c | 12 ++--- 4 files changed, 56 insertions(+), 35 deletions(-) --- a/include/net/netfilter/nf_conntrack_acct.h +++ ...
Aug 21, 3:08 pm 2008
adobriyan
[PATCH 27/38] netns ct: per-netns net.netfilter.ip_connt ...
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- include/net/netfilter/nf_conntrack_l4proto.h | 15 +++++++-------- include/net/netns/conntrack.h | 1 + net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c | 2 +- net/ipv4/netfilter/nf_conntrack_proto_icmp.c | 6 +++--- net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c | 2 +- net/netfilter/nf_conntrack_core.c | 1 - net/netfilter/nf_conntrack_proto_dccp.c | 10 ++++++---- ...
Aug 21, 3:08 pm 2008
adobriyan
[PATCH 26/38] netns ct: per-netns net.netfilter.nf_connt ...
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- include/net/netfilter/nf_conntrack.h | 1 - include/net/netns/conntrack.h | 1 + net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c | 2 +- net/ipv4/netfilter/nf_conntrack_proto_icmp.c | 2 +- net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c | 2 +- net/netfilter/nf_conntrack_proto_dccp.c | 2 +- net/netfilter/nf_conntrack_proto_tcp.c | 2 +- ...
Aug 21, 3:07 pm 2008
adobriyan
[PATCH 25/38] netns ct: honest net.netfilter.nf_conntrac ...
Note, sysctl table is always duplicated, this is simpler, less special-cased, less mistakes (and did one mistake in first version of this patch). Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- include/net/netns/conntrack.h | 4 + net/netfilter/nf_conntrack_standalone.c | 73 +++++++++++++++++--------------- 2 files changed, 44 insertions(+), 33 deletions(-) --- a/include/net/netns/conntrack.h +++ b/include/net/netns/conntrack.h @@ -5,6 +5,7 @@ #include ...
Aug 21, 3:07 pm 2008
adobriyan
[PATCH 24/38] netns ct: per-netns statistics in proc
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c | 14 +++++++++----- net/netfilter/nf_conntrack_standalone.c | 15 +++++++++------ 2 files changed, 18 insertions(+), 11 deletions(-) --- a/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c +++ b/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c @@ -285,6 +285,7 @@ static const struct file_operations ip_exp_file_ops = { static void ...
Aug 21, 3:07 pm 2008
adobriyan
[PATCH 23/38] netns ct: per-netns statistics
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- include/net/netfilter/nf_conntrack.h | 8 +-- include/net/netns/conntrack.h | 1 net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c | 4 - net/netfilter/nf_conntrack_core.c | 47 +++++++++--------- net/netfilter/nf_conntrack_expect.c | 4 - net/netfilter/nf_conntrack_standalone.c | 5 - 6 files changed, 36 insertions(+), 33 ...
Aug 21, 3:05 pm 2008
adobriyan
[PATCH 22/38] netns ct: final init_net tweaks
Add init_net checks to e. g. create kmem caches once. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- net/netfilter/nf_conntrack_core.c | 111 +++++++++++++++++++++--------------- net/netfilter/nf_conntrack_expect.c | 27 +++++--- 2 files changed, 81 insertions(+), 57 deletions(-) --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c @@ -1008,7 +1008,8 @@ EXPORT_SYMBOL_GPL(nf_conntrack_flush); supposed to kill the mall. */ void ...
Aug 21, 3:05 pm 2008
adobriyan
[PATCH 21/25] netns ct: per-netns event cache
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- include/net/netfilter/nf_conntrack_ecache.h | 27 +++++++++++++++++-------- include/net/netns/conntrack.h | 5 ++++ net/ipv4/netfilter/nf_conntrack_proto_icmp.c | 4 ++- net/ipv4/netfilter/nf_nat_helper.c | 2 - net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c | 4 ++- net/netfilter/nf_conntrack_core.c | 23 +++++++++++++-------- net/netfilter/nf_conntrack_ecache.c ...
Aug 21, 3:04 pm 2008
Jan Engelhardt
Re: [PATCH 20/38] netns ct: NOTRACK in netns
Why? It does not store any useful information per se, it is merely used to add a third type of ct, iow: (a) ct==NULL (b) ct!=NULL (c) ct==&untracked mmap(2)'s return value for example has something similar: (a) mmap(...)==NULL (b) mmap(...)==MMAP_FAILED (c) otherwise The untracked ct is a singleton, and should stay one, unless there are further reasons not to do so. --
Aug 21, 4:06 pm 2008
adobriyan
[PATCH 20/38] netns ct: NOTRACK in netns
Make untracked conntrack per-netns. Compare conntracks with relevant untracked one. The following code you'll start laughing at this code: if (ct == ct->ct_net->ct.untracked) ... let me remind you that ->ct_net is set in only one place, and never overwritten later. All of this requires some surgery with headers, otherwise horrible circular dependencies. And we lost nf_ct_is_untracked() as function, it became macro. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- ...
Aug 21, 3:04 pm 2008
adobriyan
PATCH 19/38] netns ct: cleanup after L3 and L4 proto in ...
Start massacre in every netns when proto in unregistered (read: rmmod). Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- net/netfilter/nf_conntrack_proto.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) --- a/net/netfilter/nf_conntrack_proto.c +++ b/net/netfilter/nf_conntrack_proto.c @@ -207,6 +207,8 @@ EXPORT_SYMBOL_GPL(nf_conntrack_l3proto_register); void nf_conntrack_l3proto_unregister(struct nf_conntrack_l3proto *proto) { + struct net *net; + ...
Aug 21, 3:04 pm 2008
adobriyan
[PATCH 18/38] netns ct: unregister helper in every netns
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- net/netfilter/nf_conntrack_helper.c | 41 +++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 17 deletions(-) --- a/net/netfilter/nf_conntrack_helper.c +++ b/net/netfilter/nf_conntrack_helper.c @@ -123,29 +123,18 @@ int nf_conntrack_helper_register(struct nf_conntrack_helper *me) } EXPORT_SYMBOL_GPL(nf_conntrack_helper_register); -void nf_conntrack_helper_unregister(struct nf_conntrack_helper *me) +static ...
Aug 21, 3:03 pm 2008
adobriyan
[PATCH 17/38] netns ct: export netns list
Conntrack code will use it for a) removing expectations and helpers when corresponding module is removed, and b) removing conntracks when L3 protocol conntrack module is removed. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- net/core/net_namespace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/net/core/net_namespace.c +++ b/net/core/net_namespace.c @@ -18,6 +18,7 @@ static struct list_head *first_device = &pernet_list; static DEFINE_MUTEX(net_mutex); ...
Aug 21, 3:03 pm 2008
adobriyan
[PATCH 16/38] netns ct: per-netns proc ip_conntrack
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c | 60 ++++++++++++------ 1 file changed, 40 insertions(+), 20 deletions(-) --- a/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c +++ b/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c @@ -21,18 +21,20 @@ #include <net/netfilter/nf_conntrack_acct.h> struct ct_iter_state { + struct seq_net_private p; unsigned int bucket; }; static struct hlist_node ...
Aug 21, 3:03 pm 2008
adobriyan
[PATCH 15/38] netns ct: per-netns /proc/net/nf_conntrack ...
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- net/netfilter/nf_conntrack_expect.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) --- a/net/netfilter/nf_conntrack_expect.c +++ b/net/netfilter/nf_conntrack_expect.c @@ -423,16 +423,18 @@ EXPORT_SYMBOL_GPL(nf_ct_expect_related); #ifdef CONFIG_PROC_FS struct ct_expect_iter_state { + struct seq_net_private p; unsigned int bucket; }; static struct hlist_node *ct_expect_get_first(struct ...
Aug 21, 3:02 pm 2008
adobriyan
[PATCH 14/38] netns ct: per-netns /proc/net/nf_conntrack ...
Statistics part of stat/nf_conntrack is from init_net, this is temporary. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- net/netfilter/nf_conntrack_standalone.c | 52 +++++++++++++++++++------------- 1 file changed, 31 insertions(+), 21 deletions(-) --- a/net/netfilter/nf_conntrack_standalone.c +++ b/net/netfilter/nf_conntrack_standalone.c @@ -40,18 +40,20 @@ print_tuple(struct seq_file *s, const struct nf_conntrack_tuple *tuple, EXPORT_SYMBOL_GPL(print_tuple); struct ...
Aug 21, 3:02 pm 2008
adobriyan
[PATCH 13/38] netns ct: pass netns to L4 protocol's ->er ...
Again, netns is deducible in every single ->error hook, but we're going to use it everywhere for nf_conntrack_checksum and stats, so pass it from upper layer. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- include/net/netfilter/nf_conntrack_l4proto.h | 2 +- net/ipv4/netfilter/nf_conntrack_proto_icmp.c | 8 ++++---- net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c | 8 ++++---- net/netfilter/nf_conntrack_core.c | 2 +- ...
Aug 21, 3:02 pm 2008
adobriyan
[PATCH 12/38] netns ct: pass netns pointer to nf_conntra ...
It's deducible as is, but it's also known at nf_conntrack_in() time allowing to not branch and make code simpler later. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- include/net/netfilter/nf_conntrack_core.h | 2 +- net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c | 4 ++-- net/ipv6/netfilter/nf_conntrack_l3proto_ipv6.c | 24 ++++++++++++++++-------- net/netfilter/nf_conntrack_core.c | 11 +++++------ 4 files changed, 24 insertions(+), 17 ...
Aug 21, 3:01 pm 2008
adobriyan
[PATCH 09/38] netns ct: per-netns conntrack hash
* make per-netns conntrack hash Other solution is to add ->ct_net pointer to tuplehashes and still has one hash, I tried that it's ugly and requires more code deep down in protocol modules et al. * propagate netns pointer to where needed, e. g. to conntrack iterators. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- include/net/netfilter/nf_conntrack.h | 6 - include/net/netfilter/nf_conntrack_core.h | 3 include/net/netns/conntrack.h ...
Aug 21, 3:00 pm 2008
adobriyan
[PATCH 10/38] netns ct: per-netns expectations
Make per-netns expectation hash and expectation count. Expectation always belongs to netns to which it's master conntrack belongs. This is natural and allows to not bloat expectations. Proc files and leaf users in protocol modules are stubbed to init_net, this is temporary. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- include/net/netfilter/nf_conntrack_expect.h | 20 ++++-- include/net/netns/conntrack.h | 3 + ...
Aug 21, 3:00 pm 2008
adobriyan
[PATCH 08/38] netns ct: per-netns conntrack count
Sysctls and proc files are stubbed to init_net's one. This is temporary. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- include/net/netfilter/nf_conntrack.h | 1 - include/net/netns/conntrack.h | 3 +++ net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c | 2 +- net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c | 2 +- net/netfilter/nf_conntrack_core.c | 18 ++++++++---------- ...
Aug 21, 2:59 pm 2008
adobriyan
[PATCH 07/38] netns ct: add ->ct_net -- pointer from con ...
Conntrack (struct nf_conn) gets pointer to netns: ->ct_net -- netns in which it was created. It comes from netdevice. ->ct_net is write-once field. Every conntrack in system has ->ct_net initialized, no exceptions. ->ct_net doesn't pin netns: conntracks are recycled after timeouts and pinning background traffic will prevent netns from even starting shutdown sequence. Right now every conntrack is created in init_net. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- ...
Aug 21, 2:59 pm 2008
adobriyan
[PATCH 06/37] netns ct: add netns boilerplate
One comment: #ifdefs around #include is necessary to overcome amazing compile breakages in NOTRACK-in-netns patch (see below). Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- include/net/net_namespace.h | 6 ++++++ include/net/netfilter/nf_conntrack_core.h | 4 ++-- include/net/netns/conntrack.h | 6 ++++++ net/netfilter/nf_conntrack_core.c | 4 ++-- net/netfilter/nf_conntrack_expect.c | 4 ++-- ...
Aug 21, 2:58 pm 2008
adobriyan
[PATCH 04/38] netns nf: ip6t_REJECT in netns for real
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- net/ipv6/netfilter/ip6t_REJECT.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) --- a/net/ipv6/netfilter/ip6t_REJECT.c +++ b/net/ipv6/netfilter/ip6t_REJECT.c @@ -35,7 +35,7 @@ MODULE_DESCRIPTION("Xtables: packet \"rejection\" target for IPv6"); MODULE_LICENSE("GPL"); /* Send RST reply */ -static void send_reset(struct sk_buff *oldskb) +static void send_reset(struct net *net, struct sk_buff ...
Aug 21, 2:58 pm 2008
adobriyan
[PATCH 03/38] netns nf: ip6table_mangle in netns for real
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- net/ipv6/netfilter/ip6table_mangle.c | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) --- a/net/ipv6/netfilter/ip6table_mangle.c +++ b/net/ipv6/netfilter/ip6table_mangle.c @@ -67,17 +67,29 @@ static struct xt_table packet_mangler = { /* The work comes in here from netfilter.c. */ static unsigned int -ip6t_route_hook(unsigned int hook, +ip6t_in_hook(unsigned int hook, struct sk_buff ...
Aug 21, 2:57 pm 2008
adobriyan
[PATCH 02/38] netns nf: ip6table_raw in netns for real
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- net/ipv6/netfilter/ip6table_raw.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) --- a/net/ipv6/netfilter/ip6table_raw.c +++ b/net/ipv6/netfilter/ip6table_raw.c @@ -45,25 +45,37 @@ static struct xt_table packet_raw = { /* The work comes in here from netfilter.c. */ static unsigned int -ip6t_hook(unsigned int hook, +ip6t_pre_routing_hook(unsigned int hook, struct sk_buff *skb, const struct ...
Aug 21, 2:57 pm 2008
adobriyan
[PATCH 01/38] netns nf: remove nf_*_net() wrappers
Now that dev_net() exists, the usefullness of them is even less. Also they're a big problem in resolving circular header dependencies necessary for NOTRACK-in-netns patch. See below. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- include/linux/netfilter.h | 53 --------------------------------- net/ipv4/netfilter/iptable_filter.c | 6 +-- net/ipv4/netfilter/iptable_mangle.c | 10 +++--- net/ipv4/netfilter/iptable_raw.c | 4 +- ...
Aug 21, 2:56 pm 2008
Andrew Morton
Re: [PATCH 1/1] r8169: balance pci_map / pci_unmap pair
On Thu, 21 Aug 2008 23:47:34 +0200 Also needed in 2.6.25.x and 2.6.26.x, yes? --
Aug 21, 2:57 pm 2008
Francois Romieu
Re: [PATCH 1/1] r8169: balance pci_map / pci_unmap pair
Andrew Morton <akpm@linux-foundation.org> : Yes. Needed since 2.6.23. -- Ueimor --
Aug 21, 3:18 pm 2008
Francois Romieu
[PATCH 1/1] r8169: balance pci_map / pci_unmap pair
The leak hurts with swiotlb and jumbo frames (see http://bugzilla.kernel.org/show_bug.cgi?id=9468). Heavily hinted by Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Tested-by: Alistair John Strachan <alistair@devzero.co.uk> Tested-by: Timothy J Fontaine <tjfontaine@atxconsulting.com> Cc: Edward Hsu <edward_hsu@realtek.com.tw> --- drivers/net/r8169.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git ...
Aug 21, 2:47 pm 2008
Paul Moore
[RFC PATCH v3 11/13] netlabel: Changes to the NetLabel s ...
This patch provides support for including the LSM's secid in addition to the LSM's MLS information in the NetLabel security attributes structure. Signed-off-by: XXX --- include/net/netlabel.h | 2 +- security/selinux/ss/services.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/include/net/netlabel.h b/include/net/netlabel.h index 074cad4..d56517a 100644 --- a/include/net/netlabel.h +++ b/include/net/netlabel.h @@ -203,7 +203,7 @@ struct ...
Aug 21, 2:27 pm 2008
Paul Moore
[RFC PATCH v3 04/13] smack: Fix missing calls to netlbl_ ...
Smack needs to call netlbl_skbuff_err() to let NetLabel do the necessary protocol specific error handling. Signed-off-by: XXX --- security/smack/smack_lsm.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c index 87d7541..6e2dc0b 100644 --- a/security/smack/smack_lsm.c +++ b/security/smack/smack_lsm.c @@ -2179,7 +2179,10 @@ static int smack_socket_sock_rcv_skb(struct sock *sk, struct sk_buff *skb) * ...
Aug 21, 2:26 pm 2008
Paul Moore
[RFC PATCH v3 10/13] selinux: Cache NetLabel secattrs in ...
Previous work enabled the use of address based NetLabel selectors, which while highly useful, brought the potential for additional per-packet overhead when used. This patch attempts to mitigate some of that overhead by caching the NetLabel security attribute struct within the SELinux socket security structure. This should help eliminate the need to recreate the NetLabel secattr structure for each packet resulting in less overhead. Signed-off-by: XXX --- security/selinux/hooks.c ...
Aug 21, 2:26 pm 2008
Paul Moore
[RFC PATCH v3 05/13] netlabel: Replace protocol/NetLabel ...
NetLabel has always had a list of backpointers in the CIPSO DOI definition structure which pointed to the NetLabel LSM domain mapping structures which referenced the CIPSO DOI struct. The rationale for this was that when an administrator removed a CIPSO DOI from the system all of the associated NetLabel LSM domain mappings should be removed as well; a list of backpointers made this a simple operation. Unfortunately, while the backpointers did make the removal easier they were a bit of a mess ...
Aug 21, 2:26 pm 2008
Paul Moore
[RFC PATCH v3 08/13] netlabel: Add functionality to set ...
This patch builds upon the new NetLabel address selector functionality by providing the NetLabel KAPI and CIPSO engine support needed to enable the new packet-based labeling. The only new addition to the NetLabel KAPI at this point is shown below: * int netlbl_skbuff_setattr(skb, family, secattr) ... and is designed to be called from a Netfilter hook after the packet's IP header has been populated such as in the FORWARD or LOCAL_OUT hooks. This patch also provides the necessary SELinux ...
Aug 21, 2:26 pm 2008
Paul Moore
[RFC PATCH v3 13/13] netlabel: Add configuration support ...
Add the necessary NetLabel support for the new CIPSO mapping, CIPSO_V4_MAP_LOCAL, which allows full LSM label/context support. Signed-off-by: XXX --- net/netlabel/netlabel_cipso_v4.c | 41 ++++++++++++++++++++++++++++++++++++++ net/netlabel/netlabel_cipso_v4.h | 6 ++++-- net/netlabel/netlabel_kapi.c | 3 +++ 3 files changed, 48 insertions(+), 2 deletions(-) diff --git a/net/netlabel/netlabel_cipso_v4.c b/net/netlabel/netlabel_cipso_v4.c index a6dc5d1..aa87568 100644 --- ...
Aug 21, 2:27 pm 2008
Paul Moore
[RFC PATCH v3 12/13] cipso: Add support for native local ...
This patch accomplishes two minor tasks: add a new tag type for local labeling and rename the CIPSO_V4_MAP_STD define to CIPSO_V4_MAP_TRANS. The first change allows CIPSO to support full LSM labels/contexts, not just MLS attributes. The second change brings the mapping names inline with what userspace is using, compatibility is preserved since we don't actually change the value. Signed-off-by: XXX --- include/net/cipso_ipv4.h | 13 +++-- net/ipv4/cipso_ipv4.c | 107 ...
Aug 21, 2:27 pm 2008
Paul Moore
[RFC PATCH v3 01/13] netlabel: Remove unneeded in-kernel ...
After some discussions with the Smack folks, well just Casey, I now have a better idea of what Smack wants out of NetLabel in the future so I think it is now safe to do some API "pruning". If another LSM comes along that needs this functionality we can always add it back in, but I don't see any LSMs on the horizon which might make use of these functions. Thanks to Rami Rosen who suggested removing netlbl_cfg_cipsov4_del() back in February 2008. Signed-off-by: Paul Moore ...
Aug 21, 2:25 pm 2008
Paul Moore
[RFC PATCH v3 06/13] netlabel: Add a generic way to crea ...
Create an ordered IP address linked list mechanism similar to the core kernel's linked list construct. The idea behind this list functionality is to create an extensibile linked list ordered by IP address mask to ease the matching of network addresses. The linked list is ordered with larger address masks at the front of the list and shorter address masks at the end to facilitate overriding network entries with individual host or subnet entries. Signed-off-by: XXX --- ...
Aug 21, 2:26 pm 2008
Paul Moore
[RFC PATCH v3 00/13] Labeled networking patches for 2.6.28
Another update to the labeled networking patches for 2.6.28. This revision adds some small fixes, the dead-code removal patch posted earlier, and the big addition ... wait for it ... full LSM label/context support for local connections. This is accomplished by creating a new, private CIPSO tag type (allowed by the spec with a tag number > 127) which carries the LSM's secid value, allowing full LSM contexts to be carried across local connections without the headaches of labeled IPsec. For ...
Aug 21, 2:25 pm 2008
Paul Moore
[RFC PATCH v3 02/13] selinux: Fix a problem in security_ ...
Currently when SELinux fails to allocate memory in security_netlbl_sid_to_secattr() the NetLabel LSM domain field is set to NULL which triggers the default NetLabel LSM domain mapping which may not always be the desired mapping. This patch fixes this by returning an error when the kernel is unable to allocate memory. This could result in more failures on a system with heavy memory pressure but it is the "correct" thing to do. Signed-off-by: XXX --- security/selinux/ss/services.c | 10 ...
Aug 21, 2:25 pm 2008
Paul Moore
[RFC PATCH v3 07/13] netlabel: Add network address selec ...
This patch extends the NetLabel traffic labeling capabilities to individual packets based not only on the LSM domain but the by the destination address as well. The changes here only affect the core NetLabel infrastructre, changes to the NetLabel KAPI and individial protocol engines are also required but are split out into a different patch to ease review. Signed-off-by: XXX --- include/net/netlabel.h | 7 - net/netlabel/netlabel_addrlist.c | 130 ++++++++++++ ...
Aug 21, 2:26 pm 2008
Paul Moore
[RFC PATCH v3 03/13] selinux: Fix missing calls to netlb ...
At some point I think I messed up and dropped the calls to netlbl_skbuff_err() which are necessary for CIPSO to send error notifications to remote systems. This patch re-introduces the error handling calls into the SELinux code. Signed-off-by: XXX --- include/net/netlabel.h | 6 ++++-- net/netlabel/netlabel_kapi.c | 5 +++-- security/selinux/hooks.c | 19 +++++++++++++++---- security/selinux/include/netlabel.h | 9 +++++++++ ...
Aug 21, 2:26 pm 2008
Paul Moore
[RFC PATCH v3 09/13] selinux: Set socket NetLabel based ...
Previous work enabled the use of address based NetLabel selectors, which while highly useful, brought the potential for additional per-packet overhead when used. This patch attempts to solve that by applying NetLabel socket labels when sockets are connect()'d. This should alleviate the per-packet NetLabel labeling for all connected sockets (yes, it even works for connected DGRAM sockets). Signed-off-by: XXX --- include/net/cipso_ipv4.h | 5 ++ include/net/netlabel.h ...
Aug 21, 2:26 pm 2008
Hua Zhong
tcp write returns 0?
Hi, Under what condition would tcp write return 0? Especially since a previous poll() indicates the socket is writable. Could this only happen for socket in NONBLOCK mode? Thanks. Hua --
Aug 21, 12:06 pm 2008
Chris Snook
Re: tcp write returns 0?
The socket could become unwritable for various reasons between poll() returning and the send() call. This shouldn't happen very often, but if the system is under memory pressure and needs to page in data between those two calls, that race window can get rather large. You might want to increase your TCP buffer sizes, either per-socket with setsockopt, or system-wide with sysctl. -- Chris --
Aug 21, 1:31 pm 2008
Ben Hutchings
Re: [RFC] New Qlogic 10Gb Ethernet driver for 2.6.28
[...] Can you break up the patch into logical chunks and post them to netdev? (The message limit is 100 K.) 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. --
Aug 21, 12:48 pm 2008
Ron Mercer
[RFC] New Qlogic 10Gb Ethernet driver for 2.6.28
Hi Jeff, Please find our new 10Gb ethernet driver at the following site: ftp://ftp.qlogic.com/outgoing/linux/network/linux/upstream/qlge There are two files at this location: qlge-aug212008.patch - A full patch that is buildable on the latest netdev/upstream kernel. qlge-aug212008.tar.bz2 - A zip file of the source code at drivers/net/qlge/* We are targeting this driver for 2.6.28 release. We look forward to any and all comments. Notes: 1) The file qlge_mpi.c (Management Port ...
Aug 21, 11:54 am 2008
Gerrit Renker
[RFC/RFT] [PATCH 0/3] dccp: Updates for parsing header options
This is an update of the test tree with regard to parsing DCCP header options. Patch #1: Changes the policy to silently ignore header options with nonsensical lengths, as specified in RFC 4340, 5.8. Patch #2: Fills in the Data1...3 fields as required for "Option Error" Resets. Patch #3: Is a reworked version of an existing test tree patch which has been fixed to return the (hopefully) correct Reset code in each error case. The set has been compile-tested and updates ...
Aug 21, 10:19 am 2008
Gerrit Renker
[PATCH 1/3] dccp: Silently ignore options with nonsensic ...
This updates the option-parsing code with regard to RFC 4340, 5.8: "[..] options with nonsensical lengths (length byte less than two or more than the remaining space in the options portion of the header) MUST be ignored, and any option space following an option with nonsensical length MUST likewise be ignored." Hence in the following cases erratic options will be ignored: 1. The type byte of a multi-byte option is the last byte of the header options (effective option length is 1). ...
Aug 21, 10:19 am 2008
Gerrit Renker
v2 [PATCH 3/3] dccp: Process incoming Change feature-neg ...
This adds/replaces code for processing incoming ChangeL/R options. The main difference is that: * mandatory FN options are now interpreted inside the function (there are too many individual cases to do this externally); * the function returns an appropriate Reset code or 0, which is then used to fill in the data for the Reset packet. Old code, which is no longer used or referenced, has been removed. Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk> --- net/dccp/options.c | 21 ...
Aug 21, 10:19 am 2008
Gerrit Renker
[PATCH 2/3] dccp: Fill in the Data fields when option pr ...
This updates the use of the `out_invalid_option' label, which produces a Reset (code 5, "Option Error"), to fill in the Data1...Data3 fields as specified in RFC 4340, 5.6. Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk> --- net/dccp/options.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) --- a/net/dccp/options.c +++ b/net/dccp/options.c @@ -291,6 +291,9 @@ out_invalid_option: DCCP_INC_STATS_BH(DCCP_MIB_INVALIDOPT); DCCP_SKB_CB(skb)->dccpd_reset_code = ...
Aug 21, 10:19 am 2008
Yinghai Lu
Re: HPET regression in 2.6.26 versus 2.6.25 -- found ano ...
insert_resource/request_resource works well can you verify if hpet work on old kernel? cat /proc/timers* YH --
Aug 21, 10:57 am 2008
David Witbrodt
Re: HPET regression in 2.6.26 versus 2.6.25 -- found ano ...
Oh, well that's easy. (See below.) I assumed you needed the data for a hanging kernel, not one with the workaround enabled. I can still try to provide the output of the printk's in your patch later, in that would have any value. Here is 'dmesg' for a recent kernel with "hpet=disable": ================================== $ git show |head commit 30a2f3c60a84092c8084dfe788b710f8d0768cd4 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue Aug 12 18:55:39 2008 -0700 ...
Aug 21, 9:53 am 2008
Jon Smirl
Re: __netif_schedule on e1000e and 2.6.26-rc4
I need to check on this more, I had a build failure and the machine wasn't really updated. -- Jon Smirl jonsmirl@gmail.com --
Aug 21, 9:04 am 2008
Jon Smirl
__netif_schedule on e1000e and 2.6.26-rc4
I'm hitting the __netif_schedule warning on 82566DC/e1000e with rc4. This link hasn't gone up/down before in the past. It is a 24in cable to the switch. eth0: Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX eth0: Link is Down eth0: Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX ------------[ cut here ]------------ WARNING: at net/core/dev.c:1330 __netif_schedule+0x24/0x6a() Modules linked in: nfsd exportfs container battery nfs lockd sunrpc vfat fat nvidia(P) snd_hda_intel ...
Aug 21, 8:36 am 2008
Ursula Braun
[patch 0/4] s390: ctcm / lcs / claw fixes for 2.6.27
-- Hi Jeff, Here are some drivers/s390/net fixes for 2.6.27: - removal of claw memory leak - make use of ml_priv field of struct net_device in claw driver - make use of ml_priv field of struct net_device in ctcm driver - recovery fix for lcs driver Thanks, Ursula Braun --
Aug 21, 8:10 am 2008
Ursula Braun
[patch 1/4] claw: fix memory leak in claw_probe.
From: Martin Schwidefsky <schwidefsky@de.ibm.com> probe_error() frees memory only, if cgdev->dev.driver_data refers to the claw_privbk structure. Move forward its setting in claw_probe() to ensure proper freeing of claw_privbk allocations. Cc: Daniel <danielm77@spray.se> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com> --- drivers/s390/net/claw.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 ...
Aug 21, 8:10 am 2008
Ursula Braun
[patch 2/4] claw: netdev->priv vs. netdev->ml_priv
From: Peter Tiedemann <ptiedem@de.ibm.com> Use netdev->ml_priv instead of netdev->priv Signed-off-by: Peter Tiedemann <ptiedem@de.ibm.com> Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com> --- drivers/s390/net/claw.c | 60 ++++++++++++++++++++++++------------------------ 1 file changed, 30 insertions(+), 30 deletions(-) Index: linux-2.6-uschi/drivers/s390/net/claw.c =================================================================== --- ...
Aug 21, 8:10 am 2008
Ursula Braun
[patch 4/4] LCS recovery dumps when cable reconnect
From: Klaus-D. Wacker <kdwacker@de.ibm.com> LCS recovery dumps in irq routine when CCW address in Subchannel Status Word (SCSW) is zero. This occurs when recovery is driven after cable reconnect. Signed-off-by: Klaus-D. Wacker <kdwacker@de.ibm.com> Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com> --- drivers/s390/net/lcs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff -urpN linux-2.6/drivers/s390/net/lcs.c linux-2.6-patched/drivers/s390/net/lcs.c --- ...
Aug 21, 8:10 am 2008
Ursula Braun
[patch 3/4] ctcm: netdev->priv vs. netdev->ml_priv
From: Peter Tiedemann <ptiedem@de.ibm.com> Use netdev->ml_priv instead of netdev->priv Signed-off-by: Peter Tiedemann <ptiedem@de.ibm.com> Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com> --- drivers/s390/net/ctcm_fsms.c | 56 +++++++++++++++++++++---------------------- drivers/s390/net/ctcm_main.c | 24 +++++++++--------- drivers/s390/net/ctcm_main.h | 9 +++--- drivers/s390/net/ctcm_mpc.c | 46 +++++++++++++++++------------------ 4 files changed, 68 insertions(+), 67 ...
Aug 21, 8:10 am 2008
Yinghai Lu Aug 21, 8:33 am 2008
David Witbrodt
Re: HPET regression in 2.6.26 versus 2.6.25 -- found ano ...
Well, at least it tried! ;) I can see that the resources are not recorded in the tree properly, but this kernel was still able to boot without hanging. Is it enough that the memory region was already marked as busy, or do these resource On the suggestion of Ilpo Järvinen, I tried to delay the printk's long enough to see them using CONFIG_BOOT_PRINTK_DELAY. Unfortunately, I was stung by what the help text for that option warns of: the CONFIG_BOOT_PRINTK_DELAY option can cause the ...
Aug 21, 7:09 am 2008
David Witbrodt
Re: HPET regression in 2.6.26 versus 2.6.25 -- found ano ...
Thanks for this! I am not a developer, so I am not familiar with all of the little tweaks available in the kernel configs -- I've probably seen this dozens of times, but ignored it because I wasn't debugging. Now that I _am_ debugging, I wish I had paid more attention. When I tried it, my kernel hung much earlier in the boot process. The help text for CONFIG_BOOT_PRINTK_DELAY even mentions that this can be a problems on SMP systems, and that is exactly what I have. Bummer. Thanks ...
Aug 21, 6:33 am 2008
David Miller
net-next-2.6 open for business...
Since Linus bitch-slapped me the other day for merging too much stuff outside the merge window, I figured I'd open up net-next-2.6 to ease the frustration :-) It's just a clone of Linus's tree at linux-2.6.26-rc4, with the two current net-2.6 bug fixes pulled in. Enjoy. --
Aug 21, 5:29 am 2008
Herbert Xu
Re: 2.6.27-rc4: icmp_sk() uses smp_processor_id() in pre ...
Caused by: commit 405666db84b984b68fc75794069f424c02e5796c Author: Denis V. Lunev <den@openvz.org> Date: Fri Feb 29 11:16:46 2008 -0800 [ICMP]: Pass proper ICMP socket into icmp(v6)_xmit_(un)lock. We need to disable preemption (was provided by disabling BH) before getting the per-cpu ICMP socket. Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: ...
Aug 21, 5:50 am 2008
adobriyan
2.6.27-rc4: icmp_sk() uses smp_processor_id() in preempt ...
Steps to reproduce: CONFIG_PREEMPT=y CONFIG_DEBUG_PREEMPT=y tracepath <something> icmp6_sk() is similar (I haven't checked at runtime, though). BUG: using smp_processor_id() in preemptible [00000000] code: tracepath/3205 caller is icmp_sk+0x15/0x30 Pid: 3205, comm: tracepath Not tainted 2.6.27-rc4 #1 Call Trace: [<ffffffff8031af14>] debug_smp_processor_id+0xe4/0xf0 [<ffffffff80409405>] icmp_sk+0x15/0x30 [<ffffffff8040a17b>] icmp_send+0x4b/0x3f0 [<ffffffff8025a415>] ? ...
Aug 21, 5:20 am 2008
David Miller Aug 21, 4:59 am 2008
adobriyan
atl1: WARNING at net/sched/sch_generic.c:221
This message happens more or less every reboot, sometimes cable unplug/plug is needed to restore connectivity, otherwise card is working fine. [ 22.570010] eth1: link up, 100Mbps, full-duplex, lpa 0x45E1 [ 26.570011] NET: Registered protocol family 10 [ 37.551934] eth0: no IPv6 routers present [rebooted box which is directly connected to a box with atl1] [ 2078.740004] atl1 0000:03:00.0: eth0 link is down [ 2080.790004] atl1 0000:03:00.0: eth0 link is up 1000 Mbps full duplex [ ...
Aug 21, 4:58 am 2008
David Miller
Re: atl1: WARNING at net/sched/sch_generic.c:221
From: adobriyan@gmail.com It's a simple transmit timeout error. Perhaps atl1 doesn't call netif_carrier_off() in all the places that it should. --
Aug 21, 5:08 am 2008
adobriyan
Re: atl1: WARNING at net/sched/sch_generic.c:221
WARN already prints kernel version. ;-) [ 2086.052503] Pid: 0, comm: swapper Not tainted 2.6.27-rc4-netns-nf #4 ^^^^^^^^^^^^^^^^^^^ And before you ask, "-netns-nf" part doesn't matter, it happens with strictly mainline kernels too and started around multiqueue TX changes, IIRC. --
Aug 21, 5:04 am 2008
Arnaud Ebalard
[PATCH] XFRM: MIGRATE enhancements
Hi, I start with the context, patch-related information follow. XFRM supports a feature called MIGRATE, used by MIPv6 for the purpose of IPsec SP/SA updates upon movement. It was integrated some time ago by people of USAGI (Masahide Nakamura, Shinta Sugimoto and possibly others). Sugimoto-san and Nakamura-san (in CC) also published a document (IETF draft, see [1]) which specifies the original PF_KEY MIGRATE mechanism. Because MIGRATE was not sufficient for bootstrapping IKE negotiation ...
Aug 21, 4:10 am 2008
Henrique de Moraes H ...
Re: Oops in authenc: 2.6.26.3
Cc: stable@kernel.org ? -- "One disk to rule them all, One disk to find them. One disk to bring them all and in the darkness grind them. In the Land of Redmond where the shadows lie." -- The Silicon Valley Tarot Henrique Holschuh --
Aug 21, 7:56 am 2008
Herbert Xu Aug 21, 1:36 am 2008
Herbert Xu
Re: Oops in authenc: 2.6.26.3
Once it's merged by Linus I'll push it to stable. Thanks, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt --
Aug 21, 3:13 pm 2008
Matt LaPlante
Re: Oops in authenc: 2.6.26.3
On Thu, 21 Aug 2008 18:36:15 +1000 Acked-by: Matt LaPlante <kernel1@cyberdogtech.com> Thanks for the quick fix! -- Matt LaPlante --
Aug 21, 6:08 am 2008
Arnaud Ebalard
[bisected] Weird sysctl regression
Hi, While updating some IPv6-related patches for net-2.6, I hit the following issue on a test laptop (G4-based 12" powerbook). After compiling current net-2.6 kernel on another ppc device (G4-based 15" powerbook), I have the same issue. Note that: - it never shows up on any of the x86 devices I have. - hardware of both ppc devices are similar (bcm4306, sungem, ...) i.e. they do not only have endianness in common (and i had no sparc device to test if it is an endianness issue or a ...
Aug 21, 12:18 am 2008
Ilpo Järvinen
Re: HPET regression in 2.6.26 versus 2.6.25 -- found ano ...
Couldn't you play with CONFIG_BOOT_PRINTK_DELAY? -- i. --
Aug 21, 12:04 am 2008
Yinghai Lu
Re: HPET regression in 2.6.26 versus 2.6.25 -- found ano ...
so old kernel doesn't register [fec00000, ffffffff] from e820 as reserved. because lapic address register at first. lapic, ioapic, and hpet0 addr all should be children of [fec00000, fffffffff] as reserved from e820. please use my print out patch with current kernel. YH --
Aug 20, 11:42 pm 2008
David Witbrodt
Re: HPET regression in 2.6.26 versus 2.6.25 -- found ano ...
Yinghai, Please advise me on how you would like me to handle 2.6.27 kernels. If I use your patch on 2.6.27-rc3, the message scroll off the 80x25 screen before I can see them... and then the kernel hangs. I can run the kernel with "hpet=disable", but I'm not sure you want that. If you _do_ want that, just let me know. As an alternative, I can alter your patch to use a log level of something lower, like KERN_WARNING. Then I could see the messages from your patch if I set a "loglevel=4" ...
Aug 20, 9:07 pm 2008
Yinghai Lu
Re: skbuff bug?
it seems caused by commit f8d59f7826aa73c5e7682fbed6db38020635d466 Author: Bruce Allan <bruce.w.allan@intel.com> Date: Fri Aug 8 18:36:11 2008 -0700 e1000e: test for unusable MSI support Some systems do not like 82571/2 use of 16-bit MSI messages and some other systems claim to support MSI, but neither really works. Setup a test MSI handler to detect whether or not MSI is working properly, and if not, fallback to legacy INTx interrupts. Signed-off-by: Bruce ...
Aug 21, 4:46 pm 2008
Yinghai Lu
skbuff bug?
skb_over_panic: text:ffffffff8056cec7 len:27760 put:27760 head:ffff880821c9b800 data:ffff880821c9b812 tail:0x6c82 end:0x680 dev:eth10 ------------[ cut here ]------------ kernel BUG at net/core/skbuff.c:128! invalid opcode: 0000 [1] SMP Dumping ftrace buffer: (ftrace buffer empty) CPU 0 Modules linked in: Pid: 0, comm: swapper Not tainted 2.6.27-rc3-tip-00674-g64e34ec-dirty #126 RIP: 0010:[<ffffffff8089c163>] [<ffffffff8089c163>] skb_put+0x82/0x8e RSP: 0018:ffffffff80fa2d30 EFLAGS: ...
Aug 20, 8:56 pm 2008
Andrew Morton Aug 20, 8:31 pm 2008
Vlad Yasevich
[PATCH] sctp: fix potential panics in the SCTP-AUTH API.
Andrew, David This problem is not limited to only the reported socket option. Most of the AUTH socket options suffer the same or similar issues. Here is a patch that fixes all the issues I saw the the API. The new tests for this API have been created and all of them have passed. -vlad sctp: fix potential panics in the SCTP-AUTH API. All of the SCTP-AUTH socket options could cause a panic if the extension is disabled and the API is envoked. Additionally, there were some additional ...
Aug 20, 7:57 pm 2008
David Miller
Re: [PATCH] sctp: fix potential panics in the SCTP-AUTH API.
From: Vlad Yasevich <vladislav.yasevich@hp.com> Applied, thanks for working on this so quickly Vlad. I'll queue this up for -stable. --
Aug 21, 3:35 am 2008
David Witbrodt
Re: HPET regression in 2.6.26 versus 2.6.25 -- found ano ...
Ahh, what an error I made! I made at least 3 errors in that post, and OK, this was my first error. My first experiment -- leave request_resource() alone, and move the additions of the kernel memory regions to setup_arch() -- produced a booting kernel. When that happened, I was already late for work... so I produced the output of 'cat /proc/iomem' from that kernel and moved on to my second test I simply forgot to include the output in my message because I was rushing to get out of the ...
Aug 20, 7:48 pm 2008
Patrick McHardy Aug 21, 4:33 am 2008
Patrick McHardy
Re: [PATCH] nf_conntrack_gre: more locking around keymap list
Agreed, I don't see a reason why it wouldn't need the lock. Applied, thanks. I'll also push this one to -stable. --
Aug 21, 4:32 am 2008
Patrick McHardy
Re: [PATCH] nf_conntrack_sip: fix by making helper point ...
Crap. Good catch, thanks a lot. Applied and I'll push it to -stable. --
Aug 21, 4:28 am 2008
Brian King
Re: [PATCH] ibmveth: fix bad UDP checksums
Acked by: Brian King <brking@linux.vnet.ibm.com> -- Brian King Linux on Power Virtualization IBM Linux Technology Center --
Aug 21, 12:41 pm 2008
Yinghai Lu
Re: HPET regression in 2.6.26 versus 2.6.25 -- found ano ...
please apply attached patch to see if insert_resource/request resource works on your conf YH
Aug 20, 7:02 pm 2008
Timothy J Fontaine Aug 21, 8:20 am 2008
Marcel Holtmann
Re: CONFIG_KMOD breakage in next kernel
I missed the patches, but that happens from time to time. Just looked at them and they look pretty nice. I like it this way. Acked-by: Marcel Holtmann <marcel@holtmann.org> Regards Marcel --
Aug 20, 6:49 pm 2008
Julius Volz
Re: [PATCH RFC 19/24] IPVS: Add IPv6 support flag to sch ...
Thanks, I guess I should start basing all of my IPVS patches on this tree rather than net-2.6? Julius -- Google Switzerland GmbH --
Aug 21, 3:21 am 2008
Brian Haley
Re: [PATCH RFC 08/24] IPVS: Make protocol handler functi ...
I don't think you need the __constant_htons() here, just htons() - htons() I think there's more in one of the other patches too. So why can't you just create one ip_vs_debug_packet_v6() instead of these ah and esp ones which are identical? -Brian --
Aug 21, 6:29 am 2008
Simon Horman
Re: [PATCH RFC 00/24] IPVS: Add first IPv6 support to IPVS
Other than the packet format of the sync deamon, are there any fundamental restrictions here? If we extended the sync daemon, could it work? If so, perhaps we could rev the sync deamon protocol and fix a few other kinks, like the handling of timeouts and the Unfortunately (or fortunately depending on how you look at it), I'm going to be away skiing for the next couple of days. Apologies for the slow responses that will lead to. --
Aug 20, 6:17 pm 2008
Julius Volz
Re: [PATCH RFC 08/24] IPVS: Make protocol handler functi ...
Hi, Thanks! I guessed from the name and other uses that __constant_htons() is just a version of htons() optimized for values that are constant at compile If you look at the original files, the whole ip_vs_proto_ah.c and ip_vs_proto_esp.c are 100% identical except for the protocol names / constants :-/ So I stuck with this pattern for now. Maybe it would make sense to join those two files in a change separate from the v6 functionality? There's already a lot of duplication in the ...
Aug 21, 6:52 am 2008
Simon Horman
Re: [PATCH RFC 19/24] IPVS: Add IPv6 support flag to sch ...
I wonder if there are some spare bits inside the flags member of ip_vs_scheduler that could be used for this purpose? Otherwise, I'm fine with this, we can juggle things around later to use the other bits in supports_ipv6 for other things if and when the need arises. Here is a version that applies against lvs-2.6 From: Julius Volz <juliusv@google.com> IPVS: Add IPv6 support flag to schedulers Add 'supports_ipv6' flag to struct ip_vs_scheduler to indicate whether a scheduler supports ...
Aug 20, 6:48 pm 2008
Julius Volz
Re: [PATCH RFC 08/24] IPVS: Make protocol handler functi ...
He :) Still, I think my original interpretation was correct? It's always used with constant values and there are many usages similar to this: skb->protocol = __constant_htons(ETH_P_802_3); Yep, it's too big, I know :) And reworking the complete patch into a sane series didn't really work out that well because everything is so interdependent. Sometimes it might even be easier to look at the Yeah, should be easy. I'll look at it (if there is any interest). Julius -- Google ...
Aug 21, 7:55 am 2008
Simon Horman
Re: [PATCH RFC 00/24] IPVS: Add first IPv6 support to IPVS
Thanks. Here are a few thoughts I have had in my breif overview of the code so far - mainly just simple style things. If any of my comments are obviously stupid, please just say so as I haven't got to the end of the series yet and I'm sure some of my questions are answered in the code. [PATCH RFC 01/24] IPVS: Add genetlink interface definitions to ip_vs.h [PATCH RFC 02/24] IPVS: Add genetlink interface implementation * Already in lvs-2.6. Are there any changes? [PATCH RFC 02/24] ...
Aug 21, 2:29 pm 2008
Julius Volz
Re: [PATCH RFC 00/24] IPVS: Add first IPv6 support to IPVS
There shouldn't be any fundamental restrictions, it's just a piece of the puzzle that I could easily leave out of the picture for now. I haven't studied the sync daemon closely yet, but one thing I was briefly wondering about was whether we should just blow up the addresses in struct ip_vs_sync_conn to be of type union nf_inet_addr (probably not acceptable, wasting too much bandwidth for v4 entries) or how to send differently sized entries based on the IP version in a clean way. But it sounds ...
Aug 21, 2:59 am 2008
Julius Volz
Re: [PATCH RFC 08/24] IPVS: Make protocol handler functi ...
Ok, maybe the problem with this is more what it says before the definition of __constant_htons() in include/linux/byteorder.h? ---- /* * These helpers could be phased out over time as the base version * handles constant folding. */ --- Which is probably the reason why it shouldn't be used anymore? So although it's probably doing the right thing already, I'll just change it to htons() and everyone should be happy... Julius -- Google Switzerland GmbH --
Aug 21, 8:28 am 2008
Simon Horman
Re: [PATCH RFC 00/24] IPVS: Add first IPv6 support to IPVS
Sorry, I forgot to finish this sentance :-( What I was thinking was that any change would introduce a protocol incompatibility. However I think that there is some room for small changes to be added using currently unsued bits in ip_vs_sync_conn.flags. This could also be used to allow syncryonising of timeouts (which is unrelated to IPv6). So while my general feeling that the synchronisation protocol is not as extendable as it should be stands. We can probably work with the current protocol ...
Aug 21, 3:05 pm 2008
Julius Volz
Re: [PATCH RFC 00/24] IPVS: Add first IPv6 support to IPVS
Thanks for looking at this, no problem. I know it's a bit much to digest, but I think there is no smaller part that I could post that is No, those are just exactly what I sent you before. I included them because I was basing it on net-2.6. Btw., David just announced that he opened net-next-2.6, so perhaps he (IPV6 = y || IP_VS = IPV6) means that this option will only be visible if either CONFIG_IPV6 is set to Y or if both CONFIG_IPV6 and CONFIG_IP_VS are modules (if both are off, the ...
Aug 21, 3:01 pm 2008
Simon Horman
Re: [PATCH RFC 19/24] IPVS: Add IPv6 support flag to sch ...
That would make things slightly more convenient for me. But I'm not the only fish in the sea :-) --
Aug 21, 6:23 am 2008
Brian Haley
Re: [PATCH RFC 08/24] IPVS: Make protocol handler functi ...
I think the __constant one is for initializations. All I know is that someone (Stephen Hemminger?) always points this out in other patchsets, I didn't look too closely, there's a lot of patches! :) Doing it in a separate patch is probably a good idea though. -Brian --
Aug 21, 7:08 am 2008
Brian Haley
Re: [PATCH RFC 08/24] IPVS: Make protocol handler functi ...
I know it's a minor point, but look at tcp_ipv6.c: if (skb->protocol == htons(ETH_P_IP)) return tcp_v4_conn_request(sk, skb); That's different from the code you quoted that's doing an assignment. __constant_htons() isn't used anywhere in an if() statement, although I did find a couple in the bonding driver that should be fixed. -Brian --
Aug 21, 8:12 am 2008
Simon Horman
Re: [patch] ipvsadm: use strtoul to convert ip addresses ...
Thanks. That does fix the 0.0.0.0 problem that I was seeing. --
Aug 20, 5:48 pm 2008
Simon Horman
Re: [patch] ipvsadm: use strtoul to convert ip addresses ...
I think that either hosting it on linuxvirtualserver.org or kernel.org would be a good idea. Wensong what do you think? --
Aug 20, 5:05 pm 2008
Michael Chan
Re: 2.6.26/tg3 ping roundtrip times > 2000 ms on local network
It may be different versions of ASF. Try ethtool -i eth0. It may tell us the firmware version. --
Aug 21, 9:21 am 2008
Marc Haber
Re: 2.6.26/tg3 ping roundtrip times > 2000 ms on local network
Both machines have that string in their dmesg. Greetings Marc -- ----------------------------------------------------------------------------- Marc Haber | "I don't trust Computers. They | Mailadresse im Header Mannheim, Germany | lose things." Winona Ryder | Fon: *49 621 72739834 Nordisch by Nature | How to make an American Quilt | Fax: *49 3221 2323190 --
Aug 21, 9:09 am 2008
Artem Bityutskiy
Re: [PATCH] Remove duplicated unlikely() in IS_ERR()
Hi, Your patch did not apply cleanly, but I've done all the manual work and pushed UBIFS-related part of it to ubifs-2.6.git. Thanks. -- Best regards, Artem Bityutskiy (Битюцкий Артём) --
Aug 21, 5:39 am 2008
David Miller
Re: [PATCH take 2] pkt_sched: Fix qdisc_watchdog() vs. d ...
From: Jarek Poplawski <jarkao2@gmail.com> Applied, thanks a lot Jarek. --
Aug 21, 5:11 am 2008
Jarek Poplawski
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
But if I get above right, you acknowledge the problem currently exists? Jarek P. --
Aug 21, 3:33 am 2008
David Miller
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
From: Jarek Poplawski <jarkao2@gmail.com> They hold RTNL as well. Remember, sch_tree_lock() uses qdisc_root_lock() which as I've told you at least twice now asserts that RTNL is held :-) --
Aug 21, 3:05 am 2008
Jarek Poplawski
Re: [PATCH take 2] pkt_sched: Fix qdisc_watchdog() vs. d ...
On Thu, Aug 21, 2008 at 04:10:24PM +1000, Herbert Xu wrote: We need to check if something depends on &noop_qdisc returned in the similar state. Otherwise, there is a bit too much possibilities here, so it would be nice to simplify this all. Thanks, Jarek P. --
Aug 20, 11:49 pm 2008
Herbert Xu
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
Where do they use qdisc->list? Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt --
Aug 21, 3:21 am 2008
Jarek Poplawski
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
So, what I was most suspicious of, cls_u32, looks like safe wrt. this. Congratulations for good estimation of this. But how about this part in qdisc_destroy(): if (qdisc->parent) list_del(&qdisc->list); If we do this with child qdisc from qdisc_graft() it's without deactivation. The rest of the tree can be dequeued in the meantime and call qdisc_tree_decrease_qlen() (like hfsc, tbf, netem), which uses qdisc_lookup() to access this list. We list_del() under ...
Aug 21, 3:01 am 2008
David Miller
Re: [PATCH take 2] pkt_sched: Fix qdisc_watchdog() vs. d ...
From: Herbert Xu <herbert@gondor.apana.org.au> Not a bad idea at all. The reason it's there is a left-over from earlier designs of my multiqueue stuff, I thought we'd always multiplex the qdiscs to be per-queue. But once Patrick showed me we couldn't do that, we now have shared qdiscs. If I get a chance I'll work on this. But to be honest given Linus's temperment right now we're only going to be able to merge one-liners to fix these kinds of problems and anything more serious is going ...
Aug 21, 12:52 am 2008
Jarek Poplawski
Re: [PATCH take 2] pkt_sched: Fix qdisc_watchdog() vs. d ...
On Thu, Aug 21, 2008 at 08:27:21AM +0000, Jarek Poplawski wrote: ...and it's OK, yet. Sorry, Jarek P. --
Aug 21, 1:35 am 2008
Jarek Poplawski Aug 21, 1:40 pm 2008
Jarek Poplawski
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
Alas I've to have a break now, anyway I think for now "my" proposal should be safer since it worked like this before... But of course after good checking your patch should be better. --
Aug 21, 5:55 am 2008
Herbert Xu
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
Sure, that was just an illustration of what I meant. It doesn't even compile :) Feel free to fix this up into a real patch with a new lock. Thanks, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt --
Aug 21, 3:24 pm 2008
Herbert Xu
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
Good catch. Longer term we should fix it so that it doesn't do the silly lookup at run-time. In fact we'll be getting rid of requeue so there will be no need to do this in TBF at all. However, for now please create a patch to put a pair of root locks around the list_del in qdisc_destroy. Thanks, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: ...
Aug 21, 5:01 am 2008
Jarek Poplawski
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
On Thu, Aug 21, 2008 at 08:58:57PM +0200, Jarek Poplawski wrote: Of course, except the state before qdisc_create() and qdisc_graft() with default qdiscs, but it doesn't seem to matter here. Jarek P. --
Aug 21, 2:14 pm 2008
Herbert Xu
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
This list should only be used by things like qdisc_lookup which occurs under the RTNL. The actual packet processing certainly should not be walking a linked list. Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt --
Aug 21, 3:18 am 2008
Jarek Poplawski
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
Actually, I've called it wrong, they hold qdisc root lock, but they certainly can't have rtnl_lock() at the moment! Jarek P. --
Aug 21, 3:11 am 2008
Herbert Xu
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
You're right, this doesn't work at all. In fact it's been broken even before we removed the root lock. The problem is that we used to have one big linked list for each device. That was protected by the device qdisc lock. Now we have one list for each txq and qdisc_lookup walks every single txq. This means that no single qdisc root lock can protect this anymore. Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: ...
Aug 21, 5:35 am 2008
Jarek Poplawski
Re: [PATCH take 2] pkt_sched: Fix qdisc_watchdog() vs. d ...
Anyway, it's tricky: we have 2 deactivation cases to care for: 1) a "real" (sleeping) qdisc and __QDISC_STATE_DEACTIVATED 2) a &noop_qdisc and not __QDISC_STATE_DEACTIVATED Jarek P. --
Aug 21, 1:47 am 2008
Herbert Xu
Re: [PATCH take 2] pkt_sched: Fix qdisc_watchdog() vs. d ...
Actually, why do we even keep a netdev_queue pointer in a qdisc? A given qdisc can be used by multiple queues (which is why the lock was moved into the qdisc in the first place). How about keeping a pointer directly to the root qdisc plus a pointer to the netdev (which seems to be the only other use for qdisc->dev_queue)? That way there won't be any confusion as to whether we want the sleeping or non-sleeping qdisc. Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ...
Aug 21, 12:16 am 2008
Jarek Poplawski
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
Since qdisc_destroy() is used for destroying root qdisc too, isn't it better to get this lock back in notify_and_destroy() like this: if (old) { if (parent) sch_tree_lock() qdisc_destroy() if (parent) sch_tree_unlock() } Thanks, Jarek P. --
Aug 21, 5:19 am 2008
Herbert Xu
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
OK I've lost track of what you were trying to say. Could you please just restate the problem you saw? Thanks, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt --
Aug 21, 4:26 am 2008
Jarek Poplawski
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
I thought I described the problem quite clearly, except this error in the lock name. I certainly can miss much more things than you. And, after your answer I'm simply not sure if the question is still valid. Jarek P. --
Aug 21, 4:20 am 2008
Herbert Xu
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
Ugly as it may look, I think this is probably the best fix for now. For 2.6.28 we can fix it properly and remove this eyesore :) Thanks, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt --
Aug 21, 5:22 am 2008
Jarek Poplawski
Re: [PATCH take 2] pkt_sched: Fix qdisc_watchdog() vs. d ...
Probably it's too early in the morning, so I would prefer to see some code... It seems exchanging the qdisc to &noop_qdisc needs such a direct root dev_queue access, e.g. we want to get in dev_queue_xmit() &noop_qdisc as fast as possible during deactivation. On the other hand we need to check for __QDISC_STATE_DEACTIVATED to know the state of a "real" qdisc. BTW, it looks like currently we do this wrong: if it's really I think definitely some changes are needed here for the future, but of ...
Aug 21, 1:27 am 2008
David Miller
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
From: Jarek Poplawski <jarkao2@gmail.com> Grrr... :-) Note that this only happens when my arch nemesis, ->requeue(), fails. Same applies to the netem case, and hfsc's "peek". All other qdisc_tree_decrease_qlen() users hold RTNL. Really, it proves ->requeue() should die, and be replaced with "peek" and "unlink" methods. --
Aug 21, 5:06 am 2008
Herbert Xu
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
Why don't you just point out the problems that you see rather than hypothesising :) Thanks, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt --
Aug 21, 3:51 am 2008
Jarek Poplawski
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
I don't think there could be such a problem, since nobody should look for such a destroyed qdisc: they look for their ancestors only. Anyway, I can't do this patch before evening, so I wait for suggestions or you could simply do it as you wish, no problem. Cheers, Jarek P. --
Aug 21, 5:49 am 2008
Herbert Xu
Re: [PATCH take 2] pkt_sched: Fix qdisc_watchdog() vs. d ...
Oh yeah we don't need this right away. Jarek's patch should be quite safe for the time being. Thanks, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt --
Aug 21, 1:00 am 2008
Jarek Poplawski
Re: [PATCH] pkt_sched: Fix qdisc_watchdog() vs. dev_deac ...
On Wed, Aug 20, 2008 at 11:56:56AM +0000, Jarek Poplawski wrote: Actually, this patch is "no good" (wrong root qdisc). David, please don't apply - I'll send it redone. Thanks, --
Aug 20, 10:17 pm 2008
David Miller
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
From: Herbert Xu <herbert@gondor.apana.org.au> This looks even worse, actually. If we just unlinked this thing, we don't want anyone finding it, even before we grab this lock, to adjust queue counts. --
Aug 21, 5:27 am 2008
Jarek Poplawski
[PATCH take 2] pkt_sched: Fix qdisc_watchdog() vs. dev_d ...
---------------> (take 2) pkt_sched: Fix qdisc_watchdog() vs. dev_deactivate() race dev_deactivate() can skip rescheduling of a qdisc by qdisc_watchdog() or other timer calling netif_schedule() after dev_queue_deactivate(). We prevent this checking aliveness before scheduling the timer. Since during deactivation the root qdisc is available only as qdisc_sleeping additional accessor qdisc_root_sleeping() is created. With feedback from Herbert Xu ...
Aug 20, 10:49 pm 2008
Herbert Xu
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
It's not about looking for the destroyed qdisc, it's about walking the list and accidentally hitting the destroyed qdisc and wandering into lalaland. Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt --
Aug 21, 5:51 am 2008
Jarek Poplawski
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
I mean here: hfsc_dequeue(), netem_dequeue() and tbf_dequeue(). Jarek P. --
Aug 21, 3:18 am 2008
Herbert Xu
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
For the next development tree we could even add an ASSERT_RTNL to qdisc_lookup and co to ensure that nobody abuses this interface. Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt --
Aug 21, 3:23 am 2008
Jarek Poplawski
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
Sure, here is a scenario: cpu1 cpu2 rtnl_lock() qdisc_graft() // parent != NULL ->cops-graft() notify_and_destroy() qdisc_run() spin_lock(root_lock) qdisc_destroy(old) dequeue_skb() tbf_dequeue() qdisc_tree_decrease_qlen() qdisc_lookup() //deleting from qdisc_sleeping->list //walking qdisc_sleeping->list //under rtnl_lock() only //under qdisc root_lock only list_del(qdisc->list) list_for_each_entry(txq_root) Jarek P. --
Aug 21, 4:55 am 2008
Herbert Xu
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
We've got at least the RX and TX queues. That makes two locks and two lists. Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt --
Aug 21, 3:23 pm 2008
Herbert Xu
Re: [PATCH take 2] pkt_sched: Fix qdisc_watchdog() vs. d ...
When would we actually want the non-sleeping variant? Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt --
Aug 20, 11:10 pm 2008
Herbert Xu
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
How about going back to a single list per-device again? This list is only used on the slow path (well anything that tries to walk a potentially unbounded linked list is slow :), and qdisc_lookup walks through everything anyway. We'll need to then add a new lock to protect this list, until we remove requeue. Actually just doing the locking will be sufficient. Something like this totally untested patch (I've abused your tx global lock): diff --git a/net/sched/sch_api.c ...
Aug 21, 5:48 am 2008
Jarek Poplawski
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
I don't think there is such a problem. I thought you and David were concerned with something trying to find and use this qdisc: that's why I wrote it's nobody ancestor at the moment. sch_tree_lock() should be enough for now because in the current implementation we have only one root qdisc with pointers copied to every dev_queue. At least I can't see nothing more in qdisc_create() and qdisc_graft(). So, qdisc_lookup() seems to be designed for the future (or to do this lookup more exactly with ...
Aug 21, 11:58 am 2008
Herbert Xu
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
Well your patch doesn't work and my patch doesn't compile :) The problem is that qdisc_lookup walks through every txq's list while the sch_tree_lock protects a single txq only. Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt --
Aug 21, 6:12 am 2008
Rafael J. Wysocki
Re: [linux-pm] forcedeth 10de:0373 doesn't work on resume
I cannot reproduce the problem locally, at least not with 2.6.27-rc4. I was able to make my box resume from suspend to RAM by using # s2ram --force --vbe_mode --vbe_post (s2ram as shipped in openSUSE 11.0) and forcedeth works correctly after the resume. However, I had to add 'acpi_sleep=old_ordering' to the kernel command line. My box is a desktop with an Asus A8N-SLI motherboard and an Athlon 64 X2 CPU. I have created a Bugzilla entry for this issue ...
Aug 21, 5:34 am 2008
Eric W. Biederman
[PATCH 4/8] driver core: Implement tagged directory supp ...
This patch enables tagging on every class directory if struct class has a tag_type. In addition device_del and device_rename were modified to use sysfs_delete_link and sysfs_rename_link respectively to ensure when these operations happen on devices whose classes have tag_ops that they work properly. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Benjamin Thery <benjamin.thery@bull.net> --- drivers/base/class.c | 30 ++++++++++++++++++++++--- ...
Aug 20, 11:37 pm 2008
David Miller
Re: [PATCH 6/8] Revert "netns: Fix device renaming for sysfs"
From: ebiederm@xmission.com (Eric W. Biederman) Acked-by: David S. Miller <davem@davemloft.net> --
Aug 20, 11:47 pm 2008
Eric W. Biederman
[PATCH 3/8] sysfs: Implement sysfs_delete_link and sysfs ...
When removing a symlink sysfs_remove_link does not provide enough information to figure out which tagged directory the symlink falls in. So I need sysfs_delete_link which is passed the target of the symlink to delete. Further half the time when we are removing a symlink the code is actually renaming the symlink but not doing so explicitly because we don't have a symlink rename method. So I have added sysfs_rename_link as well. Both of these functions now have enough information to find a ...
Aug 20, 11:35 pm 2008
Eric W. Biederman
[PATCH 6/8] Revert "netns: Fix device renaming for sysfs"
This reverts commit aaf8cdc34ddba08122f02217d9d684e2f9f5d575. Drivers like the ipw2100 call device_create_group when they are initialized and device_remove_group when they are shutdown. Moving them between namespaces deletes their sysfs groups early. In particular the following call chain results. netdev_unregister_kobject -> device_del -> kobject_del -> sysfs_remove_dir With sysfs_remove_dir recursively deleting all of it's subdirectories, and nothing adding them ...
Aug 20, 11:38 pm 2008
Eric W. Biederman
[PATCH 0/8] sysfs namespace support
Greg the first 4 patches are the rest of the infrastructure. Everything rebased quite nicely. All of the conflicts appear to have been false positives. With the addition of sysfs_rename_link sysfs_create_link_nowarn is never called so we can remove it. I'm not really certain whose tree the last netns or the user namespace changes should live in, but I am continuing to have those patches in this patchset for completeness. Eric W. Biederman (7): 1 sysfs: Implement sysfs tagged ...
Aug 20, 11:31 pm 2008
David Miller
Re: [PATCH 7/8] netns: Enable tagging for net_class dire ...
From: ebiederm@xmission.com (Eric W. Biederman) Acked-by: David S. Miller <davem@davemloft.net> --
Aug 20, 11:47 pm 2008
Eric W. Biederman
[PATCH 5/8] sysfs: Remove sysfs_create_link_nowarn
All of the uses have been replaced by sysfs_rename_link which is a clearer primitive to is also needed for the tagged directory support. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> --- fs/sysfs/symlink.c | 15 --------------- include/linux/sysfs.h | 10 ---------- 2 files changed, 0 insertions(+), 25 deletions(-) diff --git a/fs/sysfs/symlink.c b/fs/sysfs/symlink.c index 2a64645..3c7a338 100644 --- a/fs/sysfs/symlink.c +++ b/fs/sysfs/symlink.c @@ -90,21 +90,6 @@ ...
Aug 20, 11:36 pm 2008
Eric W. Biederman
[PATCH 8/8] sysfs: user namespaces: fix bug with clone(C ...
From: Serge Hallyn <serge@us.ibm.com> Mark the /sys/kernel/uids directory to be tagged so that processes in different user namespaces can remount /sys and see their own uid listings. Without this patch, having CONFIG_FAIR_SCHED=y makes user namespaces unusable, because when you clone(CLONE_NEWUSER) it will auto-create the root userid and try to create /sys/kernel/uids/0. Since that already exists from the parent user namespace, the create fails, and the clone misleadingly ends ...
Aug 20, 11:40 pm 2008
Eric W. Biederman Aug 20, 11:39 pm 2008
David Miller
Re: [PATCH 0/8] sysfs namespace support
From: ebiederm@xmission.com (Eric W. Biederman) You can send it all through Greg or whoever, don't feel obligated to push it through me since it depends upon the earlier bits in this series. --
Aug 20, 11:37 pm 2008
Eric W. Biederman
[PATCH 1/8] sysfs: Implement sysfs tagged directory support.
The problem. When implementing a network namespace I need to be able to have multiple network devices with the same name. Currently this is a problem for /sys/class/net/*, /sys/devices/virtual/net/*, and potentially a few other directories of the form /sys/ ... /net/*. What this patch does is to add an additional tag field to the sysfs dirent structure. For directories that should show different contents depending on the context such as /sys/class/net/, and /sys/devices/virtual/net/ this ...
Aug 20, 11:33 pm 2008
Eric W. Biederman
[PATCH 2/8] sysfs: Merge sysfs_rename_dir and sysfs_move_dir
These two functions do 90% of the same work and it doesn't significantly obfuscate the function to allow both the parent dir and the name to change at the same time. So merge them together to simplify maintenance, and increase testing. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> --- fs/sysfs/dir.c | 121 +++++++++++++++++-------------------------------------- 1 files changed, 38 insertions(+), 83 deletions(-) diff --git a/fs/sysfs/dir.c b/fs/sysfs/dir.c index ...
Aug 20, 11:34 pm 2008
previous daytodaynext day
August 20, 2008August 21, 2008August 22, 2008