Re: [PATCH v2] generic/062: filter setfattr --restore symlink-safety warning

Avinesh Kumar <[email protected]> Fri, 17 Jul 2026 14:04:20 +0200
Newsgroups org.kernel.vger.fstests
Message-ID <[email protected]>
Hello Zorro,

Thanks for the review.

On 7/17/26 11:22 AM, Zorro Lang wrote:
> On Mon, Jul 06, 2026 at 09:13:26PM +0200, Avinesh Kumar wrote:
>> From: Avinesh Kumar <[email protected]>
>>
>> attr 2.6.0 (CVE-2026-54371 fix)[0] makes "setfattr --restore" warn when
>> used without -P and the dump contains a symlink, which generic/062 does.
>> The warning leaks into the compared output via the setfattr() wrapper
>> and fails the test. Adding -P isn't portable (older attr doesn't have it),
>> so filter the warning in the wrapper instead.
>>
>> [0] https://cgit.git.savannah.nongnu.org/cgit/attr.git/commit/?id=3fb06b9ba314d37035d0877e6de313de754f1ac8
> 
> For generic/062, modifying the g/062 itself seems fine and logical, as
> _extend_test_bed() explicitly introduces complex symlink paths for
> testing purposes.
> 
> Have you run xfstests on XFS with attr 2.6.0? There are quite a few
> setfattr --restore invocations in common/populate. If those also trigger
> the new unsafe restore warnings, we might want to consider introducing
> a helper function, such as _setfattr or _setfattr_restore to handle to
> -h and -P things.
> 
> Reviewed-by: Zorro Lang <[email protected]>

I am sorry, I forgot to reply to my patch here. I got same feedback from
Darrick when I sent patch for xfs/083 for the same issue. So this is
being handled with a wrapper. Please review here and this patch can
be ignored -
https://lore.kernel.org/fstests/[email protected]/T/#m3bef5e49d3ca17f845a3ccab8b6dea5b67c00d86


Regards,
Avinesh

> 
>>
>> Signed-off-by: Avinesh Kumar <[email protected]>
>> ---
>>   tests/generic/062 | 7 ++++++-
>>   1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/tests/generic/062 b/tests/generic/062
>> index 89659040..ddf0a478 100755
>> --- a/tests/generic/062
>> +++ b/tests/generic/062
>> @@ -30,7 +30,12 @@ getfattr()
>>   
>>   setfattr()
>>   {
>> -    $SETFATTR_PROG $@ 2>&1 | _filter_scratch
>> +    # attr >= 2.6.0 (CVE-2026-54371 fix) warns that "setfattr --restore" without
>> +    # -P/--physical is unsafe because it can traverse symlinks. Older attr does
>> +    # not accept -P, so just filter the warning to stay version-agnostic.
>> +    $SETFATTR_PROG $@ 2>&1 | \
>> +        sed -e '/^Warning: option --restore=file is unsafe without option/d' | \
>> +        _filter_scratch
>>   }
>>   
>>   _create_test_bed()
>> -- 
>> 2.54.0
>>