Re: [Bug report] qnx6: unvalidated di_filelevels in an inode drives a shift-out-of-bounds in qnx6_block_map() - UBSAN panic at first read
From: Christian Brauner
Date: Fri Nov 06 2026 - 04:34:17 EST
On Sat, Oct 31, 2026 at 09:00:00PM +0800, Guikun Yang wrote:
> A natural fix is to reject the inode in qnx6_iget() when di_filelevels
> exceeds what ptrbits allows, and to tighten the superblock check to the
> same bound. QNX6_PTR_MAX_LEVELS alone is not sufficient for small block
> sizes: with ptrbits = 7 the usable maximum is 31 / 7 = 4. Happy to test a
> patch.
Please send a patch. qnx6 is orphaned and reports for orphaned or badly
maintained filesystems have low priority. Patches don't.