Permalink
Browse files

Merge branch 'akpm' (Andrew's patch-bomb)

Merge misc patches from Andrew Morton:
 "Incoming:

   - lots of misc stuff

   - backlight tree updates

   - lib/ updates

   - Oleg's percpu-rwsem changes

   - checkpatch

   - rtc

   - aoe

   - more checkpoint/restart support

  I still have a pile of MM stuff pending - Pekka should be merging
  later today after which that is good to go.  A number of other things
  are twiddling thumbs awaiting maintainer merges."

* emailed patches from Andrew Morton <akpm@linux-foundation.org>: (180 commits)
  scatterlist: don't BUG when we can trivially return a proper error.
  docs: update documentation about /proc/<pid>/fdinfo/<fd> fanotify output
  fs, fanotify: add @mflags field to fanotify output
  docs: add documentation about /proc/<pid>/fdinfo/<fd> output
  fs, notify: add procfs fdinfo helper
  fs, exportfs: add exportfs_encode_inode_fh() helper
  fs, exportfs: escape nil dereference if no s_export_op present
  fs, epoll: add procfs fdinfo helper
  fs, eventfd: add procfs fdinfo helper
  procfs: add ability to plug in auxiliary fdinfo providers
  tools/testing/selftests/kcmp/kcmp_test.c: print reason for failure in kcmp_test
  breakpoint selftests: print failure status instead of cause make error
  kcmp selftests: print fail status instead of cause make error
  kcmp selftests: make run_tests fix
  mem-hotplug selftests: print failure status instead of cause make error
  cpu-hotplug selftests: print failure status instead of cause make error
  mqueue selftests: print failure status instead of cause make error
  vm selftests: print failure status instead of cause make error
  ubifs: use prandom_bytes
  mtd: nandsim: use prandom_bytes
  ...
  • Loading branch information...
2 parents 9929561 + 6fd59a8 commit 848b81415c42ff3dc9a4204749087b015c37ef66 @torvalds committed Dec 18, 2012
Showing with 3,447 additions and 1,339 deletions.
  1. +0 −1 .gitignore
  2. +0 −2 Documentation/00-INDEX
  3. +0 −3 Documentation/ABI/README
  4. +3 −0 Documentation/DocBook/kernel-api.tmpl
  5. +3 −1 Documentation/aoe/aoe.txt
  6. +2 −8 Documentation/backlight/lp855x-driver.txt
  7. +17 −0 Documentation/devicetree/bindings/rtc/imxdi-rtc.txt
  8. +17 −0 Documentation/devicetree/bindings/rtc/rtc-omap.txt
  9. +128 −2 Documentation/filesystems/proc.txt
  10. +9 −0 Documentation/filesystems/vfat.txt
  11. +4 −3 Documentation/kernel-parameters.txt
  12. +2 −0 Documentation/security/00-INDEX
  13. +18 −0 Documentation/sparse.txt
  14. +12 −6 MAINTAINERS
  15. +1 −0 arch/Kconfig
  16. +1 −12 arch/arm/mach-davinci/devices-da8xx.c
  17. +1 −0 arch/arm64/include/asm/unistd.h
  18. +0 −15 arch/arm64/kernel/sys_compat.c
  19. +5 −7 arch/frv/kernel/setup.c
  20. +1 −1 arch/frv/mm/init.c
  21. +18 −18 arch/powerpc/include/asm/machdep.h
  22. +1 −1 arch/powerpc/include/asm/systbl.h
  23. +1 −0 arch/powerpc/include/asm/unistd.h
  24. +4 −13 arch/powerpc/kernel/sys_ppc32.c
  25. +1 −0 arch/sparc/include/asm/unistd.h
  26. +0 −14 arch/sparc/kernel/sys_sparc32.c
  27. +0 −2 arch/tile/include/asm/compat.h
  28. +1 −0 arch/tile/include/asm/unistd.h
  29. +0 −18 arch/tile/kernel/compat.c
  30. +1 −0 arch/x86/include/uapi/asm/hw_breakpoint.h
  31. +1 −0 arch/x86/include/uapi/asm/setup.h
  32. +1 −0 block/Kconfig
  33. +39 −18 drivers/block/aoe/aoe.h
  34. +88 −16 drivers/block/aoe/aoeblk.c
  35. +6 −1 drivers/block/aoe/aoechr.c
  36. +502 −213 drivers/block/aoe/aoecmd.c
  37. +176 −67 drivers/block/aoe/aoedev.c
  38. +1 −1 drivers/block/aoe/aoemain.c
  39. +10 −5 drivers/block/aoe/aoenet.c
  40. +38 −11 drivers/dma/dmatest.c
  41. +1 −4 drivers/mtd/nand/nandsim.c
  42. +1 −4 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
  43. +1 −5 drivers/net/wireless/Kconfig
  44. +2 −8 drivers/of/fdt.c
  45. +1 −1 drivers/platform/x86/asus-nb-wmi.c
  46. +1 −1 drivers/platform/x86/asus-wmi.c
  47. +1 −1 drivers/platform/x86/eeepc-wmi.c
  48. +26 −5 drivers/rtc/Kconfig
  49. +2 −0 drivers/rtc/Makefile
  50. +413 −0 drivers/rtc/rtc-da9055.c
  51. +7 −14 drivers/rtc/rtc-davinci.c
  52. +0 −19 drivers/rtc/rtc-dev.c
  53. +11 −0 drivers/rtc/rtc-imxdi.c
  54. +77 −3 drivers/rtc/rtc-omap.c
  55. +326 −0 drivers/rtc/rtc-pcf8523.c
  56. +9 −43 drivers/rtc/rtc-s3c.c
  57. +31 −60 drivers/rtc/rtc-spear.c
  58. +7 −7 drivers/rtc/rtc-test.c
  59. +8 −1 drivers/rtc/rtc-tps65910.c
  60. +5 −10 drivers/rtc/rtc-vt8500.c
  61. +2 −2 drivers/scsi/fcoe/fcoe_ctlr.c
  62. +6 −6 drivers/usb/musb/musb_core.c
  63. +0 −21 drivers/usb/musb/musb_io.h
  64. +3 −2 drivers/usb/musb/tusb6010.c
  65. +6 −12 drivers/video/backlight/88pm860x_bl.c
  66. +3 −4 drivers/video/backlight/atmel-pwm-bl.c
  67. +29 −0 drivers/video/backlight/backlight.c
  68. +11 −9 drivers/video/backlight/corgi_lcd.c
  69. +7 −8 drivers/video/backlight/da903x_bl.c
  70. +1 −1 drivers/video/backlight/da9052_bl.c
  71. +2 −2 drivers/video/backlight/generic_bl.c
  72. +2 −2 drivers/video/backlight/hp680_bl.c
  73. +3 −11 drivers/video/backlight/ili9320.c
  74. +1 −1 drivers/video/backlight/ili9320.h
  75. +19 −12 drivers/video/backlight/jornada720_bl.c
  76. +1 −2 drivers/video/backlight/l4f00242t03.c
  77. +6 −2 drivers/video/backlight/lcd.c
  78. +1 −1 drivers/video/backlight/lm3630_bl.c
  79. +1 −1 drivers/video/backlight/lm3639_bl.c
  80. +7 −10 drivers/video/backlight/lms283gf05.c
  81. +27 −24 drivers/video/backlight/lp855x_bl.c
  82. +3 −8 drivers/video/backlight/max8925_bl.c
  83. +2 −2 drivers/video/backlight/omap1_bl.c
  84. +3 −5 drivers/video/backlight/pandora_bl.c
  85. +5 −3 drivers/video/backlight/pcf50633-backlight.c
  86. +1 −1 drivers/video/backlight/platform_lcd.c
  87. +1 −1 drivers/video/backlight/s6e63m0.c
  88. +17 −16 drivers/video/backlight/tdo24m.c
  89. +2 −5 drivers/video/backlight/tosa_bl.c
  90. +11 −13 drivers/video/backlight/tosa_lcd.c
  91. +5 −5 drivers/video/backlight/vgg2432a4.c
  92. +1 −1 fs/bad_inode.c
  93. +3 −1 fs/binfmt_elf.c
  94. +0 −1 fs/binfmt_em86.c
  95. +0 −6 fs/binfmt_misc.c
  96. +1 −3 fs/binfmt_script.c
  97. +2 −2 fs/block_dev.c
  98. +8 −8 fs/btrfs/file.c
  99. +2 −2 fs/ceph/dir.c
  100. +3 −3 fs/ceph/file.c
  101. +4 −4 fs/cifs/cifsfs.c
  102. +2 −2 fs/configfs/dir.c
  103. +20 −0 fs/eventfd.c
  104. +28 −0 fs/eventpoll.c
  105. +5 −5 fs/exec.c
  106. +14 −5 fs/exportfs/expfs.c
  107. +3 −3 fs/ext3/dir.c
  108. +3 −3 fs/ext4/dir.c
  109. +11 −11 fs/ext4/file.c
  110. +2 −1 fs/fat/fat.h
  111. +40 −15 fs/fat/inode.c
  112. +6 −3 fs/fat/misc.c
  113. +4 −4 fs/fuse/file.c
  114. +5 −5 fs/gfs2/file.c
  115. +2 −2 fs/libfs.c
  116. +3 −3 fs/nfs/dir.c
  117. +5 −5 fs/nfs/file.c
  118. +1 −1 fs/notify/Makefile
  119. +2 −0 fs/notify/fanotify/fanotify_user.c
  120. +179 −0 fs/notify/fdinfo.c
  121. +27 −0 fs/notify/fdinfo.h
  122. +3 −2 fs/notify/inode_mark.c
  123. +2 −0 fs/notify/inotify/inotify_user.c
  124. +6 −6 fs/ocfs2/extent_map.c
  125. +3 −3 fs/ocfs2/file.c
  126. +19 −2 fs/proc/array.c
  127. +2 −0 fs/proc/fd.c
  128. +1 −5 fs/proc/proc_devtree.c
  129. +53 −0 fs/proc/task_mmu.c
  130. +3 −3 fs/pstore/inode.c
  131. +20 −20 fs/read_write.c
  132. +2 −2 fs/seq_file.c
  133. +18 −0 fs/signalfd.c
  134. +3 −5 fs/ubifs/debug.c
  135. +2 −2 fs/ubifs/dir.c
  136. +6 −6 include/asm-generic/io.h
  137. +10 −0 include/linux/backlight.h
  138. +0 −2 include/linux/binfmts.h
  139. +3 −0 include/linux/compat.h
  140. +2 −0 include/linux/compiler.h
  141. +2 −0 include/linux/exportfs.h
  142. +8 −8 include/linux/fs.h
  143. +2 −2 include/linux/ftrace.h
  144. +20 −20 include/linux/init.h
  145. +33 −0 include/linux/kernel.h
  146. +21 −70 include/linux/percpu-rwsem.h
  147. +2 −7 include/linux/platform_data/lp855x.h
  148. +3 −0 include/linux/proc_fs.h
  149. +2 −0 include/linux/ptrace.h
  150. +14 −5 include/linux/random.h
  151. +0 −6 include/linux/sched.h
  152. +11 −0 include/linux/string.h
  153. +2 −2 include/linux/syscalls.h
  154. +4 −1 include/uapi/linux/ptrace.h
  155. +0 −1 kernel/cgroup.c
  156. +17 −0 kernel/compat.c
  157. +0 −3 kernel/module.c
  158. +0 −15 kernel/pid.c
  159. +21 −19 kernel/printk.c
  160. +3 −0 kernel/ptrace.c
  161. +2 −2 kernel/trace/ftrace.c
  162. +4 −4 kernel/trace/trace_uprobe.c
  163. +8 −5 kernel/watchdog.c
  164. +3 −0 lib/Kconfig
  165. +1 −0 lib/Makefile
  166. +1 −8 lib/dynamic_debug.c
  167. +4 −3 lib/interval_tree_test_main.c
  168. +64 −0 lib/kstrtox.c
  169. +165 −0 lib/percpu-rwsem.c
  170. +73 −24 lib/random32.c
  171. +4 −4 lib/rbtree_test.c
  172. +2 −1 lib/scatterlist.c
  173. +65 −44 lib/vsprintf.c
  174. +4 −5 mm/memory.c
  175. +10 −10 mm/shmem.c
  176. +83 −60 scripts/checkpatch.pl
  177. +0 −3 sound/Kconfig
  178. +1 −2 sound/sound_core.c
  179. +1 −1 tools/testing/selftests/breakpoints/Makefile
  180. +1 −1 tools/testing/selftests/cpu-hotplug/Makefile
  181. +3 −3 tools/testing/selftests/kcmp/Makefile
  182. +4 −2 tools/testing/selftests/kcmp/kcmp_test.c
  183. +1 −1 tools/testing/selftests/memory-hotplug/Makefile
  184. +2 −2 tools/testing/selftests/mqueue/Makefile
  185. +1 −1 tools/testing/selftests/vm/Makefile
View
@@ -60,7 +60,6 @@ modules.builtin
# Generated include files
#
include/config
-include/linux/version.h
include/generated
arch/*/include/generated
@@ -136,8 +136,6 @@ fault-injection/
- dir with docs about the fault injection capabilities infrastructure.
fb/
- directory with info on the frame buffer graphics abstraction layer.
-feature-removal-schedule.txt
- - list of files and features that are going to be removed.
filesystems/
- info on the vfs and the various filesystems that Linux supports.
firmware_class/
@@ -36,9 +36,6 @@ The different levels of stability are:
the kernel, but are marked to be removed at some later point in
time. The description of the interface will document the reason
why it is obsolete and when it can be expected to be removed.
- The file Documentation/feature-removal-schedule.txt may describe
- some of these interfaces, giving a schedule for when they will
- be removed.
removed/
This directory contains a list of the old interfaces that have
@@ -58,6 +58,9 @@
<sect1><title>String Conversions</title>
!Elib/vsprintf.c
+!Finclude/linux/kernel.h kstrtol
+!Finclude/linux/kernel.h kstrtoul
+!Elib/kstrtox.c
</sect1>
<sect1><title>String Manipulation</title>
<!-- All functions are exported at now
@@ -125,7 +125,9 @@ DRIVER OPTIONS
The aoe_deadsecs module parameter determines the maximum number of
seconds that the driver will wait for an AoE device to provide a
response to an AoE command. After aoe_deadsecs seconds have
- elapsed, the AoE device will be marked as "down".
+ elapsed, the AoE device will be marked as "down". A value of zero
+ is supported for testing purposes and makes the aoe driver keep
+ trying AoE commands forever.
The aoe_maxout module parameter has a default of 128. This is the
maximum number of unresponded packets that will be sent to an AoE
@@ -35,11 +35,8 @@ For supporting platform specific data, the lp855x platform data can be used.
* mode : Brightness control mode. PWM or register based.
* device_control : Value of DEVICE CONTROL register.
* initial_brightness : Initial value of backlight brightness.
-* pwm_data : Platform specific pwm generation functions.
+* period_ns : Platform specific PWM period value. unit is nano.
Only valid when brightness is pwm input mode.
- Functions should be implemented by PWM driver.
- - pwm_set_intensity() : set duty of PWM
- - pwm_get_intensity() : get current duty of PWM
* load_new_rom_data :
0 : use default configuration data
1 : update values of eeprom or eprom registers on loading driver
@@ -71,8 +68,5 @@ static struct lp855x_platform_data lp8556_pdata = {
.mode = PWM_BASED,
.device_control = PWM_CONFIG(LP8556),
.initial_brightness = INITIAL_BRT,
- .pwm_data = {
- .pwm_set_intensity = platform_pwm_set_intensity,
- .pwm_get_intensity = platform_pwm_get_intensity,
- },
+ .period_ns = 1000000,
};
@@ -0,0 +1,17 @@
+* i.MX25 Real Time Clock controller
+
+This binding supports the following chips: i.MX25, i.MX53
+
+Required properties:
+- compatible: should be: "fsl,imx25-rtc"
+- reg: physical base address of the controller and length of memory mapped
+ region.
+- interrupts: rtc alarm interrupt
+
+Example:
+
+rtc@80056000 {
+ compatible = "fsl,imx53-rtc", "fsl,imx25-rtc";
+ reg = <0x80056000 2000>;
+ interrupts = <29>;
+};
@@ -0,0 +1,17 @@
+TI Real Time Clock
+
+Required properties:
+- compatible: "ti,da830-rtc"
+- reg: Address range of rtc register set
+- interrupts: rtc timer, alarm interrupts in order
+- interrupt-parent: phandle for the interrupt controller
+
+Example:
+
+rtc@1c23000 {
+ compatible = "ti,da830-rtc";
+ reg = <0x23000 0x1000>;
+ interrupts = <19
+ 19>;
+ interrupt-parent = <&intc>;
+};
@@ -41,6 +41,7 @@ Table of Contents
3.5 /proc/<pid>/mountinfo - Information about mounts
3.6 /proc/<pid>/comm & /proc/<pid>/task/<tid>/comm
3.7 /proc/<pid>/task/<tid>/children - Information about task children
+ 3.8 /proc/<pid>/fdinfo/<fd> - Information about opened file
4 Configuring procfs
4.1 Mount options
@@ -142,7 +143,7 @@ Table 1-1: Process specific entries in /proc
pagemap Page table
stack Report full stack trace, enable via CONFIG_STACKTRACE
smaps a extension based on maps, showing the memory consumption of
- each mapping
+ each mapping and flags associated with it
..............................................................................
For example, to get the status information of a process, all you have to do is
@@ -181,6 +182,7 @@ read the file /proc/PID/status:
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: ffffffffffffffff
+ Seccomp: 0
voluntary_ctxt_switches: 0
nonvoluntary_ctxt_switches: 1
@@ -237,6 +239,7 @@ Table 1-2: Contents of the status files (as of 2.6.30-rc7)
CapPrm bitmap of permitted capabilities
CapEff bitmap of effective capabilities
CapBnd bitmap of capabilities bounding set
+ Seccomp seccomp mode, like prctl(PR_GET_SECCOMP, ...)
Cpus_allowed mask of CPUs on which this process may run
Cpus_allowed_list Same as previous, but in "list format"
Mems_allowed mask of memory nodes allowed to this process
@@ -415,8 +418,9 @@ Swap: 0 kB
KernelPageSize: 4 kB
MMUPageSize: 4 kB
Locked: 374 kB
+VmFlags: rd ex mr mw me de
-The first of these lines shows the same information as is displayed for the
+the first of these lines shows the same information as is displayed for the
mapping in /proc/PID/maps. The remaining lines show the size of the mapping
(size), the amount of the mapping that is currently resident in RAM (RSS), the
process' proportional share of this mapping (PSS), the number of clean and
@@ -430,6 +434,41 @@ and a page is modified, the file page is replaced by a private anonymous copy.
"Swap" shows how much would-be-anonymous memory is also used, but out on
swap.
+"VmFlags" field deserves a separate description. This member represents the kernel
+flags associated with the particular virtual memory area in two letter encoded
+manner. The codes are the following:
+ rd - readable
+ wr - writeable
+ ex - executable
+ sh - shared
+ mr - may read
+ mw - may write
+ me - may execute
+ ms - may share
+ gd - stack segment growns down
+ pf - pure PFN range
+ dw - disabled write to the mapped file
+ lo - pages are locked in memory
+ io - memory mapped I/O area
+ sr - sequential read advise provided
+ rr - random read advise provided
+ dc - do not copy area on fork
+ de - do not expand area on remapping
+ ac - area is accountable
+ nr - swap space is not reserved for the area
+ ht - area uses huge tlb pages
+ nl - non-linear mapping
+ ar - architecture specific flag
+ dd - do not include area into core dump
+ mm - mixed map area
+ hg - huge page advise flag
+ nh - no-huge page advise flag
+ mg - mergable advise flag
+
+Note that there is no guarantee that every flag and associated mnemonic will
+be present in all further kernel releases. Things get changed, the flags may
+be vanished or the reverse -- new added.
+
This file is only present if the CONFIG_MMU kernel configuration option is
enabled.
@@ -1595,6 +1634,93 @@ pids, so one need to either stop or freeze processes being inspected
if precise results are needed.
+3.7 /proc/<pid>/fdinfo/<fd> - Information about opened file
+---------------------------------------------------------------
+This file provides information associated with an opened file. The regular
+files have at least two fields -- 'pos' and 'flags'. The 'pos' represents
+the current offset of the opened file in decimal form [see lseek(2) for
+details] and 'flags' denotes the octal O_xxx mask the file has been
+created with [see open(2) for details].
+
+A typical output is
+
+ pos: 0
+ flags: 0100002
+
+The files such as eventfd, fsnotify, signalfd, epoll among the regular pos/flags
+pair provide additional information particular to the objects they represent.
+
+ Eventfd files
+ ~~~~~~~~~~~~~
+ pos: 0
+ flags: 04002
+ eventfd-count: 5a
+
+ where 'eventfd-count' is hex value of a counter.
+
+ Signalfd files
+ ~~~~~~~~~~~~~~
+ pos: 0
+ flags: 04002
+ sigmask: 0000000000000200
+
+ where 'sigmask' is hex value of the signal mask associated
+ with a file.
+
+ Epoll files
+ ~~~~~~~~~~~
+ pos: 0
+ flags: 02
+ tfd: 5 events: 1d data: ffffffffffffffff
+
+ where 'tfd' is a target file descriptor number in decimal form,
+ 'events' is events mask being watched and the 'data' is data
+ associated with a target [see epoll(7) for more details].
+
+ Fsnotify files
+ ~~~~~~~~~~~~~~
+ For inotify files the format is the following
+
+ pos: 0
+ flags: 02000000
+ inotify wd:3 ino:9e7e sdev:800013 mask:800afce ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:7e9e0000640d1b6d
+
+ where 'wd' is a watch descriptor in decimal form, ie a target file
+ descriptor number, 'ino' and 'sdev' are inode and device where the
+ target file resides and the 'mask' is the mask of events, all in hex
+ form [see inotify(7) for more details].
+
+ If the kernel was built with exportfs support, the path to the target
+ file is encoded as a file handle. The file handle is provided by three
+ fields 'fhandle-bytes', 'fhandle-type' and 'f_handle', all in hex
+ format.
+
+ If the kernel is built without exportfs support the file handle won't be
+ printed out.
+
+ If there is no inotify mark attached yet the 'inotify' line will be omitted.
+
+ For fanotify files the format is
+
+ pos: 0
+ flags: 02
+ fanotify flags:10 event-flags:0
+ fanotify mnt_id:12 mflags:40 mask:38 ignored_mask:40000003
+ fanotify ino:4f969 sdev:800013 mflags:0 mask:3b ignored_mask:40000000 fhandle-bytes:8 fhandle-type:1 f_handle:69f90400c275b5b4
+
+ where fanotify 'flags' and 'event-flags' are values used in fanotify_init
+ call, 'mnt_id' is the mount point identifier, 'mflags' is the value of
+ flags associated with mark which are tracked separately from events
+ mask. 'ino', 'sdev' are target inode and device, 'mask' is the events
+ mask and 'ignored_mask' is the mask of events which are to be ignored.
+ All in hex format. Incorporation of 'mflags', 'mask' and 'ignored_mask'
+ does provide information about flags and mask used in fanotify_mark
+ call [see fsnotify manpage for details].
+
+ While the first three lines are mandatory and always printed, the rest is
+ optional and may be omitted if no marks created yet.
+
+
------------------------------------------------------------------------------
Configuring procfs
------------------------------------------------------------------------------
@@ -111,6 +111,15 @@ tz=UTC -- Interpret timestamps as UTC rather than local time.
useful when mounting devices (like digital cameras)
that are set to UTC in order to avoid the pitfalls of
local time.
+time_offset=minutes
+ -- Set offset for conversion of timestamps from local time
+ used by FAT to UTC. I.e. <minutes> minutes will be subtracted
+ from each timestamp to convert it to UTC used internally by
+ Linux. This is useful when time zone set in sys_tz is
+ not the time zone used by the filesystem. Note that this
+ option still does not provide correct time stamps in all
+ cases in presence of DST - time stamps in a different DST
+ setting will be off by one hour.
showexec -- If set, the execute permission bits of the file will be
allowed only if the extension part of the name is .EXE,
@@ -1503,9 +1503,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
mem=nn[KMG] [KNL,BOOT] Force usage of a specific amount of memory
Amount of memory to be used when the kernel is not able
to see the whole system memory or for test.
- [X86-32] Use together with memmap= to avoid physical
- address space collisions. Without memmap= PCI devices
- could be placed at addresses belonging to unused RAM.
+ [X86] Work as limiting max address. Use together
+ with memmap= to avoid physical address space collisions.
+ Without memmap= PCI devices could be placed at addresses
+ belonging to unused RAM.
mem=nopentium [BUGS=X86-32] Disable usage of 4MB pages for kernel
memory.
@@ -12,6 +12,8 @@ apparmor.txt
- documentation on the AppArmor security extension.
credentials.txt
- documentation about credentials in Linux.
+keys-ecryptfs.txt
+ - description of the encryption keys for the ecryptfs filesystem.
keys-request-key.txt
- description of the kernel key request service.
keys-trusted-encrypted.txt
@@ -49,6 +49,24 @@ be generated without __CHECK_ENDIAN__.
__bitwise - noisy stuff; in particular, __le*/__be* are that. We really
don't want to drown in noise unless we'd explicitly asked for it.
+Using sparse for lock checking
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The following macros are undefined for gcc and defined during a sparse
+run to use the "context" tracking feature of sparse, applied to
+locking. These annotations tell sparse when a lock is held, with
+regard to the annotated function's entry and exit.
+
+__must_hold - The specified lock is held on function entry and exit.
+
+__acquires - The specified lock is held on function exit, but not entry.
+
+__releases - The specified lock is held on function entry, but not exit.
+
+If the function enters and exits without the lock held, acquiring and
+releasing the lock inside the function in a balanced way, no
+annotation is needed. The tree annotations above are for cases where
+sparse would otherwise report a context imbalance.
Getting sparse
~~~~~~~~~~~~~~
Oops, something went wrong.

0 comments on commit 848b814

Please sign in to comment.