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

From: Dan Williams
Date: Tue Feb 13 2024 - 14:08:04 EST


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.