lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20110104063050.GE3402@amd>
Date:	Tue, 4 Jan 2011 17:30:50 +1100
From:	Nick Piggin <npiggin@...nel.dk>
To:	Axel Lin <axel.lin@...il.com>
Cc:	linux-kernel <linux-kernel@...r.kernel.org>,
	Peter Huewe <PeterHuewe@....de>,
	Nick Piggin <npiggin@...nel.dk>,
	Russell King <linux@....linux.org.uk>,
	linux-arm-kernel@...ts.infradead.org,
	Eric Miao <eric.y.miao@...il.com>
Subject: Re: [PATCH RESEND] [ARM] Add missing include "asm/memory.h"

On Tue, Dec 28, 2010 at 09:56:37AM +0800, Axel Lin wrote:
> This patch fixes below build error by adding the missing asm/memory.h,
> which is needed for arch_is_coherent().

This is the right approach, but needs to go through ARM tree.
 

> $ make pxa3xx_defconfig; make
>   CC      init/do_mounts_rd.o
> In file included from include/linux/list_bl.h:5,
>                  from include/linux/rculist_bl.h:7,
>                  from include/linux/dcache.h:7,
>                  from include/linux/fs.h:381,
>                  from init/do_mounts_rd.c:3:
> include/linux/bit_spinlock.h: In function 'bit_spin_unlock':
> include/linux/bit_spinlock.h:61: error: implicit declaration of function 'arch_is_coherent'
> make[1]: *** [init/do_mounts_rd.o] Error 1
> make: *** [init] Error 2
> 
> Signed-off-by: Axel Lin <axel.lin@...il.com>
> Acked-by: Peter Huewe <peterhuewe@....de>
> ---
> It was posted on https://lkml.org/lkml/2010/12/17/9 .
> I still have the build error for today's linux-next tree.
> CC Eric Miao, maybe he will take this patch.
> 
> Axel
> 
>  arch/arm/include/asm/system.h |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h
> index ec4327a..3222ab8 100644
> --- a/arch/arm/include/asm/system.h
> +++ b/arch/arm/include/asm/system.h
> @@ -155,6 +155,7 @@ extern unsigned int user_debug;
>  #define rmb()		dmb()
>  #define wmb()		mb()
>  #else
> +#include <asm/memory.h>
>  #define mb()	do { if (arch_is_coherent()) dmb(); else barrier(); } while (0)
>  #define rmb()	do { if (arch_is_coherent()) dmb(); else barrier(); } while (0)
>  #define wmb()	do { if (arch_is_coherent()) dmb(); else barrier(); } while (0)

Is this matching ARM convention to pull includes down here. It
usually ends up with more elusive dependency problems and strange
bugs (eg. some headers define intermediate symbols for convenience
and then undef them sometime later etc etc). Usual thing to avoid
problems is to move includes up to the top.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ