RFR: 8346916: [REDO] align_up has potential overflow [v2]
    Kim Barrett 
    kbarrett at openjdk.org
       
    Tue Mar  4 09:32:56 UTC 2025
    
    
  
On Thu, 27 Feb 2025 10:24:31 GMT, Casper Norrbin <cnorrbin at openjdk.org> wrote:
>> Hi everyone,
>> 
>> The `align_up` function can potentially overflow, resulting in undefined behavior. Most use cases rely on the assumption that aligned_result >= original. To address this, I've added an assertion to verify this condition.
>> 
>> The original PR (#20808) missed cases where overflow checks already existed, so I've now went through usages of `align_up` and found the places with explicit checks. Most notably, #23168 added `align_up_or_null` to metaspace, but this function is also useful elsewhere. Given this, I relocated it to `align.hpp`, alongside the rest of the alignment functions.
>
> Casper Norrbin has updated the pull request incrementally with one additional commit since the last revision:
> 
>   reverted gcarguments and updated test
src/hotspot/share/cds/metaspaceShared.cpp line 244:
> 242: 
> 243:   char* aligned_base = align_up_or_null(specified_base, alignment);
> 244:   assert(is_aligned(aligned_base, alignment), "sanity");
I don't think this assert adds anything.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23711#discussion_r1975266376
    
    
More information about the hotspot-dev
mailing list