[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFx_PuzNC0riLEN7PUpVnvQg374ZqCYBV-Uw6Be-OA=DwQ@mail.gmail.com>
Date: Sat, 14 May 2016 14:31:04 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: David Miller <davem@...emloft.net>
Cc: Eric Dumazet <eric.dumazet@...il.com>, Willy Tarreau <w@....eu>,
Network Development List <netdev@...r.kernel.org>
Subject: Re: [PATCH] nf_conntrack: avoid kernel pointer value leak in slab name
On Sat, May 14, 2016 at 11:24 AM, Linus Torvalds
<torvalds@...ux-foundation.org> wrote:
>
>
> - net->ct.slabname = kasprintf(GFP_KERNEL, "nf_conntrack_%p", net);
> + net->ct.slabname = kasprintf(GFP_KERNEL, "nf_conntrack_%llu",
> + (u64)atomic64_inc_return(&unique_id));
Oh well. I suspect this is going to cause a new warning on alpha and
ia64 and possibly others.
"u64" is indeed "unsigned long long" on x86 and many other
architectures, but on alpga and ia64 it's just "unsigned long".
So that case should have been to "long long". I detest how there isn't
a "64-bit size" printf specifier.
And no, PRId64 preprocessor garbage and similar disgusting hacks by
POSIX isn't the answer. I think MSC actually got that right with
"%I64d".
Oh well. It's a fairly harmless compiler warning, it isn't a code
correctness issue.
Linus
Powered by blists - more mailing lists