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]
Date:	Sat, 10 Oct 2015 11:49:40 +0530
From:	"Aneesh Kumar K.V" <aneesh.kumar@...ux.vnet.ibm.com>
To:	Dongsheng Wang <dongsheng.wang@...escale.com>,
	benh@...nel.crashing.org
Cc:	linux-kernel@...r.kernel.org,
	Wang Dongsheng <dongsheng.wang@...escale.com>,
	cmetcalf@...hip.com, paulus@...ba.org, scottwood@...escale.com,
	linuxppc-dev@...ts.ozlabs.org
Subject: Re: [PATCH] powerpc: Quick fix upstream main line build error on PowerPC

Dongsheng Wang <dongsheng.wang@...escale.com> writes:

> From: Wang Dongsheng <dongsheng.wang@...escale.com>
>
> This issue caused on 'commit 990486c8af04 ("strscpy: zero any trailing
> garbage bytes in the destination")'.
>
> zero_bytemask is not implemented on PowerPC. So copy the zero_bytemask
> of BIG_ENDIAN implementation from include/asm-generic/word-at-a-time.h
> to arch/powerpc/include/asm/word-at-a-time.h.
>
> Build message:
> lib/string.c: In function 'strscpy':
> lib/string.c:209:4: error: implicit declaration of function
> 	'zero_bytemask' [-Werror=implicit-function-declaration]
> 	*(unsigned long *)(dest+res) = c & zero_bytemask(data);
> cc1: some warnings being treated as errors
> make[1]: *** [lib/string.o] Error 1
> make[1]: *** Waiting for unfinished jobs....
>
> Signed-off-by: Wang Dongsheng <dongsheng.wang@...escale.com>
>
> diff --git a/arch/powerpc/include/asm/word-at-a-time.h b/arch/powerpc/include/asm/word-at-a-time.h
> index 5b3a903..d891456 100644
> --- a/arch/powerpc/include/asm/word-at-a-time.h
> +++ b/arch/powerpc/include/asm/word-at-a-time.h
> @@ -40,6 +40,10 @@ static inline bool has_zero(unsigned long val, unsigned long *data, const struct
>  	return (val + c->high_bits) & ~rhs;
>  }
>  
> +#ifndef zero_bytemask
> +#define zero_bytemask(mask) (~1ul << __fls(mask))
> +#endif
> +
>  #else


Why #ifndef zero_bytemask ?. What will override zero_bytemask defined in
arch headers. We generally do it such that generic code does #ifndef, but arch
headers doesn't need to do this.

-aneesh
  

--
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