• Sven Eckelmann's avatar
    batman-adv: Check ptr for NULL before reducing its refcnt · 6340dcbd
    Sven Eckelmann authored
    The commit b37a4668 ("netdevice: add the case if dev is NULL") changed
    the way how the NULL check for net_devices have to be handled when trying
    to reduce its reference counter. Before this commit, it was the
    responsibility of the caller to check whether the object is NULL or not.
    But it was changed to behave more like kfree. Now the callee has to handle
    the NULL-case.
    
    The batman-adv code was scanned via cocinelle for similar places. These
    were changed to use the paradigm
    
      @@
      identifier E, T, R, C;
      identifier put;
      @@
       void put(struct T *E)
       {
      +	if (!E)
      +		return;
      	kref_put(&E->C, R);
       }
    
    Functions which were used in other sources files were moved to the header
    to allow the compiler to inline the NULL check and the kref_put call.
    Signed-off-by: default avatarSven Eckelmann <sven@narfation.org>
    Signed-off-by: default avatarSimon Wunderlich <sw@simonwunderlich.de>
    6340dcbd
hard-interface.h 3.24 KB