Re: [PATCH net-next v2] net: remove noblock parameter from skb_recv_datagram()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 21.03.22 22:56, Jakub Kicinski wrote:
On Sat, 19 Mar 2022 10:41:38 +0100 Oliver Hartkopp wrote:
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.

net/vmw_vsock/vmci_transport.c: In function ‘vmci_transport_dgram_dequeue’:
net/vmw_vsock/vmci_transport.c:1735:13: warning: unused variable ‘noblock’ [-Wunused-variable]
  1735 |         int noblock;
       |             ^~~~~~~

Sorry. Double checked that really all touched files are now built on my machine.

(Except in af_iucv.c which depends on S390 - but double checked the changes 4 times).

v3 is already posted:
https://lore.kernel.org/netdev/20220322080317.54887-1-socketcan@xxxxxxxxxxxx/T/#u

Best regards,
Oliver



[Index of Archives]     [Automotive Discussions]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [CAN Bus]

  Powered by Linux