• Johannes Berg's avatar
    netlink: add NLA_REJECT policy type · 568b742a
    Johannes Berg authored
    In some situations some netlink attributes may be used for output
    only (kernel->userspace) or may be reserved for future use. It's
    then helpful to be able to prevent userspace from using them in
    messages sent to the kernel, since they'd otherwise be ignored and
    any future will become impossible if this happens.
    
    Add NLA_REJECT to the policy which does nothing but reject (with
    EINVAL) validation of any messages containing this attribute.
    Allow for returning a specific extended ACK error message in the
    validation_data pointer.
    
    While at it clear up the documentation a bit - the NLA_BITFIELD32
    documentation was added to the list of len field descriptions.
    
    Also, use NL_SET_BAD_ATTR() in one place where it's open-coded.
    
    The specific case I have in mind now is a shared nested attribute
    containing request/response data, and it would be pointless and
    potentially confusing to have userspace include response data in
    the messages that actually contain a request.
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    Reviewed-by: default avatarMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    568b742a
netlink.h 40.9 KB