diff options
| author | David Howells <[email protected]> | 2025-07-07 10:24:33 +0000 |
|---|---|---|
| committer | Jakub Kicinski <[email protected]> | 2025-07-08 20:03:52 +0000 |
| commit | 31ec70afaaad11fb08970bd1b0dc9ebae3501e16 (patch) | |
| tree | 43ece6a39717efdcef58c66a65fb723f014bd753 /rust/helpers/cpu.c | |
| parent | net: airoha: Fix an error handling path in airoha_probe() (diff) | |
| download | kernel-31ec70afaaad11fb08970bd1b0dc9ebae3501e16.tar.gz kernel-31ec70afaaad11fb08970bd1b0dc9ebae3501e16.zip | |
rxrpc: Fix over large frame size warning
Under some circumstances, the compiler will emit the following warning for
rxrpc_send_response():
net/rxrpc/output.c: In function 'rxrpc_send_response':
net/rxrpc/output.c:974:1: warning: the frame size of 1160 bytes is larger than 1024 bytes
This occurs because the local variables include a 16-element scatterlist
array and a 16-element bio_vec array. It's probably not actually a problem
as this function is only called by the rxrpc I/O thread function in a
kernel thread and there won't be much on the stack before it.
Fix this by overlaying the bio_vec array over the kvec array in the
rxrpc_local struct. There is one of these per I/O thread and the kvec
array is intended for pointing at bits of a packet to be transmitted,
typically a DATA or an ACK packet. As packets for a local endpoint are
only transmitted by its specific I/O thread, there can be no race, and so
overlaying this bit of memory should be no problem.
Fixes: 5800b1cf3fd8 ("rxrpc: Allow CHALLENGEs to the passed to the app for a RESPONSE")
Reported-by: kernel test robot <[email protected]>
Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
Signed-off-by: David Howells <[email protected]>
cc: Marc Dionne <[email protected]>
cc: Simon Horman <[email protected]>
cc: [email protected]
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'rust/helpers/cpu.c')
0 files changed, 0 insertions, 0 deletions
