sock: fix a typo in the comment
Subsystems (3)
PATCH 1/3 sock: fix a typo in the comment
Correct 'transfert' to 'transfer' to better deliver the original author's message.
--- net/core/sock.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
net/core/sock.c +1 -1
@@ -1579,7 +1579,7 @@ EXPORT_SYMBOL(sock_wfree);void skb_orphan_partial (struct sk_buff *skb) {/* TCP stack sets skb->ooo_okay based on sk_wmem_alloc, -* so we do not completely orphan skb, but transfert all +* so we do not completely orphan skb, but transfer all * accounted bytes but one, to avoid unexpected reorders. */ if (skb->destructor == sock_wfree
PATCH 2/3 netdevice: remove useless else keyword
Clean up multiple useless else keywords. Add empty lines for readability.
--- net/core/dev.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
net/core/dev.c +4 -2
@@ -1062,9 +1062,11 @@ static int dev_get_valid_name(struct net *net,if (strchr (name,'%' ))return dev_alloc_name_ns (net, dev, name); -else if (__dev_get_by_name (net, name)) + +if (__dev_get_by_name (net, name))return -EEXIST ; -else if (dev->name != name) + +if (dev->name != name)strlcpy (dev->name, name,IFNAMSIZ );return 0 ;
Re: [PATCH net-next 2/3] netdevice: remove useless else keyword
Quoted 2 lines · Jean Sacren
Clean up multiple useless else keywords. Add empty lines for readability.
Hmm, don't really think this is actually needed or makes things better.
Quoted 28 lines
Signed-off-by Jean Sacren <[email protected]>--- net/core/dev.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)net/core/dev.c +4
-3@@ -1062,9 +1062,11 @@ static int dev_get_valid_name(struct net *net,if (strchr (name,'%' ))return dev_alloc_name_ns (net, dev, name); -else if (__dev_get_by_name (net, name)) + +if (__dev_get_by_name (net, name))return -EEXIST ; -else if (dev->name != name) + +if (dev->name != name)strlcpy (dev->name, name,IFNAMSIZ );return 0 ; --To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH net-next 2/3] netdevice: remove useless else keyword
Quoted 5 lines · Daniel Borkmann
Quoted 2 lines · Jean Sacren
Clean up multiple useless else keywords. Add empty lines for readability.
Hmm, don't really think this is actually needed or makes things better.
Maybe that's true.
Though this patch is pretty trivial and I would (probably) not submit it, I think it's a reasonable style rule to not use else after an if() that always returns.
if (foo) return bar; next_statement;
should be preferred over
if (foo) return bar; else next_statement;
The blank lines though are a style taste. Maybe removing the blank line before the first if in this patch might be better.
{
BUG_ON(!net);
if (!dev_valid_name(name))
return -EINVAL;
if (strchr(name, '%'))
return dev_alloc_name_ns(net, dev, name);
if (__dev_get_by_name(net, name))
return -EEXIST;
if (dev->name != name)
strlcpy(dev->name, name, IFNAMSIZ);
return 0;
}PATCH 3/3 net: core: fix wrong linkage for ptype_base and ptype_all symbols
In reply to Jean SacrenIn commit 900ff8c6 ("net: move procfs code to net/core/net-procfs.c"), it changed the correct linkage of ptype_base and ptype_all symbols to the wrong one in net/core/dev.c, yet failed to change to the correct linkage of those two in net/core/net-procfs.c.
Fix the wrong linkage by setting static specifier to both sets of the symbols so that they could have coherent internal linkage by themselves to avoid interference with each other.
--- net/core/dev.c | 4 ++-- net/core/net-procfs.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
net/core/dev.c +2 -2
@@ -142,8 +142,8 @@static DEFINE_SPINLOCK (ptype_lock);static DEFINE_SPINLOCK (offload_lock); -struct list_head ptype_base[PTYPE_HASH_SIZE ]__read_mostly ; -struct list_head ptype_all__read_mostly ;/* Taps */ +static struct list_head ptype_base[PTYPE_HASH_SIZE ]__read_mostly ; +static struct list_head ptype_all__read_mostly ;/* Taps */ static struct list_head offload_base__read_mostly ;/*
net/core/net-procfs.c +2 -2
@@ -9,8 +9,8 @@#define get_offset (x) ((x) & ((1 << BUCKET_SPACE) - 1))#define set_bucket_offset (b, o) ((b) << BUCKET_SPACE | (o)) -extern struct list_head ptype_all__read_mostly ; -extern struct list_head ptype_base[PTYPE_HASH_SIZE ]__read_mostly ; +static struct list_head ptype_all__read_mostly ; +static struct list_head ptype_base[PTYPE_HASH_SIZE ]__read_mostly ;static inline struct net_device *dev_from_same_bucket (struct seq_file *seq,loff_t *pos) {
Re: [PATCH net-next 3/3] net: core: fix wrong linkage for ptype_base and ptype_all symbols
Quoted 8 lines · Jean Sacren
In commit
900ff8c6("net: move procfs code tonet/core/net-procfs.c"), it changed the correct linkage ofptype_baseandptype_allsymbols to the wrong one innet/core/dev.c, yet failed to change to the correct linkage of those two innet/core/net-procfs.c.Fix the wrong linkage by setting static specifier to both sets of the symbols so that they could have coherent internal linkage by themselves to avoid interference with each other.
Ho? I do not think this is correct, what makes you think so?
The net-procfs.c usage of ptype_* is there to show current pf_packet users via seq_files in procfs. Your patch will just break this.
Quoted 41 lines
Signed-off-by Jean Sacren <[email protected]>--- net/core/dev.c | 4 ++-- net/core/net-procfs.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)net/core/dev.c +2
-2@@ -142,8 +142,8 @@static DEFINE_SPINLOCK (ptype_lock);static DEFINE_SPINLOCK (offload_lock); -struct list_head ptype_base[PTYPE_HASH_SIZE ]__read_mostly ; -struct list_head ptype_all__read_mostly ;/* Taps */ +static struct list_head ptype_base[PTYPE_HASH_SIZE ]__read_mostly ; +static struct list_head ptype_all__read_mostly ;/* Taps */ static struct list_head offload_base__read_mostly ;/* net/core/net-procfs.c +2
-3@@ -9,8 +9,8 @@#define get_offset (x) ((x) & ((1 << BUCKET_SPACE) - 1))#define set_bucket_offset (b, o) ((b) << BUCKET_SPACE | (o)) -extern struct list_head ptype_all__read_mostly ; -extern struct list_head ptype_base[PTYPE_HASH_SIZE ]__read_mostly ; +static struct list_head ptype_all__read_mostly ; +static struct list_head ptype_base[PTYPE_HASH_SIZE ]__read_mostly ;static inline struct net_device *dev_from_same_bucket (struct seq_file *seq,loff_t *pos) { --To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH net-next 3/3] net: core: fix wrong linkage for ptype_base and ptype_all symbols
From: Daniel Borkmann <[email protected]>
Date: Tue, 06 Aug 2013 10:13:15 +0200
Quoted 7 lines · Jean Sacren
Quoted 5 lines
In commit
900ff8c6("net: move procfs code tonet/core/net-procfs.c"), it changed the correct linkage ofptype_baseandptype_allsymbols to the wrong one innet/core/dev.c, yet failed to change to the correct linkage of those two innet/core/net-procfs.c.
Quoted 5 lines
Quoted 3 lines
Fix the wrong linkage by setting static specifier to both sets of the symbols so that they could have coherent internal linkage by themselves to avoid interference with each other.
Ho? I do not think this is correct, what makes you think so?
Thank you for the awesome comment.
I'm sorry to tell you but the patch is correct. Both symbols of ptype_{base,all} were wrongly declared as extern in net-procfs.c in the first place.
Quoted 2 lines
The
net-procfs.cusage of ptype_* is there to show currentpf_packetusers viaseq_filesin procfs. Your patch will just break this.
I validated it before I submitted the patch that all the symbols of ptype_{base,all} are used exclusively in net/core/net-procfs.c and net/core/dev.c but not outside of those two places. Therefore, your assumption for breakage is groundless.
As a kernel networking guru as you are, you shall have the lab and all sorts of test cases to validate patches. I'd love to run this type of testing by myself, but I don't have such resources. If you could test this patch in any of your setup and prove that I'm wrong, I'd extremely appreciate it. Thank you in advance.
I'm looking forward to being taught more.
Signature · 1 line
Jean Sacren
Re: [PATCH net-next 3/3] net: core: fix wrong linkage for ptype_base and ptype_all symbols
Quoted 3 lines · Jean Sacren
I'm sorry to tell you but the patch is correct. Both symbols of ptype_{base,all} were wrongly declared as extern in
net-procfs.cin the first place.
You are mistaken.
Quoted 8 lines
Quoted 2 lines
The
net-procfs.cusage of ptype_* is there to show currentpf_packetusers viaseq_filesin procfs. Your patch will just break this.I validated it before I submitted the patch that all the symbols of ptype_{base,all} are used exclusively in
net/core/net-procfs.candnet/core/dev.cbut not outside of those two places. Therefore, your assumption for breakage is groundless.
Quoted 8 lines
As a kernel networking guru as you are, you shall have the lab and all sorts of test cases to validate patches. I'd love to run this type of testing by myself, but I don't have such resources. If you could test this patch in any of your setup and prove that I'm wrong, I'd extremely appreciate it. Thank you in advance.
I'm looking forward to being taught more.
Well, the patch is wrong, for sure, and you cannot ask us to test your patches.
Do not send patches that you cannot test yourself, please.
Try this before/after your patch
cat /proc/net/ptype
Re: [PATCH net-next 3/3] net: core: fix wrong linkage for ptype_base and ptype_all symbols
From: Eric Dumazet <[email protected]>
Date: Tue, 06 Aug 2013 14:06:41 -0700
Quoted 8 lines · Jean Sacren
Quoted 4 lines
I'm sorry to tell you but the patch is correct. Both symbols of ptype_{base,all} were wrongly declared as extern in
net-procfs.cin the first place.You are mistaken.
Sorry for the big mistake.
Signature · 1 line
Jean Sacren