[PATCH] xfs_quota: avoid segfault when report -h on non-existent path

Jeff Liu jeff.liu at oracle.com
Tue Mar 18 20:47:01 CDT 2014


On 03/19 2014 01:06 AM, Eric Sandeen wrote:
> On 3/18/14, 11:39 AM, Eryu Guan wrote:
>> Command xfs_quota -xc "report -h" /nosuchdir would get segfault, fix
>> that by checking fs_path first before dereferencing it.
>>
>> Cc: Eric Sandeen <esandeen at redhat.com>
>> Signed-off-by: Eryu Guan <eguan at redhat.com>
>> ---
>>  quota/report.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/quota/report.c b/quota/report.c
>> index 70894a2..d486524 100644
>> --- a/quota/report.c
>> +++ b/quota/report.c
>> @@ -624,7 +624,7 @@ report_f(
>>  		if (flags & ALL_MOUNTS_FLAG)
>>  			report_any_type(fp, form, type, NULL,
>>  					lower, upper, flags);
>> -		else if (fs_path->fs_flags & FS_MOUNT_POINT)
>> +		else if (fs_path && fs_path->fs_flags & FS_MOUNT_POINT)
>>  			report_any_type(fp, form, type, fs_path->fs_dir,
>>  					lower, upper, flags);
>>  	} else while (argc > optind) {
>>
> 
> I think this is ok; state_f does the same thing.
> 
> but others don't; enable_f, disable_f, off_f etc.
> 
> Also this seems to be a slight regression since v3.1.8 or so, let me double
> check that and see if we need to fix something more general.

I once posted a same patch a few months ago, Christoph pointed out a general
solution at below link:
http://www.spinics.net/lists/xfs/msg23777.html


Thanks,
-Jeff



More information about the xfs mailing list