Thread (14 messages) 14 messages, 3 authors, 2017-01-09

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help