Re: [PATCH 2/3] libnvdimm, pfn, dax: show supported dax/pfn region alignments in sysfs

From: Oliver
Date: Wed Aug 16 2017 - 01:23:13 EST


On Wed, Aug 16, 2017 at 1:47 AM, Dan Williams <dan.j.williams@xxxxxxxxx> wrote:
> On Mon, Aug 14, 2017 at 11:46 PM, Oliver <oohall@xxxxxxxxx> wrote:
>> On Tue, Aug 15, 2017 at 4:02 PM, kbuild test robot <lkp@xxxxxxxxx> wrote:
> [..]
>>> 114 static const unsigned long *nd_pfn_supported_alignments(void)
>>> 115 {
>>> 116 /*
>>> 117 * This needs to be a local variable because the *_SIZE macros
>>> 118 * aren't always constants.
>>> 119 */
>>
>> I probably should have been clearer, "local" here really means
>> "non-static". Otherwise the array could have been made a global.
>>
>
> Whoops, my fault. How about this:
>
> @@ -127,8 +127,11 @@ static const unsigned long
> *nd_pfn_supported_alignments(void)
> #endif
> 0,
> };
> + static unsigned long data[ARRAY_SIZE(supported_alignments)];
>
> - return supported_alignments;
> + memcpy(data, supported_alignments, sizeof(data));
> +
> + return data;
> }

That should do the trick, but you'll need to fix up the source array
declaration too.