Skip to content
  • Gerrit Renker's avatar
    dccp: allow probing of CCID-array length · 69a6a0b3
    Gerrit Renker authored
    
    
    This fixes a problem in the DCCP getsockopt() API: currently there is no way
    for a user to a priori know the number of built-in CCIDs, other than trying
    DCCP_SOCKOPT_AVAILABLE_CCIDS in a loop, incrementing the option length until
    EINVAL is no longer returned.
    
    This patch truncates the array to the user-provided length. No copy is made
    when the length is <= 0.
    
    Due to the length restriction in do_dccp_getsockopt() to sizeof(int), the
    minimum array length remains 4, which is a reasonable default (only 3
    CCIDs, CCID-2..4, are currently defined).
    
    Signed-off-by: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    69a6a0b3