On 6/7/24 10:40 AM, Chengming Zhou wrote: > Now check_object() calls check_bytes_and_report() multiple times to > check every section of the object it cares about, like left and right > redzones, object poison, paddings poison and freepointer. It will > abort the checking process and return 0 once it finds an error. > > There are two inconsistencies in check_object(), which are alignment > padding checking and object padding checking. We only print the error > messages but don't return 0 to tell callers that something is wrong > and needs to be handled. Please see alloc_debug_processing() and > free_debug_processing() for details. > > We want to do all checks without skipping, so use a local variable > "ret" to save each check result and change check_bytes_and_report() to > only report specific error findings. Then at end of check_object(), > print the trailer once if any found an error. > > Suggested-by: Vlastimil Babka <vbabka@xxxxxxx> > Signed-off-by: Chengming Zhou <chengming.zhou@xxxxxxxxx> Reviewed-by: Vlastimil Babka <vbabka@xxxxxxx> Thanks.