Re: [PATCH] niu: Silence randstruct warnings

Jakub Kicinski
2022-05-11T22:16:57Z

On Tue, 10 May 2022 13:57:29 -0700 Kees Cook wrote:
> Clang randstruct gets upset when it sees struct addresspace (which is
> randomized) being assigned to a struct page (which is not randomized):
>
> drivers/net/ethernet/sun/niu.c:3385:12: error: casting from randomized structure pointer type 'struct address_space *' to 'struct page *'
> *link = (struct page *) page->mapping;
> ^
>
> It looks like niu.c is looking for an in-line place to chain its allocated
> pages together and is overloading the "mapping" member, as it is unused.
> This is very non-standard, and is expected to be cleaned up in the
> future[1], but there is no "correct" way to handle it today.
>
> No meaningful machine code changes result after this change, and source
> readability is improved.
>
> Drop the randstruct exception now that there is no "confusing" cross-type
> assignment.
>
> [1] https://lore.kernel.org/lkml/YnqgjVoMDu5v9PNG@casper.infradead.org/
>
> Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org>
> Cc: Christoph Hellwig <hch@infradead.org>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Paolo Abeni <pabeni@redhat.com>
> Cc: Du Cheng <ducheng2@gmail.com>
> Cc: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> Cc: Vlastimil Babka <vbabka@suse.cz>
> Cc: William Kucharski <william.kucharski@oracle.com>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Nathan Chancellor <nathan@kernel.org>
> Cc: netdev@vger.kernel.org
> Cc: linux-mm@kvack.org
> Cc: linux-hardening@vger.kernel.org
> Signed-off-by: Kees Cook <keescook@chromium.org>

I presume you prefer to take this one via your tree too, so:

Acked-by: Jakub Kicinski <kuba@kernel.org>