Name |
Last commit
|
Last update |
---|---|---|
.. | ||
Makefile | ||
af_rose.c | ||
rose_dev.c | ||
rose_in.c | ||
rose_link.c | ||
rose_loopback.c | ||
rose_out.c | ||
rose_route.c | ||
rose_subr.c | ||
rose_timer.c | ||
sysctl_net_rose.c |
Sockets can have a filter program attached that drops or trims incoming packets based on the filter program return value. Rose requires data packets to have at least ROSE_MIN_LEN bytes. It verifies this on arrival in rose_route_frame and unconditionally pulls the bytes in rose_recvmsg. The filter can trim packets to below this value in-between, causing pull to fail, leaving the partial header at the time of skb_copy_datagram_msg. Place a lower bound on the size to which sk_filter may trim packets by introducing sk_filter_trim_cap and call this for rose packets. Signed-off-by:Willem de Bruijn <willemb@google.com> Acked-by:
Daniel Borkmann <daniel@iogearbox.net> Signed-off-by:
David S. Miller <davem@davemloft.net>
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
Makefile | Loading commit data... | |
af_rose.c | Loading commit data... | |
rose_dev.c | Loading commit data... | |
rose_in.c | Loading commit data... | |
rose_link.c | Loading commit data... | |
rose_loopback.c | Loading commit data... | |
rose_out.c | Loading commit data... | |
rose_route.c | Loading commit data... | |
rose_subr.c | Loading commit data... | |
rose_timer.c | Loading commit data... | |
sysctl_net_rose.c | Loading commit data... |