Alexander Hölzl
1abecca55d
can: j1939: j1939_sk_send_loop(): fix unable to send messages with data length zero
...
commit 44de577e61ed239db09f0da9d436866bef9b77dd upstream.
The J1939 standard requires the transmission of messages of length 0.
For example proprietary messages are specified with a data length of 0
to 1785. The transmission of such messages is not possible. Sending
results in no error being returned but no corresponding can frame
being generated.
Enable the transmission of zero length J1939 messages. In order to
facilitate this two changes are necessary:
1) If the transmission of a new message is requested from user space
the message is segmented in j1939_sk_send_loop(). Let the segmentation
take into account zero length messages, do not terminate immediately,
queue the corresponding skb.
2) j1939_session_skb_get_by_offset() selects the next skb to transmit
for a session. Take into account that there might be zero length skbs
in the queue.
Signed-off-by: Alexander Hölzl <alexander.hoelzl@gmx.net>
Acked-by: Oleksij Rempel <o.rempel@pengutronix.de>
Link: https://patch.msgid.link/20250205174651.103238-1-alexander.hoelzl@gmx.net
Fixes: 9d71dd0c70 ("can: add support of SAE J1939 protocol")
Cc: stable@vger.kernel.org
[mkl: commit message rephrased]
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-03-13 12:43:16 +01:00
..
6lowpan
9p
9p/xen: fix release of IRQ
2024-12-14 19:44:41 +01:00
802
net: 802: LLC+SNAP OID:PID lookup on start of skb data
2025-02-01 18:18:45 +01:00
8021q
appletalk
atm
ax25
batman-adv
batman-adv: fix panic during interface removal
2025-03-13 12:43:14 +01:00
bluetooth
Bluetooth: L2CAP: handle NULL sock pointer in l2cap_sock_alloc
2025-03-13 12:43:07 +01:00
bpf
bpfilter
bridge
netfilter: Replace zero-length array with flexible-array member
2025-01-09 13:23:35 +01:00
caif
can
can: j1939: j1939_sk_send_loop(): fix unable to send messages with data length zero
2025-03-13 12:43:16 +01:00
ceph
libceph: fix race between delayed_work() and ceph_monc_stop()
2024-07-18 11:40:55 +02:00
core
net: let net.core.dev_weight always be non-zero
2025-03-13 12:42:55 +01:00
dcb
dccp
net: fix data-races around sk->sk_forward_alloc
2025-02-01 18:18:52 +01:00
decnet
dns_resolver
dsa
ethernet
hsr
ieee802154
net: ieee802154: do not leave a dangling sk pointer in ieee802154_create()
2024-12-14 19:44:51 +01:00
ife
ipv4
udp: gso: do not drop small packets when PMTU reduces
2025-03-13 12:43:06 +01:00
ipv6
ndisc: ndisc_send_redirect() must use dev_get_by_index_rcu()
2025-03-13 12:43:12 +01:00
iucv
s390/iucv: fix receive buffer virtual vs physical address confusion
2024-09-04 13:14:57 +02:00
kcm
kcm: Serialise kcm_sendmsg() for the same socket.
2024-09-04 13:14:59 +02:00
key
l2tp
genetlink: hold RCU in genlmsg_mcast()
2024-11-08 16:20:50 +01:00
l3mdev
lapb
llc
net: llc: reset skb->transport_header
2025-01-09 13:23:35 +01:00
mac80211
wifi: mac80211: wake the queues in case of failure in resume
2025-01-09 13:23:35 +01:00
mac802154
mac802154: check local interfaces before deleting sdata list
2025-02-01 18:18:50 +01:00
mpls
ncsi
net/ncsi: wait for the last response to Deselect Package before configuring channel
2025-03-13 12:43:11 +01:00
netfilter
netfilter: Replace zero-length array with flexible-array member
2025-01-09 13:23:35 +01:00
netlabel
netlink
netlink: terminate outstanding dump on socket close
2024-12-14 19:44:18 +01:00
netrom
netrom: check buffer length before accessing it
2025-01-09 13:23:35 +01:00
nfc
NFC: nci: Add bounds checking in nci_hci_create_pipe()
2025-03-13 12:43:11 +01:00
nsh
openvswitch
openvswitch: Set the skbuff pkt_type for proper pmtud support.
2024-06-16 13:28:45 +02:00
packet
af_packet: fix vlan_get_protocol_dgram() vs MSG_PEEK
2025-01-09 13:23:35 +01:00
phonet
phonet: fix rtm_phonet_notify() skb allocation
2024-05-17 11:43:54 +02:00
psample
qrtr
net: qrtr: Update packets cloning when broadcasting
2024-11-08 16:20:33 +01:00
rds
net:rds: Fix possible deadlock in rds_message_put
2024-09-04 13:15:03 +02:00
rfkill
net: rfkill: gpio: Add check for clk_enable()
2024-12-14 19:44:27 +01:00
rose
net: rose: lock the socket in rose_bind()
2025-03-13 12:43:06 +01:00
rxrpc
sched
netem: Update sch->q.qlen before qdisc_tree_reduce_backlog()
2025-03-13 12:43:06 +01:00
sctp
sctp: sysctl: rto_min/max: avoid using current->nsproxy
2025-02-01 18:18:49 +01:00
smc
net/smc: check sndbuf_space again after NOSPACE flag is set in smc_poll
2025-01-09 13:23:27 +01:00
strparser
sunrpc
sunrpc: clear XPRT_SOCK_UPD_TIMEOUT when reset transport
2024-12-14 19:44:42 +01:00
switchdev
tipc
tipc: fix NULL deref in cleanup_bearer()
2024-12-19 18:05:03 +01:00
tls
tls: Fix tls_sw_sendmsg error handling
2025-02-01 18:18:45 +01:00
unix
af_unix: Remove put_pid()/put_cred() in copy_peercred().
2024-09-12 11:03:52 +02:00
vmw_vsock
vsock: Allow retrying on connect() failure
2025-03-13 12:43:00 +01:00
wimax
wireless
genetlink: hold RCU in genlmsg_mcast()
2024-11-08 16:20:50 +01:00
x25
xdp
xsk: validate user input for XDP_{UMEM|COMPLETION}_FILL_RING
2024-06-16 13:28:52 +02:00
xfrm
xfrm: validate new SA's prefixlen using SA family when sel.family is unset
2024-11-08 16:20:52 +01:00
compat.c
Kconfig
Makefile
socket.c
sysctl_net.c