In the Linux kernel, the following vulnerability has been resolved: ftruncate: pass a signed offset The old ftruncate() syscall, using the 32-bit off_t misses a sign extension when called in compat mode on 64-bit architectures. As a result, passing a negative length accidentally succeeds in truncating to file size between 2GiB and 4GiB. Changing the type of the compat syscall to the signed compat_off_t changes the behavior so it instead returns -EINVAL. The native entry point, the truncate() syscall and the corresponding loff_t based variants are all correct already and do not suffer from this mistake.
https://git.kernel.org/stable/c/f531d4bc6c5588d713359e42ed65e46816d841d8
https://git.kernel.org/stable/c/dbb226d81cd02cee140139c2369791e6f61f2007
https://git.kernel.org/stable/c/c329760749b5419769e57cb2be80955d2805f9c9
https://git.kernel.org/stable/c/930a4c369f74da26816eaaa71b5888d29b759c27
https://git.kernel.org/stable/c/84bf6b64a1a0dfc6de7e1b1c776d58d608e7865a
https://git.kernel.org/stable/c/836359247b0403e0634bfbc83e5bb8063fad287a
https://git.kernel.org/stable/c/5ae6af68410bdad6181ec82104bb9985a7a6a0fa
https://git.kernel.org/stable/c/4b8e88e563b5f666446d002ad0dc1e6e8e7102b0