diff options
author | J. Bruce Fields <bfields@citi.umich.edu> | 2009-06-15 21:08:07 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@citi.umich.edu> | 2009-06-15 21:08:07 -0400 |
commit | 7eef4091a653c243a87e5375c54504cc03bec4d8 (patch) | |
tree | f65b77f830b2c8f7d014512badfef5df0d591ee9 /Documentation/filesystems | |
parent | 0a93a47f042c459f0f46942c3a920e3c81878031 (diff) | |
parent | 07a2039b8eb0af4ff464efd3dfd95de5c02648c6 (diff) |
Merge commit 'v2.6.30' into for-2.6.31
Diffstat (limited to 'Documentation/filesystems')
-rw-r--r-- | Documentation/filesystems/Locking | 24 | ||||
-rw-r--r-- | Documentation/filesystems/caching/cachefiles.txt | 8 | ||||
-rw-r--r-- | Documentation/filesystems/tmpfs.txt | 2 |
3 files changed, 21 insertions, 13 deletions
diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking index 76efe5b71d7d..3120f8dd2c31 100644 --- a/Documentation/filesystems/Locking +++ b/Documentation/filesystems/Locking | |||
@@ -512,16 +512,24 @@ locking rules: | |||
512 | BKL mmap_sem PageLocked(page) | 512 | BKL mmap_sem PageLocked(page) |
513 | open: no yes | 513 | open: no yes |
514 | close: no yes | 514 | close: no yes |
515 | fault: no yes | 515 | fault: no yes can return with page locked |
516 | page_mkwrite: no yes no | 516 | page_mkwrite: no yes can return with page locked |
517 | access: no yes | 517 | access: no yes |
518 | 518 | ||
519 | ->page_mkwrite() is called when a previously read-only page is | 519 | ->fault() is called when a previously not present pte is about |
520 | about to become writeable. The file system is responsible for | 520 | to be faulted in. The filesystem must find and return the page associated |
521 | protecting against truncate races. Once appropriate action has been | 521 | with the passed in "pgoff" in the vm_fault structure. If it is possible that |
522 | taking to lock out truncate, the page range should be verified to be | 522 | the page may be truncated and/or invalidated, then the filesystem must lock |
523 | within i_size. The page mapping should also be checked that it is not | 523 | the page, then ensure it is not already truncated (the page lock will block |
524 | NULL. | 524 | subsequent truncate), and then return with VM_FAULT_LOCKED, and the page |
525 | locked. The VM will unlock the page. | ||
526 | |||
527 | ->page_mkwrite() is called when a previously read-only pte is | ||
528 | about to become writeable. The filesystem again must ensure that there are | ||
529 | no truncate/invalidate races, and then return with the page locked. If | ||
530 | the page has been truncated, the filesystem should not look up a new page | ||
531 | like the ->fault() handler, but simply return with VM_FAULT_NOPAGE, which | ||
532 | will cause the VM to retry the fault. | ||
525 | 533 | ||
526 | ->access() is called when get_user_pages() fails in | 534 | ->access() is called when get_user_pages() fails in |
527 | acces_process_vm(), typically used to debug a process through | 535 | acces_process_vm(), typically used to debug a process through |
diff --git a/Documentation/filesystems/caching/cachefiles.txt b/Documentation/filesystems/caching/cachefiles.txt index c78a49b7bba6..748a1ae49e12 100644 --- a/Documentation/filesystems/caching/cachefiles.txt +++ b/Documentation/filesystems/caching/cachefiles.txt | |||
@@ -407,7 +407,7 @@ A NOTE ON SECURITY | |||
407 | ================== | 407 | ================== |
408 | 408 | ||
409 | CacheFiles makes use of the split security in the task_struct. It allocates | 409 | CacheFiles makes use of the split security in the task_struct. It allocates |
410 | its own task_security structure, and redirects current->act_as to point to it | 410 | its own task_security structure, and redirects current->cred to point to it |
411 | when it acts on behalf of another process, in that process's context. | 411 | when it acts on behalf of another process, in that process's context. |
412 | 412 | ||
413 | The reason it does this is that it calls vfs_mkdir() and suchlike rather than | 413 | The reason it does this is that it calls vfs_mkdir() and suchlike rather than |
@@ -429,9 +429,9 @@ This means it may lose signals or ptrace events for example, and affects what | |||
429 | the process looks like in /proc. | 429 | the process looks like in /proc. |
430 | 430 | ||
431 | So CacheFiles makes use of a logical split in the security between the | 431 | So CacheFiles makes use of a logical split in the security between the |
432 | objective security (task->sec) and the subjective security (task->act_as). The | 432 | objective security (task->real_cred) and the subjective security (task->cred). |
433 | objective security holds the intrinsic security properties of a process and is | 433 | The objective security holds the intrinsic security properties of a process and |
434 | never overridden. This is what appears in /proc, and is what is used when a | 434 | is never overridden. This is what appears in /proc, and is what is used when a |
435 | process is the target of an operation by some other process (SIGKILL for | 435 | process is the target of an operation by some other process (SIGKILL for |
436 | example). | 436 | example). |
437 | 437 | ||
diff --git a/Documentation/filesystems/tmpfs.txt b/Documentation/filesystems/tmpfs.txt index 222437efd75a..3015da0c6b2a 100644 --- a/Documentation/filesystems/tmpfs.txt +++ b/Documentation/filesystems/tmpfs.txt | |||
@@ -133,4 +133,4 @@ RAM/SWAP in 10240 inodes and it is only accessible by root. | |||
133 | Author: | 133 | Author: |
134 | Christoph Rohland <cr@sap.com>, 1.12.01 | 134 | Christoph Rohland <cr@sap.com>, 1.12.01 |
135 | Updated: | 135 | Updated: |
136 | Hugh Dickins <hugh@veritas.com>, 4 June 2007 | 136 | Hugh Dickins, 4 June 2007 |