• Kees Cook's avatar
    niu: Silence randstruct warnings · 2dcfe9e2
    Kees Cook authored
    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
    Acked-by: default avatarJakub Kicinski <kuba@kernel.org>
    Link: https://lore.kernel.org/lkml/20220511151647.7290adbe@kernel.orgSigned-off-by: default avatarKees Cook <keescook@chromium.org>
    2dcfe9e2
randomize_layout_plugin.c 26 KB