Re: [PATCH v5 1/8] dax: alloc_dax() return ERR_PTR(-EOPNOTSUPP) for CONFIG_DAX=n

Mathieu Desnoyers
2024-02-13T20:07:39Z

On 2024-02-13 14:07, Dan Williams wrote:
> Lukas Wunner wrote:
>> On Mon, Feb 12, 2024 at 11:30:54AM -0500, Mathieu Desnoyers wrote:
>>> Change the return value from NULL to PTR_ERR(-EOPNOTSUPP) for
>>> CONFIG_DAX=n to be consistent with the fact that CONFIG_DAX=y
>>> never returns NULL.
>>
>> All the callers of alloc_dax() only check for IS_ERR().
>>
>> Doesn't this result in a change of behavior in all the callers?
>> Previously they'd ignore the NULL return value and continue,
>> now they'll error out.
>>
>> Given that, seems dangerous to add a Fixes tag with a v4.0 commit
>> and thus risk regressing all stable kernels.
>
> Oh, good catch, yes that Fixes tag should be:
>
> 4e4ced93794a dax: Move mandatory ->zero_page_range() check in alloc_dax()
>
> ...as that was the one that updated the alloc_dax() calling convention
> without fixing up the CONFIG_DAX=n case.
>
> This is a pre-requisite for restoring DAX operation on ARM32.

I'll change the Fixes tag in this commit to:

Fixes: 4e4ced93794a ("dax: Move mandatory ->zero_page_range() check in alloc_dax()")

for v6.

Thanks,

Mathieu

--
Mathieu Desnoyers
EfficiOS Inc.