• Alison Schofield's avatar
    cxl/trace: Properly initialize cxl_poison region name · 6c871260
    Alison Schofield authored
    The TP_STRUCT__entry that gets assigned the region name, or an
    empty string if no region is present, is erroneously initialized
    to the cxl_region pointer. It needs to be properly initialized
    otherwise it's length is wrong and garbage chars can appear in
    the kernel trace output: /sys/kernel/tracing/trace
    
    The bad initialization was due in part to a naming conflict with
    the parameter: struct cxl_region *region. The field 'region' is
    already exposed externally as the region name, so changing that
    to something logical, like 'region_name' is not an option. Instead
    rename the internal only struct cxl_region to the commonly used
    'cxlr'.
    
    Impact is that tooling depending on that trace data can miss
    picking up a valid event when searching by region name. The
    TP_printk() output, if enabled, does emit the correct region
    names in the dmesg log.
    
    This was found during testing of the cxl-list option to report
    media-errors for a region.
    
    Cc: Davidlohr Bueso <dave@stgolabs.net>
    Cc: Jonathan Cameron <jonathan.cameron@huawei.com>
    Cc: Dave Jiang <dave.jiang@intel.com>
    Cc: Vishal Verma <vishal.l.verma@intel.com>
    Cc: stable@vger.kernel.org
    Fixes: ddf49d57
    
     ("cxl/trace: Add TRACE support for CXL media-error records")
    Signed-off-by: default avatarAlison Schofield <alison.schofield@intel.com>
    Reviewed-by: default avatarIra Weiny <ira.weiny@intel.com>
    Acked-by: default avatarDan Williams <dan.j.williams@intel.com>
    Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
    6c871260
trace.h 24.8 KB