netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCHSET] percpu: add __percpu sparse annotations
@ 2010-01-25 15:22 Tejun Heo
  0 siblings, 0 replies; 45+ messages in thread
From: Tejun Heo @ 2010-01-25 15:22 UTC (permalink / raw)
  To: linux-kernel, axboe, rusty, akpm, ebiederm, tytso,
	Trond.Myklebust, aelder, hch@

This patchset adds __percpu sparse annotations to all percpu users
covered by x86_64 allmodconfig.  __percpu annotation teaches sparse
that percpu variables live in a separate address space and can't be
accessed directly without going through percpu accessors.  This allows
detection of most percpu access mistakes involving both static and
dyanmic percpu variables.

This patchset contains the following eight patches.

 0001-percpu-add-__percpu-sparse-annotations-to-core-kerne.patch
 0002-percpu-add-__percpu-sparse-annotations-to-fs.patch
 0003-percpu-add-__percpu-sparse-annotations-to-net.patch
 0004-percpu-add-__percpu-sparse-annotations-to-net-driver.patch
 0005-percpu-add-__percpu-sparse-annotations-to-x86.patch
 0006-percpu-add-__percpu-sparse-annotations-to-trace.patch
 0007-percpu-add-__percpu-sparse-annotations-to-hw_breakpo.patch
 0008-percpu-add-__percpu-sparse-annotations-to-what-s-lef.patch

As these annotations are for sparse, none of the above patches affects
normal kernel build and most of the conversions are straight-forward
and trivial.  There are a few places where the conversion isn't
completely straight-forward (but still fairly trivial).  Those are
mentioned in each patch description.

I can route the patch through percpu and conflict resolution, if
necessary, wouldn't be difficult at all for these changes.  If anyone
wants to route one of these patches through a different tree, please
let me know.  All that's necessary would be adding dummy __percpu
definition to the patch.

If nobody objects, I'll push these into percpu tree in three or four
days.

Thanks.

 arch/x86/include/asm/msr.h                 |   12 ++++---
 arch/x86/kernel/acpi/cstate.c              |    2 -
 arch/x86/kernel/cpu/common.c               |    2 -
 arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c |    2 -
 arch/x86/lib/msr-smp.c                     |    8 +++--
 arch/x86/lib/msr.c                         |    6 +--
 crypto/cryptd.c                            |    2 -
 drivers/acpi/processor_perflib.c           |    2 -
 drivers/dma/dmaengine.c                    |    2 -
 drivers/edac/amd64_edac.c                  |    2 -
 drivers/md/raid5.c                         |    2 -
 drivers/md/raid5.h                         |    2 -
 drivers/net/chelsio/sge.c                  |    2 -
 drivers/net/loopback.c                     |   16 +++++-----
 drivers/net/macvlan.c                      |    2 -
 drivers/net/veth.c                         |    4 +-
 fs/ext4/ext4.h                             |    2 -
 fs/nfs/iostat.h                            |    4 +-
 fs/xfs/xfs_mount.h                         |    2 -
 include/acpi/processor.h                   |    2 -
 include/linux/blktrace_api.h               |    4 +-
 include/linux/dmaengine.h                  |    2 -
 include/linux/ftrace_event.h               |    4 +-
 include/linux/genhd.h                      |    2 -
 include/linux/hw_breakpoint.h              |    8 ++---
 include/linux/kexec.h                      |    2 -
 include/linux/mmzone.h                     |    2 -
 include/linux/module.h                     |    2 -
 include/linux/mount.h                      |    2 -
 include/linux/nfs_fs_sb.h                  |    2 -
 include/linux/percpu_counter.h             |    2 -
 include/linux/srcu.h                       |    2 -
 include/net/ip.h                           |    6 +--
 include/net/ipcomp.h                       |    2 -
 include/net/neighbour.h                    |    2 -
 include/net/netns/conntrack.h              |    2 -
 include/net/netns/core.h                   |    2 -
 include/net/route.h                        |    2 -
 include/net/snmp.h                         |   12 +++++--
 include/net/tcp.h                          |    2 -
 include/trace/ftrace.h                     |    4 +-
 kernel/hw_breakpoint.c                     |   14 ++++----
 kernel/kexec.c                             |    2 -
 kernel/sched.c                             |    4 +-
 kernel/stop_machine.c                      |    2 -
 kernel/trace/trace_event_profile.c         |   16 +++++-----
 kernel/trace/trace_functions_graph.c       |    2 -
 kernel/trace/trace_kprobe.c                |    4 +-
 kernel/trace/trace_ksym.c                  |   10 +++---
 kernel/trace/trace_syscalls.c              |    4 +-
 mm/percpu.c                                |   18 ++++++-----
 net/8021q/vlan.h                           |    2 -
 net/dccp/proto.c                           |    5 +--
 net/ipv4/af_inet.c                         |   46 ++++++++++++++---------------
 net/ipv4/proc.c                            |   28 ++++++++---------
 net/ipv4/route.c                           |    2 -
 net/ipv4/tcp.c                             |   21 +++++++------
 net/ipv6/addrconf.c                        |   24 +++++++--------
 net/ipv6/af_inet6.c                        |   28 ++++++++---------
 net/ipv6/proc.c                            |   24 ++++++++-------
 net/sctp/proc.c                            |    2 -
 net/sctp/protocol.c                        |    5 +--
 net/xfrm/xfrm_ipcomp.c                     |   16 +++++-----
 net/xfrm/xfrm_policy.c                     |    6 +--
 net/xfrm/xfrm_proc.c                       |    3 +
 samples/hw_breakpoint/data_breakpoint.c    |    6 +--
 66 files changed, 231 insertions(+), 209 deletions(-)

--
tejun

^ permalink raw reply	[flat|nested] 45+ messages in thread

end of thread, other threads:[~2010-02-02  5:41 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1264432935-10453-1-git-send-email-tj@kernel.org>
2010-01-25 15:22 ` [PATCH 1/8] percpu: add __percpu sparse annotations to core kernel subsystems Tejun Heo
2010-01-25 15:22 ` [PATCH 2/8] percpu: add __percpu sparse annotations to fs Tejun Heo
2010-01-25 15:22 ` [PATCH 3/8] percpu: add __percpu sparse annotations to net Tejun Heo
2010-01-25 21:32   ` David Miller
2010-01-25 15:22 ` [PATCH 4/8] percpu: add __percpu sparse annotations to net drivers Tejun Heo
2010-01-25 15:22 ` [PATCH 5/8] percpu: add __percpu sparse annotations to x86 Tejun Heo
2010-01-25 15:22 ` [PATCH 6/8] percpu: add __percpu sparse annotations to trace Tejun Heo
2010-01-25 15:35   ` Steven Rostedt
2010-01-25 15:22 ` [PATCH 7/8] percpu: add __percpu sparse annotations to hw_breakpoint Tejun Heo
2010-01-26  0:19   ` Frederic Weisbecker
2010-01-26  0:48     ` Tejun Heo
2010-01-26  1:02       ` Frederic Weisbecker
2010-01-26  1:19         ` Tejun Heo
2010-01-26  2:01           ` Frederic Weisbecker
2010-01-26  2:10             ` Frederic Weisbecker
2010-01-26  2:13             ` Tejun Heo
2010-01-26  2:18               ` Frederic Weisbecker
2010-01-26  2:22                 ` Frederic Weisbecker
2010-01-26  2:34                   ` Tejun Heo
2010-01-26  2:35                     ` Frederic Weisbecker
2010-01-26  2:47                       ` Tejun Heo
2010-01-26  1:02     ` H. Peter Anvin
2010-01-26  2:06       ` Tejun Heo
2010-01-26  2:04         ` Al Viro
2010-01-26  2:16           ` Tejun Heo
2010-01-26  2:32             ` Al Viro
2010-01-26  2:43               ` Tejun Heo
2010-01-26  2:48                 ` Al Viro
2010-01-26  3:10                   ` Tejun Heo
2010-01-26  3:56                     ` Al Viro
2010-01-26  1:06     ` H. Peter Anvin
2010-01-26  1:12       ` Frederic Weisbecker
2010-01-26  2:10       ` Tejun Heo
2010-01-25 15:22 ` [PATCH 8/8] percpu: add __percpu sparse annotations to what's left Tejun Heo
     [not found] ` <1264432935-10453-9-git-send-email-tj@kernel.org>
2010-01-25 15:54   ` Borislav Petkov
     [not found] ` <1264432935-10453-5-git-send-email-tj@kernel.org>
2010-01-25 21:33   ` [PATCH 4/8] percpu: add __percpu sparse annotations to net drivers David Miller
2010-01-25 23:14 ` [PATCHSET] percpu: add __percpu sparse annotations Al Viro
2010-01-26  0:30   ` Tejun Heo
     [not found] ` <1264432935-10453-6-git-send-email-tj@kernel.org>
2010-01-26  1:06   ` [PATCH 5/8] percpu: add __percpu sparse annotations to x86 H. Peter Anvin
2010-01-26  2:17     ` Tejun Heo
2010-02-01  3:30       ` H. Peter Anvin
     [not found] ` <1264432935-10453-2-git-send-email-tj@kernel.org>
2010-01-25 21:58   ` [PATCH 1/8] percpu: add __percpu sparse annotations to core kernel subsystems Christoph Lameter
2010-01-31 11:42   ` Paul E. McKenney
2010-02-02  5:37 ` [PATCHSET] percpu: add __percpu sparse annotations Tejun Heo
2010-01-25 15:22 Tejun Heo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).