----- Original Message -----
> net without arguments shows network devices in init_net
> net -n  --  in network namespace of current task
> net -n pid|taskp -- in network namespace of specified task
> 
> Signed-off-by: Vasily Averin <[email protected]>

... [ cut ] ...

>  static void
> -show_net_devices_v3(void)
> +show_net_devices_v3(ulong task)
>  {
> +     ulong nsproxy_p, net_ns_p;
>       struct list_data list_data, *ld;
>       char *net_device_buf;
>       char buf[BUFSIZE];
> @@ -523,8 +542,15 @@ show_net_devices_v3(void)
>       ld =  &list_data;
>       BZERO(ld, sizeof(struct list_data));
>       ld->flags |= LIST_ALLOCATE;
> -     ld->start = ld->end =
> -              symbol_value("init_net") + OFFSET(net_dev_base_head);
> +     if (VALID_MEMBER(task_struct_nsproxy)) {
> +             readmem(task + OFFSET(task_struct_nsproxy), KVADDR, &nsproxy_p,
> +                     sizeof(ulong), "task_struct.nsproxy", FAULT_ON_ERROR);
> +             if (!readmem(nsproxy_p + OFFSET(nsproxy_net_ns), KVADDR, 
> &net_ns_p,
> +                     sizeof(ulong), "nsproxy.net_ns", RETURN_ON_ERROR|QUIET))
> +                     error(FATAL, "cannot determine net_namespace 
> location!\n");
> +     } else
> +             net_ns_p = symbol_value("init_net");
> +     ld->start = ld->end = net_ns_p + OFFSET(net_dev_base_head);
>       ld->list_head_offset = OFFSET(net_device_dev_list);

Shouldn't the VALID_MEMBER test above be for nsproxy.net_ns?
It looks task_struct.nsproxy was introduced in 2.6.19, but
nsproxy.net_ns didn't come along until 2.6.24.

Dave

--
Crash-utility mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/crash-utility

Reply via email to