[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b63d1758-b434-93c3-164c-b536c7437bdf@roeck-us.net>
Date: Mon, 22 Nov 2021 18:09:15 -0800
From: Guenter Roeck <linux@...ck-us.net>
To: Joel Stanley <joel@....id.au>
Cc: Anton Altaparmakov <anton@...era.com>,
linux-ntfs-dev@...ts.sourceforge.net,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Michael Ellerman <mpe@...erman.id.au>,
Stephen Rothwell <sfr@...b.auug.org.au>,
Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: [PATCH v2] fs: ntfs: Disable NTFS_RW for PPC
On 11/22/21 5:15 PM, Joel Stanley wrote:
> On Mon, 22 Nov 2021 at 23:58, Guenter Roeck <linux@...ck-us.net> wrote:
>>
>> NTFS_RW code allocates page size dependent arrays on the stack. This
>> results in build failures if the page size is 64k, which is now the
>> default for PPC.
>
> It became the default for PPC_BOOK3S_64, which doesn't include all of
> PPC, in f22969a66041 ("powerpc/64s: Default to 64K pages for 64 bit
> book3s").
>
> You might want to add a mention of this commit in your commit message.
>
>>
>> fs/ntfs/aops.c: In function 'ntfs_write_mst_block':
>> fs/ntfs/aops.c:1311:1: error:
>> the frame size of 2240 bytes is larger than 2048 bytes
>>
>> Increasing the maximum frame size for PPC just to silence this error does
>> not really help. It would have to be set to a really large value for 256k
>> pages. Such a large frame size could potentially result in stack overruns
>> in this code and elsewhere and is therefore not desirable. Disable NTFS_RW
>> for PPC instead.
>>
>> Cc: Michael Ellerman <mpe@...erman.id.au>
>> Cc: Stephen Rothwell <sfr@...b.auug.org.au>
>> Cc: Linus Torvalds <torvalds@...ux-foundation.org>
>> Signed-off-by: Guenter Roeck <linux@...ck-us.net>
>> ---
>> v2: Introduce new configuration flag DISABLE_NTFS_RW and use it to disable NTFS_RW
>> for PPC
>>
>> fs/ntfs/Kconfig | 5 +++++
>> 1 file changed, 5 insertions(+)
>>
>> diff --git a/fs/ntfs/Kconfig b/fs/ntfs/Kconfig
>> index 1667a7e590d8..324224febb6a 100644
>> --- a/fs/ntfs/Kconfig
>> +++ b/fs/ntfs/Kconfig
>> @@ -49,8 +49,13 @@ config NTFS_DEBUG
>> When reporting bugs, please try to have available a full dump of
>> debugging messages while the misbehaviour was occurring.
>>
>> +config DISABLE_NTFS_RW
>> + bool
>> + default y if PPC
>
> PPC_64K_PAGES would be more accurate.
>
> I think arm64 was seeing a similar build error, so you could include
> ARM64_64K_PAGES as well?
>
Yes, you are correct.
fs/ntfs/aops.c: In function 'ntfs_write_mst_block':
fs/ntfs/aops.c:1311:1: error: the frame size of 2608 bytes is larger than 2048 bytes
Ok, I'll do that. And, digging for it, I see
config VMXNET3
tristate "VMware VMXNET3 ethernet driver"
depends on PCI && INET
depends on !(PAGE_SIZE_64KB || ARM64_64K_PAGES || \
IA64_PAGE_SIZE_64KB || PARISC_PAGE_SIZE_64KB || \
PPC_64K_PAGES)
That adds hexagon, ia64, mips, parisc, and sh to the list of affected architectures.
Plus, of course, there is PAGE_SIZE_256KB and PPC_256K_PAGES.
So we are looking for something like
config DISABLE_NTFS_RW
bool
default y if PAGE_SIZE_256KB || PPC_256K_PAGES || \
PAGE_SIZE_64KB || ARM64_64K_PAGES || IA64_PAGE_SIZE_64KB || \
PARISC_PAGE_SIZE_64KB || PPC_64K_PAGES
Anything else ?
Guenter
>> +
>> config NTFS_RW
>> bool "NTFS write support"
>> + depends on !DISABLE_NTFS_RW
>> depends on NTFS_FS
>> help
>> This enables the partial, but safe, write support in the NTFS driver.
>> --
>> 2.33.0
>>
Powered by blists - more mailing lists