| From | Subject | Date |
|---|---|---|
| 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 | Re: HPET regression in 2.6.26 versus 2.6.25 -- found ano ...
with hpet=disable?
YH
--
| 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 | Re: Oops in authenc: 2.6.26.3
[Empty message]
| 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 | Re: Oops in authenc: 2.6.26.3
(cc's added)
--
| 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 | Re: [PATCH] nf_conntrack_gre: nf_ct_gre_keymap_flush() fixlet
Also applied, thanks Alexey.
--
| 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 | Re: r8169 MTU greater than 1500 causes corruption for ot ...
Yup, this patch also works.
tjfontaine
| 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 | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl ...
[Empty message]
| 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 | [PATCH 7/8] netns: Enable tagging for net_class director ...
[Empty message]
| 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 day | today | next day |
|---|---|---|
| August 20, 2008 | August 21, 2008 | August 22, 2008 |
