[RAW]: Wrong content of the /proc/net/raw6.
The address of IPv6 raw sockets was shown in the wrong format, from
IPv4 ones. The problem has been introduced by the commit
42a73808ed
("[RAW]: Consolidate proc
interface.")
Thanks to Adrian Bunk who originally noticed the problem.
Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
8cd850efa4
Коммит
3046d76746
|
@ -48,7 +48,8 @@ struct raw_iter_state {
|
|||
void *raw_seq_start(struct seq_file *seq, loff_t *pos);
|
||||
void *raw_seq_next(struct seq_file *seq, void *v, loff_t *pos);
|
||||
void raw_seq_stop(struct seq_file *seq, void *v);
|
||||
int raw_seq_open(struct inode *ino, struct file *file, struct raw_hashinfo *h);
|
||||
int raw_seq_open(struct inode *ino, struct file *file,
|
||||
struct raw_hashinfo *h, const struct seq_operations *ops);
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -962,13 +962,13 @@ static const struct seq_operations raw_seq_ops = {
|
|||
.show = raw_seq_show,
|
||||
};
|
||||
|
||||
int raw_seq_open(struct inode *ino, struct file *file, struct raw_hashinfo *h)
|
||||
int raw_seq_open(struct inode *ino, struct file *file,
|
||||
struct raw_hashinfo *h, const struct seq_operations *ops)
|
||||
{
|
||||
int err;
|
||||
struct raw_iter_state *i;
|
||||
|
||||
err = seq_open_net(ino, file, &raw_seq_ops,
|
||||
sizeof(struct raw_iter_state));
|
||||
err = seq_open_net(ino, file, ops, sizeof(struct raw_iter_state));
|
||||
if (err < 0)
|
||||
return err;
|
||||
|
||||
|
@ -980,7 +980,7 @@ EXPORT_SYMBOL_GPL(raw_seq_open);
|
|||
|
||||
static int raw_v4_seq_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
return raw_seq_open(inode, file, &raw_v4_hashinfo);
|
||||
return raw_seq_open(inode, file, &raw_v4_hashinfo, &raw_seq_ops);
|
||||
}
|
||||
|
||||
static const struct file_operations raw_seq_fops = {
|
||||
|
|
|
@ -1262,7 +1262,7 @@ static const struct seq_operations raw6_seq_ops = {
|
|||
|
||||
static int raw6_seq_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
return raw_seq_open(inode, file, &raw_v6_hashinfo);
|
||||
return raw_seq_open(inode, file, &raw_v6_hashinfo, &raw6_seq_ops);
|
||||
}
|
||||
|
||||
static const struct file_operations raw6_seq_fops = {
|
||||
|
|
Загрузка…
Ссылка в новой задаче