Re: [PATCH] libata-eh: Use switch() instead of sparse array for protocol strings
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2017-01-09 20:28:16
Also in:
lkml
Hi Tejun, On Mon, Jan 9, 2017 at 8:41 PM, Tejun Heo [off-list ref] wrote:
On Mon, Jan 09, 2017 at 07:25:31PM +0100, Geert Uytterhoeven wrote:quoted
On Mon, Jan 9, 2017 at 6:31 PM, Tejun Heo [off-list ref] wrote:quoted
On Mon, Jan 09, 2017 at 09:27:23AM -0800, Christoph Hellwig wrote:quoted
On Mon, Jan 09, 2017 at 05:30:02PM +0100, Geert Uytterhoeven wrote:quoted
quoted
ata_force_param_buf is __initdata and shouldn't really matter.It mainly matters because of e.g. bootloader limitations.Do we need a full 4k for the force parameters? What would a typical command line for it look like?Maybe a couple hundreds bytes at max, but it's a bit weird to restrict this given that it is bss, not gigantic and __initdata. What kind of bootloader limitations are we talking about?Some boot loaders start overwriting themselves or the passed DTB if the kernel becomes too big. If I'm not mistaken, bss is still expanded early (verified, increasing bss can trigger the above problem).So, to avoid that, we can just kmalloc and kfree the buffer, but it seems like a silly complication to work around bugs in some bootloaders. There are many places in kernel where we're liberal about __initdata which is great. I'm not sure complicating all those places for a broken bootloader is a good idea.
Sure. We cannot avoid that kernels (esp. multiplatform) keep on growing.
But when I see a new 4KiB-sized buffer, i'm always suspicious...
A few years ago, I caught someone miscalculating shifts, leading
to a static buffer that was 256 times larger than intended ;-)
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds