From: Colin Vidal <colin@cvidal.org>
To: kernel-hardening@lists.openwall.com
Cc: keescook@chromium.org, arnd@arndb.de, tglx@linutronix.de,
mingo@redhat.com, h.peter.anvin@intel.com,
Elena Reshetova <elena.reshetova@intel.com>,
Hans Liljestrand <ishkamiel@gmail.com>,
David Windsor <dwindsor@gmail.com>
Subject: Re: [kernel-hardening] [RFC v3 PATCH 01/13] Add architecture independent hardened atomic base
Date: Tue, 01 Nov 2016 11:15:48 +0100 [thread overview]
Message-ID: <1477995348.2236.14.camel@cvidal.org> (raw)
In-Reply-To: <1477914225-11298-2-git-send-email-elena.reshetova@intel.com>
<snip>
> arch/alpha/include/asm/local.h | 2 +
> arch/m32r/include/asm/local.h | 2 +
> arch/mips/include/asm/local.h | 2 +
> arch/powerpc/include/asm/local.h | 2 +
> arch/x86/include/asm/local.h | 2 +
<snip>
> include/asm-generic/local.h | 20 +++
> include/asm-generic/local_wrap.h | 89 ++++++++++
<snip>
> diff --git a/include/asm-generic/local.h b/include/asm-generic/local.h
> index 9ceb03b..e1c81c3 100644
> --- a/include/asm-generic/local.h
> +++ b/include/asm-generic/local.h
> @@ -4,6 +4,7 @@
> #include <linux/percpu.h>
> #include <linux/atomic.h>
> #include <asm/types.h>
> +#include <asm-generic/local_wrap.h>
That brake build for any architecture that uses asm-generic/local.h
(like ARM v6/v7): asm-generic/local_wrap.h contains
typedef local_t local_wrap_t
but at this time, local_t is not yet defined, since asm-
generic/local_wrap.h is included before the definition of local_t. The
following patch fixes that.
Thanks
Colin
diff --git a/include/asm-generic/local.h b/include/asm-generic/local.h
index e1c81c3..1828c57 100644
--- a/include/asm-generic/local.h
+++ b/include/asm-generic/local.h
@@ -4,7 +4,6 @@
#include <linux/percpu.h>
#include <linux/atomic.h>
#include <asm/types.h>
-#include <asm-generic/local_wrap.h>
/*
* A signed long type for operations which are atomic for a single CPU.
@@ -48,23 +47,6 @@ typedef struct
#define local_add_unless(l, _a, u) atomic_long_add_unless((&(l)->a), (_a), (u))
#define local_inc_not_zero(l) atomic_long_inc_not_zero(&(l)->a)
-#define local_read_wrap(l) atomic_long_read_wrap(&(l)->a)
-#define local_set_wrap(l,i) atomic_long_set_wrap((&(l)->a),(i))
-#define local_inc_wrap(l) atomic_long_inc_wrap(&(l)->a)
-#define local_inc_return_wrap(l) atomic_long_return_wrap(&(l)->a)
-#define local_inc_and_test_wrap(l) atomic_long_inc_and_test_wrap(&(l)->a)
-#define local_dec_wrap(l) atomic_long_dec_wrap(&(l)->a)
-#define local_dec_return_wrap(l) atomic_long_dec_return_wrap(&(l)->a)
-#define local_dec_and_test_wrap(l) atomic_long_dec_and_test_wrap(&(l)->a)
-#define local_add_wrap(i,l) atomic_long_add_wrap((i),(&(l)->a))
-#define local_add_return_wrap(i, l) atomic_long_add_return_wrap((i), (&(l)->a))
-#define local_sub_wrap(i,l) atomic_long_sub_wrap((i),(&(l)->a))
-#define local_sub_return_wrap(i, l) atomic_long_sub_return_wrap((i), (&(l)->a))
-#define local_sub_and_test_wrap(i, l) atomic_long_sub_and_test_wrap((i), (&(l)->a))
-#define local_cmpxchg_wrap(l, o, n) atomic_long_cmpxchg_wrap((&(l)->a), (o), (n))
-#define local_add_unless_wrap(l, _a, u) atomic_long_add_unless_wrap((&(l)->a), (_a), (u))
-#define local_add_negative_wrap(i, l) atomic_long_add_negative_wrap((i), (&(l)->a))
-
/* Non-atomic variants, ie. preemption disabled and won't be touched
* in interrupt, etc. Some archs can optimize this case well. */
#define __local_inc(l) local_set((l), local_read(l) + 1)
@@ -72,4 +54,6 @@ typedef struct
#define __local_add(i,l) local_set((l), local_read(l) + (i))
#define __local_sub(i,l) local_set((l), local_read(l) - (i))
+#include <asm-generic/local_wrap.h>
+
#endif /* _ASM_GENERIC_LOCAL_H */
next prev parent reply other threads:[~2016-11-01 10:15 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-31 11:43 [kernel-hardening] [RFC v3 PATCH 00/13] HARDENING_ATOMIC feature Elena Reshetova
2016-10-31 11:43 ` [kernel-hardening] [RFC v3 PATCH 01/13] Add architecture independent hardened atomic base Elena Reshetova
2016-11-01 9:44 ` Colin Vidal
2016-11-01 10:59 ` Reshetova, Elena
2016-11-01 11:35 ` Hans Liljestrand
2016-11-01 13:57 ` Kees Cook
2016-11-02 4:55 ` Reshetova, Elena
2016-11-02 21:23 ` Hans Liljestrand
2016-11-01 10:15 ` Colin Vidal [this message]
2016-11-01 10:55 ` Reshetova, Elena
2016-11-01 10:42 ` Colin Vidal
2016-11-01 11:02 ` Reshetova, Elena
2016-11-01 11:53 ` Colin Vidal
2016-11-01 12:15 ` Reshetova, Elena
2016-11-01 12:55 ` Hans Liljestrand
2016-11-01 17:21 ` Colin Vidal
2016-11-02 4:51 ` Reshetova, Elena
2016-11-02 6:55 ` AKASHI Takahiro
2016-11-04 7:04 ` Reshetova, Elena
2016-10-31 11:43 ` [kernel-hardening] [RFC v3 PATCH 02/13] percpu-refcount: leave atomic counter unprotected Elena Reshetova
2016-10-31 11:43 ` [kernel-hardening] [RFC v3 PATCH 03/13] kernel: identify wrapping atomic usage Elena Reshetova
2016-10-31 11:43 ` [kernel-hardening] [RFC v3 PATCH 04/13] mm: " Elena Reshetova
2016-10-31 11:43 ` [kernel-hardening] [RFC v3 PATCH 05/13] fs: " Elena Reshetova
2016-10-31 11:43 ` [kernel-hardening] [RFC v3 PATCH 06/13] net: " Elena Reshetova
2016-10-31 11:43 ` [kernel-hardening] [RFC v3 PATCH 07/13] net: atm: " Elena Reshetova
2016-10-31 11:43 ` [kernel-hardening] [RFC v3 PATCH 08/13] security: " Elena Reshetova
2016-10-31 11:43 ` [kernel-hardening] [RFC v3 PATCH 09/13] drivers: identify wrapping atomic usage (part 1/2) Elena Reshetova
2016-10-31 11:43 ` [kernel-hardening] [RFC v3 PATCH 10/13] drivers: identify wrapping atomic usage (part 2/2) Elena Reshetova
2016-10-31 11:43 ` [kernel-hardening] [RFC v3 PATCH 11/13] x86: identify wrapping atomic usage Elena Reshetova
2016-10-31 11:43 ` [kernel-hardening] [RFC v3 PATCH 12/13] x86: implementation for HARDENED_ATOMIC Elena Reshetova
2016-10-31 11:43 ` [kernel-hardening] [RFC v3 PATCH 13/13] lkdtm: add tests for atomic over-/underflow Elena Reshetova
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1477995348.2236.14.camel@cvidal.org \
--to=colin@cvidal.org \
--cc=arnd@arndb.de \
--cc=dwindsor@gmail.com \
--cc=elena.reshetova@intel.com \
--cc=h.peter.anvin@intel.com \
--cc=ishkamiel@gmail.com \
--cc=keescook@chromium.org \
--cc=kernel-hardening@lists.openwall.com \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.