Skip to content
  • Eric W. Biederman's avatar
    net: Introduce possible_net_t · 0c5c9fb5
    Eric W. Biederman authored
    Having to say
    > #ifdef CONFIG_NET_NS
    > 	struct net *net;
    > #endif
    in structures is a little bit wordy and a little bit error prone.
    Instead it is possible to say:
    > typedef struct {
    > #ifdef CONFIG_NET_NS
    >       struct net *net;
    > #endif
    > } possible_net_t;
    And then in a header say:
    > 	possible_net_t net;
    Which is cleaner and easier to use and easier to test, as the
    possible_net_t is always there no matter what the compile options.
    Further this allows read_pnet and write_pnet to be functions in all
    cases which is better at catching typos.
    This change adds possible_net_t, updates the definitions of read_pnet
    and write_pnet, updates optional struct net * variables that
    write_pnet uses on to have the type possible_net_t, and finally fixes
    up the b0rked users of read_pnet and write_pnet.
    Signed-off-by: default avatar"Eric W. Biederman" <>
    Acked-by: default avatarEric Dumazet <>
    Signed-off-by: default avatarDavid S. Miller <>