lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2025081755-actress-flogging-4261@gregkh>
Date: Sun, 17 Aug 2025 13:12:23 +0200
From: Greg KH <gregkh@...uxfoundation.org>
To: Ovidiu Panait <ovidiu.panait.oss@...il.com>
Cc: gshahrouzi@...il.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] staging: axis-fifo: fix maximum TX packet length check

On Sat, Aug 02, 2025 at 11:59:43PM +0300, Ovidiu Panait wrote:
> Since commit 2ca34b508774 ("staging: axis-fifo: Correct handling of
> tx_fifo_depth for size validation"), write() operations with packets
> larger than 'tx_fifo_depth - 4' words are no longer rejected with -EINVAL.
> 
> Fortunately, the packets are not actually getting transmitted to hardware,
> otherwise they would be raising a 'Transmit Packet Overrun Error'
> interrupt, which requires a reset of the TX circuit to recover from.
> 
> Instead, the request times out inside wait_event_interruptible_timeout()
> and always returns -EAGAIN, since the wake up condition can never be true
> for these packets. But still, they unnecessarily block other tasks from
> writing to the FIFO and the EAGAIN return code signals userspace to retry
> the write() call, even though it will always fail and time out.
> 
> According to the AXI4-Stream FIFO reference manual (PG080), the maximum
> valid packet length is 'tx_fifo_depth - 4' words, so attempting to send
> larger packets is invalid and should not be happening in the first place:
> 
> > The maximum packet that can be transmitted is limited by the size of
> > the FIFO, which is (C_TX_FIFO_DEPTH–4)*(data interface width/8) bytes.
> 
> Therefore, bring back the old behavior and outright reject packets larger
> than 'tx_fifo_depth - 4' with -EINVAL. Add a comment to explain why the
> check is necessary. The dev_err() message was removed to avoid cluttering
> the dmesg log if an invalid packet is received from userspace.
> 
> Fixes: 2ca34b508774 ("staging: axis-fifo: Correct handling of tx_fifo_depth for size validation")
> Signed-off-by: Ovidiu Panait <ovidiu.panait.oss@...il.com>

Any specific reason you didn't cc: the staging list?  Or add cc: stable
to this commit?

thanks,

greg k-h

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ