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-next>] [day] [month] [year] [list]
Date:	Thu, 31 Jan 2013 23:47:31 -0500
From:	Sasha Levin <sasha.levin@...cle.com>
To:	mingo@...hat.com, peterz@...radead.org
Cc:	paulus@...ba.org, acme@...stprotocols.net, penberg@...nel.org,
	linux-kernel@...r.kernel.org, Sasha Levin <sasha.levin@...cle.com>
Subject: [PATCH 0/7] liblock: userspace lockdep

This patch series adds a userspace lock correctnes validator into
tools/lib/liblock.

There are no changes to any kernel code whatsoever, lockdep is
being used as is.

First 6 patches are the liblock implementation, the last one is
an example of liblock being used on an existing codebase.


Sasha Levin (7):
  liblock: wrap kernel/lockdep.c to allow usage from userspace
  liblock: public headers for mutex implementation
  liblock: mutex test suite
  liblock: public headers for rwlock implementation
  liblock: rwlock test suite
  liblock: add a MAINTAINERS entry
  perf: integrate liblock support into perf

 MAINTAINERS                                    |   5 +
 tools/lib/liblock/Makefile                     | 247 +++++++++++++++++++++++++
 tools/lib/liblock/common.c                     |  22 +++
 tools/lib/liblock/include/liblock/common.h     |  42 +++++
 tools/lib/liblock/include/liblock/mutex.h      |  62 +++++++
 tools/lib/liblock/include/liblock/rwlock.h     |  78 ++++++++
 tools/lib/liblock/lockdep.c                    |   2 +
 tools/lib/liblock/lockdep_internals.h          |   1 +
 tools/lib/liblock/lockdep_states.h             |   1 +
 tools/lib/liblock/run_tests.sh                 |  16 ++
 tools/lib/liblock/tests/AA.c                   |  16 ++
 tools/lib/liblock/tests/ABBA.c                 |  16 ++
 tools/lib/liblock/tests/ABBCCA.c               |  18 ++
 tools/lib/liblock/tests/ABBCCDDA.c             |  20 ++
 tools/lib/liblock/tests/ABCABC.c               |  18 ++
 tools/lib/liblock/tests/ABCDBCDA.c             |  20 ++
 tools/lib/liblock/tests/ABCDBDDA.c             |  20 ++
 tools/lib/liblock/tests/WW.c                   |  16 ++
 tools/lib/liblock/tests/common.h               |  11 ++
 tools/lib/liblock/tests/unlock_balance.c       |  15 ++
 tools/lib/liblock/uinclude/asm/hweight.h       |   0
 tools/lib/liblock/uinclude/asm/sections.h      |   0
 tools/lib/liblock/uinclude/linux/bitops.h      |   0
 tools/lib/liblock/uinclude/linux/compiler.h    |   7 +
 tools/lib/liblock/uinclude/linux/debug_locks.h |  12 ++
 tools/lib/liblock/uinclude/linux/delay.h       |   0
 tools/lib/liblock/uinclude/linux/export.h      |   7 +
 tools/lib/liblock/uinclude/linux/ftrace.h      |   0
 tools/lib/liblock/uinclude/linux/gfp.h         |   0
 tools/lib/liblock/uinclude/linux/hardirq.h     |  11 ++
 tools/lib/liblock/uinclude/linux/hash.h        |   1 +
 tools/lib/liblock/uinclude/linux/interrupt.h   |   0
 tools/lib/liblock/uinclude/linux/irqflags.h    |  38 ++++
 tools/lib/liblock/uinclude/linux/kallsyms.h    |  32 ++++
 tools/lib/liblock/uinclude/linux/kernel.h      |  34 ++++
 tools/lib/liblock/uinclude/linux/kmemcheck.h   |   8 +
 tools/lib/liblock/uinclude/linux/linkage.h     |   0
 tools/lib/liblock/uinclude/linux/list.h        |   1 +
 tools/lib/liblock/uinclude/linux/lockdep.h     |  58 ++++++
 tools/lib/liblock/uinclude/linux/mm_types.h    |   0
 tools/lib/liblock/uinclude/linux/module.h      |   6 +
 tools/lib/liblock/uinclude/linux/mutex.h       |   0
 tools/lib/liblock/uinclude/linux/poison.h      |   1 +
 tools/lib/liblock/uinclude/linux/prefetch.h    |   6 +
 tools/lib/liblock/uinclude/linux/proc_fs.h     |   0
 tools/lib/liblock/uinclude/linux/rcu.h         |  16 ++
 tools/lib/liblock/uinclude/linux/seq_file.h    |   0
 tools/lib/liblock/uinclude/linux/spinlock.h    |  25 +++
 tools/lib/liblock/uinclude/linux/stacktrace.h  |  31 ++++
 tools/lib/liblock/uinclude/linux/stringify.h   |   7 +
 tools/lib/liblock/uinclude/linux/system.h      |   0
 tools/lib/liblock/uinclude/linux/types.h       |  58 ++++++
 tools/lib/liblock/uinclude/linux/util.h        |   0
 tools/lib/liblock/uinclude/trace/events/lock.h |   0
 tools/perf/Makefile                            |  22 +++
 tools/perf/builtin-sched.c                     |  31 ++--
 tools/perf/builtin-top.c                       |  19 +-
 tools/perf/config/feature-tests.mak            |  12 ++
 tools/perf/perf.c                              |   4 +
 tools/perf/ui/browser.c                        |  21 ++-
 tools/perf/ui/browsers/annotate.c              |  10 +-
 tools/perf/ui/setup.c                          |   4 +-
 tools/perf/ui/tui/helpline.c                   |   4 +-
 tools/perf/ui/tui/progress.c                   |   4 +-
 tools/perf/ui/tui/setup.c                      |   4 +-
 tools/perf/ui/tui/util.c                       |   4 +-
 tools/perf/ui/ui.h                             |   3 +-
 tools/perf/util/annotate.c                     |   6 +-
 tools/perf/util/annotate.h                     |   3 +-
 tools/perf/util/evsel.c                        |   2 +-
 tools/perf/util/hist.c                         |   8 +-
 tools/perf/util/hist.h                         |   3 +-
 tools/perf/util/liblock.h                      |  17 ++
 73 files changed, 1128 insertions(+), 58 deletions(-)
 create mode 100644 tools/lib/liblock/Makefile
 create mode 100644 tools/lib/liblock/common.c
 create mode 100644 tools/lib/liblock/include/liblock/common.h
 create mode 100644 tools/lib/liblock/include/liblock/mutex.h
 create mode 100644 tools/lib/liblock/include/liblock/rwlock.h
 create mode 100644 tools/lib/liblock/lockdep.c
 create mode 100644 tools/lib/liblock/lockdep_internals.h
 create mode 100644 tools/lib/liblock/lockdep_states.h
 create mode 100755 tools/lib/liblock/run_tests.sh
 create mode 100644 tools/lib/liblock/tests/AA.c
 create mode 100644 tools/lib/liblock/tests/ABBA.c
 create mode 100644 tools/lib/liblock/tests/ABBCCA.c
 create mode 100644 tools/lib/liblock/tests/ABBCCDDA.c
 create mode 100644 tools/lib/liblock/tests/ABCABC.c
 create mode 100644 tools/lib/liblock/tests/ABCDBCDA.c
 create mode 100644 tools/lib/liblock/tests/ABCDBDDA.c
 create mode 100644 tools/lib/liblock/tests/WW.c
 create mode 100644 tools/lib/liblock/tests/common.h
 create mode 100644 tools/lib/liblock/tests/unlock_balance.c
 create mode 100644 tools/lib/liblock/uinclude/asm/hweight.h
 create mode 100644 tools/lib/liblock/uinclude/asm/sections.h
 create mode 100644 tools/lib/liblock/uinclude/linux/bitops.h
 create mode 100644 tools/lib/liblock/uinclude/linux/compiler.h
 create mode 100644 tools/lib/liblock/uinclude/linux/debug_locks.h
 create mode 100644 tools/lib/liblock/uinclude/linux/delay.h
 create mode 100644 tools/lib/liblock/uinclude/linux/export.h
 create mode 100644 tools/lib/liblock/uinclude/linux/ftrace.h
 create mode 100644 tools/lib/liblock/uinclude/linux/gfp.h
 create mode 100644 tools/lib/liblock/uinclude/linux/hardirq.h
 create mode 100644 tools/lib/liblock/uinclude/linux/hash.h
 create mode 100644 tools/lib/liblock/uinclude/linux/interrupt.h
 create mode 100644 tools/lib/liblock/uinclude/linux/irqflags.h
 create mode 100644 tools/lib/liblock/uinclude/linux/kallsyms.h
 create mode 100644 tools/lib/liblock/uinclude/linux/kernel.h
 create mode 100644 tools/lib/liblock/uinclude/linux/kmemcheck.h
 create mode 100644 tools/lib/liblock/uinclude/linux/linkage.h
 create mode 100644 tools/lib/liblock/uinclude/linux/list.h
 create mode 100644 tools/lib/liblock/uinclude/linux/lockdep.h
 create mode 100644 tools/lib/liblock/uinclude/linux/mm_types.h
 create mode 100644 tools/lib/liblock/uinclude/linux/module.h
 create mode 100644 tools/lib/liblock/uinclude/linux/mutex.h
 create mode 100644 tools/lib/liblock/uinclude/linux/poison.h
 create mode 100644 tools/lib/liblock/uinclude/linux/prefetch.h
 create mode 100644 tools/lib/liblock/uinclude/linux/proc_fs.h
 create mode 100644 tools/lib/liblock/uinclude/linux/rcu.h
 create mode 100644 tools/lib/liblock/uinclude/linux/seq_file.h
 create mode 100644 tools/lib/liblock/uinclude/linux/spinlock.h
 create mode 100644 tools/lib/liblock/uinclude/linux/stacktrace.h
 create mode 100644 tools/lib/liblock/uinclude/linux/stringify.h
 create mode 100644 tools/lib/liblock/uinclude/linux/system.h
 create mode 100644 tools/lib/liblock/uinclude/linux/types.h
 create mode 100644 tools/lib/liblock/uinclude/linux/util.h
 create mode 100644 tools/lib/liblock/uinclude/trace/events/lock.h
 create mode 100644 tools/perf/util/liblock.h

-- 
1.8.1.1

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