diff options
| author | YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> | 2008-03-25 13:36:06 -0400 |
|---|---|---|
| committer | YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> | 2008-03-25 15:39:56 -0400 |
| commit | 1218854afa6f659be90b748cf1bc7badee954a35 (patch) | |
| tree | 78b83e3941fa7e5a03c04e2e4f6ddb1a08ea38a0 /net/unix | |
| parent | 3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9 (diff) | |
[NET] NETNS: Omit seq_net_private->net without CONFIG_NET_NS.
Without CONFIG_NET_NS, no namespace other than &init_net exists,
no need to store net in seq_net_private.
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Diffstat (limited to 'net/unix')
| -rw-r--r-- | net/unix/af_unix.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index cb9d0cb5f270..4a4793051bcb 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c | |||
| @@ -2016,13 +2016,14 @@ struct unix_iter_state { | |||
| 2016 | struct seq_net_private p; | 2016 | struct seq_net_private p; |
| 2017 | int i; | 2017 | int i; |
| 2018 | }; | 2018 | }; |
| 2019 | static struct sock *unix_seq_idx(struct unix_iter_state *iter, loff_t pos) | 2019 | static struct sock *unix_seq_idx(struct seq_file *seq, loff_t pos) |
| 2020 | { | 2020 | { |
| 2021 | struct unix_iter_state *iter = seq->private; | ||
| 2021 | loff_t off = 0; | 2022 | loff_t off = 0; |
| 2022 | struct sock *s; | 2023 | struct sock *s; |
| 2023 | 2024 | ||
| 2024 | for (s = first_unix_socket(&iter->i); s; s = next_unix_socket(&iter->i, s)) { | 2025 | for (s = first_unix_socket(&iter->i); s; s = next_unix_socket(&iter->i, s)) { |
| 2025 | if (sock_net(s) != iter->p.net) | 2026 | if (sock_net(s) != seq_file_net(seq)) |
| 2026 | continue; | 2027 | continue; |
| 2027 | if (off == pos) | 2028 | if (off == pos) |
| 2028 | return s; | 2029 | return s; |
| @@ -2035,9 +2036,8 @@ static struct sock *unix_seq_idx(struct unix_iter_state *iter, loff_t pos) | |||
| 2035 | static void *unix_seq_start(struct seq_file *seq, loff_t *pos) | 2036 | static void *unix_seq_start(struct seq_file *seq, loff_t *pos) |
| 2036 | __acquires(unix_table_lock) | 2037 | __acquires(unix_table_lock) |
| 2037 | { | 2038 | { |
| 2038 | struct unix_iter_state *iter = seq->private; | ||
| 2039 | spin_lock(&unix_table_lock); | 2039 | spin_lock(&unix_table_lock); |
| 2040 | return *pos ? unix_seq_idx(iter, *pos - 1) : ((void *) 1); | 2040 | return *pos ? unix_seq_idx(seq, *pos - 1) : ((void *) 1); |
| 2041 | } | 2041 | } |
| 2042 | 2042 | ||
| 2043 | static void *unix_seq_next(struct seq_file *seq, void *v, loff_t *pos) | 2043 | static void *unix_seq_next(struct seq_file *seq, void *v, loff_t *pos) |
| @@ -2050,7 +2050,7 @@ static void *unix_seq_next(struct seq_file *seq, void *v, loff_t *pos) | |||
| 2050 | sk = first_unix_socket(&iter->i); | 2050 | sk = first_unix_socket(&iter->i); |
| 2051 | else | 2051 | else |
| 2052 | sk = next_unix_socket(&iter->i, sk); | 2052 | sk = next_unix_socket(&iter->i, sk); |
| 2053 | while (sk && (sock_net(sk) != iter->p.net)) | 2053 | while (sk && (sock_net(sk) != seq_file_net(seq))) |
| 2054 | sk = next_unix_socket(&iter->i, sk); | 2054 | sk = next_unix_socket(&iter->i, sk); |
| 2055 | return sk; | 2055 | return sk; |
| 2056 | } | 2056 | } |
