• Xiaochen Shen's avatar
    x86/intel_rdt: Fix a silent failure when writing zero value schemata · 2244645a
    Xiaochen Shen authored
    Writing an invalid schemata with no domain values (e.g., "(L3|MB):"),
    results in a silent failure, i.e. the last_cmd_status returns OK,
    
    Check for an empty value and set the result string with a proper error
    message and return -EINVAL.
    
    Before the fix:
     # mkdir /sys/fs/resctrl/p1
    
     # echo "L3:" > /sys/fs/resctrl/p1/schemata
     (silent failure)
     # cat /sys/fs/resctrl/info/last_cmd_status
     ok
    
     # echo "MB:" > /sys/fs/resctrl/p1/schemata
     (silent failure)
     # cat /sys/fs/resctrl/info/last_cmd_status
     ok
    
    After the fix:
     # mkdir /sys/fs/resctrl/p1
    
     # echo "L3:" > /sys/fs/resctrl/p1/schemata
     -bash: echo: write error: Invalid argument
     # cat /sys/fs/resctrl/info/last_cmd_status
     Missing 'L3' value
    
     # echo "MB:" > /sys/fs/resctrl/p1/schemata
     -bash: echo: write error: Invalid argument
     # cat /sys/fs/resctrl/info/last_cmd_status
     Missing 'MB' value
    
    [ Tony: This is an unintended side effect of the patch earlier to allow the
        	user to just write the value they want to change.  While allowing
        	user to specify less than all of the values, it also allows an
        	empty value. ]
    
    Fixes: c4026b7b ("x86/intel_rdt: Implement "update" mode when writing schemata file")
    Signed-off-by: default avatarXiaochen Shen <xiaochen.shen@intel.com>
    Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: Vikas Shivappa <vikas.shivappa@linux.intel.com>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Link: https://lkml.kernel.org/r/20171110191624.20280-1-tony.luck@intel.com
    2244645a
intel_rdt_ctrlmondata.c 8.54 KB