Messages in this thread | | | Date | Tue, 11 Jul 2023 13:49:06 +0200 | Subject | Re: [PATCH] hugetlbfs: Fix integer overflow check in hugetlbfs_file_mmap() | From | David Hildenbrand <> |
| |
On 10.07.23 10:32, Linke Li wrote: > From: Linke Li <lilinke99@gmail.com> > > vma_len = (loff_t)(vma->vm_end - vma->vm_start); > len = vma_len + ((loff_t)vma->vm_pgoff << PAGE_SHIFT); > /* check for overflow */ > if (len < vma_len) > return -EINVAL; > > The existing code includes an integer overflow check, which indicates > that the variable len has the potential to overflow, leading to undefined > behavior according to the C standard. However, both GCC and Clang > compilers may eliminate this overflow check based on the assumption > that there will be no undefined behavior. Although the Linux kernel > disables these optimizations by using the -fno-strict-overflow option, > there is still a risk if the compilers make mistakes in the future.
So we're adding code to handle eventual future compiler bugs? That sounds wrong, but maybe I misunderstood the problem you are trying to solve?
-- Cheers,
David / dhildenb
| |