Skip to content

CNB: net: remove noblock parameter from skb_recv_datagram()

Íñigo Huguet requested to merge ihuguet-rh/kernel-cs9:cnb_skb_noblock into main

Bugzilla: https://bugzilla.redhat.com/2143360
Tested: build, boot

Conflicts:

  • isotp: missing many commits, such as: 30ffd5332e06 ("can: isotp: return -EADDRNOTAVAIL when reading from unbound socket") 42bf50a1795a ("can: isotp: support MSG_TRUNC flag when reading from socket") e382fea8ae54 ("can: isotp: restore accidentally removed MSG_PEEK feature")
  • removed chunks of non existent net/mctp
commit f4b41f062c424209e3939a81e6da022e049a45f2
Author: Oliver Hartkopp <socketcan@hartkopp.net>
Date:   Mon Apr 4 18:30:22 2022 +0200

    net: remove noblock parameter from skb_recv_datagram()
    
    skb_recv_datagram() has two parameters 'flags' and 'noblock' that are
    merged inside skb_recv_datagram() by 'flags | (noblock ? MSG_DONTWAIT : 0)'
    
    As 'flags' may contain MSG_DONTWAIT as value most callers split the 'flags'
    into 'flags' and 'noblock' with finally obsolete bit operations like this:
    
    skb_recv_datagram(sk, flags & ~MSG_DONTWAIT, flags & MSG_DONTWAIT, &rc);
    
    And this is not even done consistently with the 'flags' parameter.
    
    This patch removes the obsolete and costly splitting into two parameters
    and only performs bit operations when really needed on the caller side.
    
    One missing conversion thankfully reported by kernel test robot. I missed
    to enable kunit tests to build the mctp code.
    
    Reported-by: kernel test robot <lkp@intel.com>
    Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
    Signed-off-by: David S. Miller <davem@davemloft.net>

Signed-off-by: Íñigo Huguet ihuguet@redhat.com

Merge request reports