net: tftp: sanitize tftp block size, especially for TX
U-Boot does not support IP fragmentation on TX (and unless CONFIG_IP_DEFRAG is set, neither on RX). So the blocks we send must fit in a single ethernet packet. Currently, if tftpblocksize is set to something like 5000 and I tftpput a large enough file, U-Boot crashes because we overflow net_tx_packet (which only has room for 1500 bytes plus change). Similarly, if tftpblocksize is set to something larger than what we can actually receive (e.g. 50000, with NET_MAXDEFRAG being 16384), any tftp get just hangs because we never receive any packets. Signed-off-by:Rasmus Villemoes <rasmus.villemoes@prevas.dk> Reviewed-by:
Ramon Fried <rfried.dev@gmail.com>
Loading
Please register or sign in to comment