diff options
author | James Morris <jmorris@namei.org> | 2009-02-05 19:01:45 -0500 |
---|---|---|
committer | James Morris <jmorris@namei.org> | 2009-02-05 19:01:45 -0500 |
commit | cb5629b10d64a8006622ce3a52bc887d91057d69 (patch) | |
tree | 7c06d8f30783115e3384721046258ce615b129c5 /Documentation/wimax/README.wimax | |
parent | 8920d5ad6ba74ae8ab020e90cc4d976980e68701 (diff) | |
parent | f01d1d546abb2f4028b5299092f529eefb01253a (diff) |
Merge branch 'master' into next
Conflicts:
fs/namei.c
Manually merged per:
diff --cc fs/namei.c
index 734f2b5,bbc15c2..0000000
--- a/fs/namei.c
+++ b/fs/namei.c
@@@ -860,9 -848,8 +849,10 @@@ static int __link_path_walk(const char
nd->flags |= LOOKUP_CONTINUE;
err = exec_permission_lite(inode);
if (err == -EAGAIN)
- err = vfs_permission(nd, MAY_EXEC);
+ err = inode_permission(nd->path.dentry->d_inode,
+ MAY_EXEC);
+ if (!err)
+ err = ima_path_check(&nd->path, MAY_EXEC);
if (err)
break;
@@@ -1525,14 -1506,9 +1509,14 @@@ int may_open(struct path *path, int acc
flag &= ~O_TRUNC;
}
- error = vfs_permission(nd, acc_mode);
+ error = inode_permission(inode, acc_mode);
if (error)
return error;
+
- error = ima_path_check(&nd->path,
++ error = ima_path_check(path,
+ acc_mode & (MAY_READ | MAY_WRITE | MAY_EXEC));
+ if (error)
+ return error;
/*
* An append-only file must be opened in append mode for writing.
*/
Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'Documentation/wimax/README.wimax')
-rw-r--r-- | Documentation/wimax/README.wimax | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/Documentation/wimax/README.wimax b/Documentation/wimax/README.wimax new file mode 100644 index 000000000000..b78c4378084e --- /dev/null +++ b/Documentation/wimax/README.wimax | |||
@@ -0,0 +1,81 @@ | |||
1 | |||
2 | Linux kernel WiMAX stack | ||
3 | |||
4 | (C) 2008 Intel Corporation < linux-wimax@intel.com > | ||
5 | |||
6 | This provides a basic Linux kernel WiMAX stack to provide a common | ||
7 | control API for WiMAX devices, usable from kernel and user space. | ||
8 | |||
9 | 1. Design | ||
10 | |||
11 | The WiMAX stack is designed to provide for common WiMAX control | ||
12 | services to current and future WiMAX devices from any vendor. | ||
13 | |||
14 | Because currently there is only one and we don't know what would be the | ||
15 | common services, the APIs it currently provides are very minimal. | ||
16 | However, it is done in such a way that it is easily extensible to | ||
17 | accommodate future requirements. | ||
18 | |||
19 | The stack works by embedding a struct wimax_dev in your device's | ||
20 | control structures. This provides a set of callbacks that the WiMAX | ||
21 | stack will call in order to implement control operations requested by | ||
22 | the user. As well, the stack provides API functions that the driver | ||
23 | calls to notify about changes of state in the device. | ||
24 | |||
25 | The stack exports the API calls needed to control the device to user | ||
26 | space using generic netlink as a marshalling mechanism. You can access | ||
27 | them using your own code or use the wrappers provided for your | ||
28 | convenience in libwimax (in the wimax-tools package). | ||
29 | |||
30 | For detailed information on the stack, please see | ||
31 | include/linux/wimax.h. | ||
32 | |||
33 | 2. Usage | ||
34 | |||
35 | For usage in a driver (registration, API, etc) please refer to the | ||
36 | instructions in the header file include/linux/wimax.h. | ||
37 | |||
38 | When a device is registered with the WiMAX stack, a set of debugfs | ||
39 | files will appear in /sys/kernel/debug/wimax:wmxX can tweak for | ||
40 | control. | ||
41 | |||
42 | 2.1. Obtaining debug information: debugfs entries | ||
43 | |||
44 | The WiMAX stack is compiled, by default, with debug messages that can | ||
45 | be used to diagnose issues. By default, said messages are disabled. | ||
46 | |||
47 | The drivers will register debugfs entries that allow the user to tweak | ||
48 | debug settings. | ||
49 | |||
50 | Each driver, when registering with the stack, will cause a debugfs | ||
51 | directory named wimax:DEVICENAME to be created; optionally, it might | ||
52 | create more subentries below it. | ||
53 | |||
54 | 2.1.1. Increasing debug output | ||
55 | |||
56 | The files named *dl_* indicate knobs for controlling the debug output | ||
57 | of different submodules of the WiMAX stack: | ||
58 | * | ||
59 | # find /sys/kernel/debug/wimax\:wmx0 -name \*dl_\* | ||
60 | /sys/kernel/debug/wimax:wmx0/wimax_dl_stack | ||
61 | /sys/kernel/debug/wimax:wmx0/wimax_dl_op_rfkill | ||
62 | /sys/kernel/debug/wimax:wmx0/wimax_dl_op_reset | ||
63 | /sys/kernel/debug/wimax:wmx0/wimax_dl_op_msg | ||
64 | /sys/kernel/debug/wimax:wmx0/wimax_dl_id_table | ||
65 | /sys/kernel/debug/wimax:wmx0/wimax_dl_debugfs | ||
66 | /sys/kernel/debug/wimax:wmx0/.... # other driver specific files | ||
67 | |||
68 | NOTE: Of course, if debugfs is mounted in a directory other than | ||
69 | /sys/kernel/debug, those paths will change. | ||
70 | |||
71 | By reading the file you can obtain the current value of said debug | ||
72 | level; by writing to it, you can set it. | ||
73 | |||
74 | To increase the debug level of, for example, the id-table submodule, | ||
75 | just write: | ||
76 | |||
77 | $ echo 3 > /sys/kernel/debug/wimax:wmx0/wimax_dl_id_table | ||
78 | |||
79 | Increasing numbers yield increasing debug information; for details of | ||
80 | what is printed and the available levels, check the source. The code | ||
81 | uses 0 for disabled and increasing values until 8. | ||