]>
Commit | Line | Data |
---|---|---|
c200b422 HS |
1 | .\" Copyright (C) 2013, Heinrich Schuchardt <xypron.glpk@gmx.de> |
2 | .\" | |
5fbde956 | 3 | .\" SPDX-License-Identifier: Linux-man-pages-copyleft |
6e00b7a8 | 4 | .TH FANOTIFY_MARK 2 2021-08-27 "Linux" "Linux Programmer's Manual" |
c200b422 HS |
5 | .SH NAME |
6 | fanotify_mark \- add, remove, or modify an fanotify mark on a filesystem | |
7 | object | |
61e69b14 AC |
8 | .SH LIBRARY |
9 | Standard C library | |
8fc3b2cf | 10 | .RI ( libc ", " \-lc ) |
c200b422 HS |
11 | .SH SYNOPSIS |
12 | .nf | |
13 | .B #include <sys/fanotify.h> | |
68e4db0a | 14 | .PP |
c200b422 | 15 | .BI "int fanotify_mark(int " fanotify_fd ", unsigned int " flags , |
5ff1ff14 MK |
16 | .BI " uint64_t " mask ", int " dirfd \ |
17 | ", const char *" pathname ); | |
c200b422 HS |
18 | .fi |
19 | .SH DESCRIPTION | |
20 | For an overview of the fanotify API, see | |
21 | .BR fanotify (7). | |
22 | .PP | |
bf7bc8b8 | 23 | .BR fanotify_mark () |
b6551738 | 24 | adds, removes, or modifies an fanotify mark on a filesystem object. |
1b24e2ee MK |
25 | The caller must have read permission on the filesystem object that |
26 | is to be marked. | |
c200b422 HS |
27 | .PP |
28 | The | |
29 | .I fanotify_fd | |
963a1568 | 30 | argument is a file descriptor returned by |
c200b422 HS |
31 | .BR fanotify_init (2). |
32 | .PP | |
33 | .I flags | |
34 | is a bit mask describing the modification to perform. | |
35 | It must include exactly one of the following values: | |
36 | .TP | |
37 | .B FAN_MARK_ADD | |
38 | The events in | |
39 | .I mask | |
40 | will be added to the mark mask (or to the ignore mask). | |
41 | .I mask | |
42 | must be nonempty or the error | |
43 | .B EINVAL | |
44 | will occur. | |
45 | .TP | |
46 | .B FAN_MARK_REMOVE | |
47 | The events in argument | |
48 | .I mask | |
49 | will be removed from the mark mask (or from the ignore mask). | |
50 | .I mask | |
51 | must be nonempty or the error | |
52 | .B EINVAL | |
53 | will occur. | |
54 | .TP | |
55 | .B FAN_MARK_FLUSH | |
953d1e07 | 56 | Remove either all marks for filesystems, all marks for mounts, or all |
b2f8214d | 57 | marks for directories and files from the fanotify group. |
c200b422 | 58 | If |
8c659c48 | 59 | .I flags |
c200b422 HS |
60 | contains |
61 | .BR FAN_MARK_MOUNT , | |
62 | all marks for mounts are removed from the group. | |
b2f8214d AG |
63 | If |
64 | .I flags | |
65 | contains | |
66 | .BR FAN_MARK_FILESYSTEM , | |
67 | all marks for filesystems are removed from the group. | |
c200b422 | 68 | Otherwise, all marks for directories and files are removed. |
669d6302 | 69 | No flag other than, and at most one of, the flags |
c200b422 | 70 | .B FAN_MARK_MOUNT |
b2f8214d AG |
71 | or |
72 | .B FAN_MARK_FILESYSTEM | |
c200b422 HS |
73 | can be used in conjunction with |
74 | .BR FAN_MARK_FLUSH . | |
75 | .I mask | |
76 | is ignored. | |
77 | .PP | |
1b24e2ee MK |
78 | If none of the values above is specified, or more than one is specified, |
79 | the call fails with the error | |
c200b422 HS |
80 | .BR EINVAL . |
81 | .PP | |
82 | In addition, | |
d4a12c12 MK |
83 | zero or more of the following values may be ORed into |
84 | .IR flags : | |
c200b422 HS |
85 | .TP |
86 | .B FAN_MARK_DONT_FOLLOW | |
87 | If | |
88 | .I pathname | |
89 | is a symbolic link, mark the link itself, rather than the file to which it | |
90 | refers. | |
91 | (By default, | |
92 | .BR fanotify_mark () | |
93 | dereferences | |
94 | .I pathname | |
95 | if it is a symbolic link.) | |
96 | .TP | |
97 | .B FAN_MARK_ONLYDIR | |
98 | If the filesystem object to be marked is not a directory, the error | |
99 | .B ENOTDIR | |
100 | shall be raised. | |
101 | .TP | |
102 | .B FAN_MARK_MOUNT | |
525a8b54 | 103 | Mark the mount specified by |
c82b4ae4 MK |
104 | .IR pathname . |
105 | If | |
106 | .I pathname | |
525a8b54 | 107 | is not itself a mount point, the mount containing |
c200b422 | 108 | .I pathname |
c200b422 | 109 | will be marked. |
525a8b54 | 110 | All directories, subdirectories, and the contained files of the mount |
c200b422 | 111 | will be monitored. |
b216da61 | 112 | The events which require that filesystem objects are identified by file handles, |
d71c9b4a AG |
113 | such as |
114 | .BR FAN_CREATE , | |
115 | .BR FAN_ATTRIB , | |
116 | .BR FAN_MOVE , | |
117 | and | |
118 | .BR FAN_DELETE_SELF , | |
119 | cannot be provided as a | |
1ae6b2c7 | 120 | .I mask |
d71c9b4a AG |
121 | when |
122 | .I flags | |
123 | contains | |
124 | .BR FAN_MARK_MOUNT . | |
0a4db6dc MB |
125 | Attempting to do so will result in the error |
126 | .B EINVAL | |
127 | being returned. | |
69e6b644 MB |
128 | Use of this flag requires the |
129 | .B CAP_SYS_ADMIN | |
130 | capability. | |
c200b422 | 131 | .TP |
b2f8214d AG |
132 | .BR FAN_MARK_FILESYSTEM " (since Linux 4.20)" |
133 | .\" commit d54f4fba889b205e9cd8239182ca5d27d0ac3bc2 | |
134 | Mark the filesystem specified by | |
135 | .IR pathname . | |
136 | The filesystem containing | |
137 | .I pathname | |
138 | will be marked. | |
139 | All the contained files and directories of the filesystem from any mount | |
140 | point will be monitored. | |
69e6b644 MB |
141 | Use of this flag requires the |
142 | .B CAP_SYS_ADMIN | |
143 | capability. | |
b2f8214d | 144 | .TP |
c200b422 HS |
145 | .B FAN_MARK_IGNORED_MASK |
146 | The events in | |
147 | .I mask | |
148 | shall be added to or removed from the ignore mask. | |
149 | .TP | |
150 | .B FAN_MARK_IGNORED_SURV_MODIFY | |
151 | The ignore mask shall survive modify events. | |
1b24e2ee MK |
152 | If this flag is not set, |
153 | the ignore mask is cleared when a modify event occurs | |
c200b422 HS |
154 | for the ignored file or directory. |
155 | .PP | |
156 | .I mask | |
d4a12c12 | 157 | defines which events shall be listened for (or which shall be ignored). |
c200b422 HS |
158 | It is a bit mask composed of the following values: |
159 | .TP | |
160 | .B FAN_ACCESS | |
161 | Create an event when a file or directory (but see BUGS) is accessed (read). | |
162 | .TP | |
163 | .B FAN_MODIFY | |
164 | Create an event when a file is modified (write). | |
165 | .TP | |
166 | .B FAN_CLOSE_WRITE | |
167 | Create an event when a writable file is closed. | |
168 | .TP | |
169 | .B FAN_CLOSE_NOWRITE | |
170 | Create an event when a read-only file or directory is closed. | |
171 | .TP | |
172 | .B FAN_OPEN | |
173 | Create an event when a file or directory is opened. | |
174 | .TP | |
bbd7edea | 175 | .BR FAN_OPEN_EXEC " (since Linux 5.0)" |
10fa1da2 | 176 | .\" commit 9b076f1c0f4869b838a1b7aa0edb5664d47ec8aa |
fc37d2f1 | 177 | Create an event when a file is opened with the intent to be executed. |
fd1eb8a7 | 178 | See NOTES for additional details. |
fc37d2f1 | 179 | .TP |
10fa1da2 JW |
180 | .BR FAN_ATTRIB " (since Linux 5.1)" |
181 | .\" commit 235328d1fa4251c6dcb32351219bb553a58838d2 | |
0a4db6dc | 182 | Create an event when the metadata for a file or directory has changed. |
b216da61 | 183 | An fanotify group that identifies filesystem objects by file handles |
d71c9b4a | 184 | is required. |
0a4db6dc | 185 | .TP |
10fa1da2 JW |
186 | .BR FAN_CREATE " (since Linux 5.1)" |
187 | .\" commit 235328d1fa4251c6dcb32351219bb553a58838d2 | |
0a4db6dc MB |
188 | Create an event when a file or directory has been created in a marked |
189 | parent directory. | |
b216da61 | 190 | An fanotify group that identifies filesystem objects by file handles |
d71c9b4a | 191 | is required. |
0a4db6dc | 192 | .TP |
10fa1da2 JW |
193 | .BR FAN_DELETE " (since Linux 5.1)" |
194 | .\" commit 235328d1fa4251c6dcb32351219bb553a58838d2 | |
0a4db6dc MB |
195 | Create an event when a file or directory has been deleted in a marked |
196 | parent directory. | |
b216da61 | 197 | An fanotify group that identifies filesystem objects by file handles |
d71c9b4a | 198 | is required. |
0a4db6dc | 199 | .TP |
10fa1da2 JW |
200 | .BR FAN_DELETE_SELF " (since Linux 5.1)" |
201 | .\" commit 235328d1fa4251c6dcb32351219bb553a58838d2 | |
0a4db6dc | 202 | Create an event when a marked file or directory itself is deleted. |
b216da61 | 203 | An fanotify group that identifies filesystem objects by file handles |
d71c9b4a | 204 | is required. |
0a4db6dc | 205 | .TP |
10fa1da2 JW |
206 | .BR FAN_MOVED_FROM " (since Linux 5.1)" |
207 | .\" commit 235328d1fa4251c6dcb32351219bb553a58838d2 | |
0a4db6dc MB |
208 | Create an event when a file or directory has been moved from a marked |
209 | parent directory. | |
b216da61 | 210 | An fanotify group that identifies filesystem objects by file handles |
d71c9b4a | 211 | is required. |
0a4db6dc | 212 | .TP |
10fa1da2 JW |
213 | .BR FAN_MOVED_TO " (since Linux 5.1)" |
214 | .\" commit 235328d1fa4251c6dcb32351219bb553a58838d2 | |
0a4db6dc MB |
215 | Create an event when a file or directory has been moved to a marked parent |
216 | directory. | |
b216da61 | 217 | An fanotify group that identifies filesystem objects by file handles |
d71c9b4a | 218 | is required. |
0a4db6dc | 219 | .TP |
b5e1b804 JW |
220 | .BR FAN_MOVE_SELF " (since Linux 5.1)" |
221 | .\" commit 235328d1fa4251c6dcb32351219bb553a58838d2 | |
222 | Create an event when a marked file or directory itself has been moved. | |
b216da61 | 223 | An fanotify group that identifies filesystem objects by file handles |
d71c9b4a | 224 | is required. |
b5e1b804 | 225 | .TP |
c200b422 HS |
226 | .B FAN_OPEN_PERM |
227 | Create an event when a permission to open a file or directory is requested. | |
228 | An fanotify file descriptor created with | |
229 | .B FAN_CLASS_PRE_CONTENT | |
230 | or | |
231 | .B FAN_CLASS_CONTENT | |
232 | is required. | |
233 | .TP | |
fd1eb8a7 | 234 | .BR FAN_OPEN_EXEC_PERM " (since Linux 5.0)" |
10fa1da2 | 235 | .\" commit 66917a3130f218dcef9eeab4fd11a71cd00cd7c9 |
fc37d2f1 MB |
236 | Create an event when a permission to open a file for execution is |
237 | requested. | |
238 | An fanotify file descriptor created with | |
239 | .B FAN_CLASS_PRE_CONTENT | |
240 | or | |
241 | .B FAN_CLASS_CONTENT | |
242 | is required. | |
fd1eb8a7 | 243 | See NOTES for additional details. |
fc37d2f1 | 244 | .TP |
c200b422 HS |
245 | .B FAN_ACCESS_PERM |
246 | Create an event when a permission to read a file or directory is requested. | |
247 | An fanotify file descriptor created with | |
248 | .B FAN_CLASS_PRE_CONTENT | |
249 | or | |
250 | .B FAN_CLASS_CONTENT | |
251 | is required. | |
252 | .TP | |
253 | .B FAN_ONDIR | |
817c8240 | 254 | Create events for directories\(emfor example, when |
834e5597 MK |
255 | .BR opendir (3), |
256 | .BR readdir (3) | |
c200b422 | 257 | (but see BUGS), and |
834e5597 | 258 | .BR closedir (3) |
c200b422 | 259 | are called. |
e9898cc8 | 260 | Without this flag, events are created only for files. |
0a4db6dc MB |
261 | In the context of directory entry events, such as |
262 | .BR FAN_CREATE , | |
263 | .BR FAN_DELETE , | |
817c8240 | 264 | .BR FAN_MOVED_FROM , |
0a4db6dc | 265 | and |
e9898cc8 AG |
266 | .BR FAN_MOVED_TO , |
267 | specifying the flag | |
1ae6b2c7 | 268 | .B FAN_ONDIR |
0a4db6dc | 269 | is required in order to create events when subdirectory entries are |
817c8240 MK |
270 | modified (i.e., |
271 | .BR mkdir (2)/ | |
272 | .BR rmdir (2)). | |
c200b422 HS |
273 | .TP |
274 | .B FAN_EVENT_ON_CHILD | |
275 | Events for the immediate children of marked directories shall be created. | |
b2f8214d | 276 | The flag has no effect when marking mounts and filesystems. |
c200b422 HS |
277 | Note that events are not generated for children of the subdirectories |
278 | of marked directories. | |
1f20a880 AG |
279 | More specifically, the directory entry modification events |
280 | .BR FAN_CREATE , | |
281 | .BR FAN_DELETE , | |
3af84490 | 282 | .BR FAN_MOVED_FROM , |
1f20a880 | 283 | and |
1ae6b2c7 | 284 | .B FAN_MOVED_TO |
1f20a880 AG |
285 | are not generated for any entry modifications performed inside subdirectories |
286 | of marked directories. | |
287 | Note that the events | |
1ae6b2c7 | 288 | .B FAN_DELETE_SELF |
1f20a880 | 289 | and |
1ae6b2c7 | 290 | .B FAN_MOVE_SELF |
1f20a880 | 291 | are not generated for children of marked directories. |
c200b422 | 292 | To monitor complete directory trees it is necessary to mark the relevant |
1f20a880 | 293 | mount or filesystem. |
c200b422 | 294 | .PP |
0a4db6dc | 295 | The following composed values are defined: |
c200b422 HS |
296 | .TP |
297 | .B FAN_CLOSE | |
298 | A file is closed | |
299 | .RB ( FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE ). | |
0a4db6dc MB |
300 | .TP |
301 | .B FAN_MOVE | |
302 | A file or directory has been moved | |
303 | .RB ( FAN_MOVED_FROM | FAN_MOVED_TO ). | |
c200b422 HS |
304 | .PP |
305 | The filesystem object to be marked is determined by the file descriptor | |
306 | .I dirfd | |
307 | and the pathname specified in | |
308 | .IR pathname : | |
309 | .IP * 3 | |
310 | If | |
311 | .I pathname | |
312 | is NULL, | |
313 | .I dirfd | |
314 | defines the filesystem object to be marked. | |
315 | .IP * | |
316 | If | |
317 | .I pathname | |
318 | is NULL, and | |
319 | .I dirfd | |
320 | takes the special value | |
321 | .BR AT_FDCWD , | |
322 | the current working directory is to be marked. | |
323 | .IP * | |
324 | If | |
325 | .I pathname | |
326 | is absolute, it defines the filesystem object to be marked, and | |
327 | .I dirfd | |
328 | is ignored. | |
329 | .IP * | |
330 | If | |
331 | .I pathname | |
332 | is relative, and | |
333 | .I dirfd | |
334 | does not have the value | |
335 | .BR AT_FDCWD , | |
336 | then the filesystem object to be marked is determined by interpreting | |
337 | .I pathname | |
338 | relative the directory referred to by | |
339 | .IR dirfd . | |
340 | .IP * | |
341 | If | |
342 | .I pathname | |
343 | is relative, and | |
344 | .I dirfd | |
345 | has the value | |
9fdb563e | 346 | .BR AT_FDCWD , |
c200b422 HS |
347 | then the filesystem object to be marked is determined by interpreting |
348 | .I pathname | |
3c39ce85 | 349 | relative to the current working directory. |
717c3a7d MK |
350 | (See |
351 | .BR openat (2) | |
352 | for an explanation of why the | |
353 | .I dirfd | |
354 | argument is useful.) | |
c200b422 HS |
355 | .SH RETURN VALUE |
356 | On success, | |
357 | .BR fanotify_mark () | |
358 | returns 0. | |
b3470de1 | 359 | On error, \-1 is returned, and |
c200b422 HS |
360 | .I errno |
361 | is set to indicate the error. | |
362 | .SH ERRORS | |
363 | .TP | |
364 | .B EBADF | |
365 | An invalid file descriptor was passed in | |
366 | .IR fanotify_fd . | |
367 | .TP | |
38a35006 MK |
368 | .B EBADF |
369 | .I pathname | |
370 | is relative but | |
371 | .I dirfd | |
372 | is neither | |
373 | .B AT_FDCWD | |
374 | nor a valid file descriptor. | |
375 | .TP | |
c200b422 HS |
376 | .B EINVAL |
377 | An invalid value was passed in | |
1ae6b2c7 | 378 | .I flags |
c200b422 HS |
379 | or |
380 | .IR mask , | |
381 | or | |
382 | .I fanotify_fd | |
383 | was not an fanotify file descriptor. | |
384 | .TP | |
385 | .B EINVAL | |
386 | The fanotify file descriptor was opened with | |
387 | .B FAN_CLASS_NOTIF | |
b216da61 | 388 | or the fanotify group identifies filesystem objects by file handles |
c200b422 HS |
389 | and mask contains a flag for permission events |
390 | .RB ( FAN_OPEN_PERM | |
391 | or | |
392 | .BR FAN_ACCESS_PERM ). | |
393 | .TP | |
49a2a105 MK |
394 | .B ENODEV |
395 | The filesystem object indicated by | |
396 | .I pathname | |
397 | is not associated with a filesystem that supports | |
398 | .I fsid | |
399 | (e.g., | |
d6a514ba AG |
400 | .BR fuse (4)). |
401 | .BR tmpfs (5) | |
402 | did not support | |
403 | .I fsid | |
404 | prior to Linux 5.13. | |
405 | .\" commit 59cda49ecf6c9a32fae4942420701b6e087204f6 | |
b216da61 AG |
406 | This error can be returned only with an fanotify group that identifies |
407 | filesystem objects by file handles. | |
49a2a105 | 408 | .TP |
c200b422 HS |
409 | .B ENOENT |
410 | The filesystem object indicated by | |
1ae6b2c7 | 411 | .I dirfd |
c200b422 | 412 | and |
1ae6b2c7 | 413 | .I pathname |
c200b422 | 414 | does not exist. |
1b24e2ee MK |
415 | This error also occurs when trying to remove a mark from an object |
416 | which is not marked. | |
c200b422 HS |
417 | .TP |
418 | .B ENOMEM | |
419 | The necessary memory could not be allocated. | |
420 | .TP | |
421 | .B ENOSPC | |
39bab785 | 422 | The number of marks for this user exceeds the limit and the |
c200b422 | 423 | .B FAN_UNLIMITED_MARKS |
d4a12c12 | 424 | flag was not specified when the fanotify file descriptor was created with |
c200b422 | 425 | .BR fanotify_init (2). |
39bab785 AG |
426 | See |
427 | .BR fanotify (7) | |
428 | for details about this limit. | |
c200b422 | 429 | .TP |
89ba4cc2 MK |
430 | .B ENOSYS |
431 | This kernel does not implement | |
ffb30e75 | 432 | .BR fanotify_mark (). |
d4a12c12 MK |
433 | The fanotify API is available only if the kernel was configured with |
434 | .BR CONFIG_FANOTIFY . | |
89ba4cc2 | 435 | .TP |
c200b422 HS |
436 | .B ENOTDIR |
437 | .I flags | |
438 | contains | |
439 | .BR FAN_MARK_ONLYDIR , | |
440 | and | |
441 | .I dirfd | |
442 | and | |
443 | .I pathname | |
444 | do not specify a directory. | |
0a4db6dc | 445 | .TP |
49a2a105 MK |
446 | .B EOPNOTSUPP |
447 | The object indicated by | |
0a4db6dc | 448 | .I pathname |
49a2a105 MK |
449 | is associated with a filesystem that does not support the encoding of file |
450 | handles. | |
b216da61 AG |
451 | This error can be returned only with an fanotify group that identifies |
452 | filesystem objects by file handles. | |
0a4db6dc | 453 | .TP |
69e6b644 MB |
454 | .B EPERM |
455 | The operation is not permitted because the caller lacks a required capability. | |
456 | .TP | |
49a2a105 | 457 | .B EXDEV |
eae836e0 | 458 | The filesystem object indicated by |
0a4db6dc | 459 | .I pathname |
49a2a105 MK |
460 | resides within a filesystem subvolume (e.g., |
461 | .BR btrfs (5)) | |
462 | which uses a different | |
0a4db6dc | 463 | .I fsid |
49a2a105 | 464 | than its root superblock. |
b216da61 AG |
465 | This error can be returned only with an fanotify group that identifies |
466 | filesystem objects by file handles. | |
c200b422 HS |
467 | .SH VERSIONS |
468 | .BR fanotify_mark () | |
469 | was introduced in version 2.6.36 of the Linux kernel and enabled in version | |
470 | 2.6.37. | |
471 | .SH CONFORMING TO | |
472 | This system call is Linux-specific. | |
fc37d2f1 | 473 | .SH NOTES |
fd1eb8a7 | 474 | .SS FAN_OPEN_EXEC and FAN_OPEN_EXEC_PERM |
fc37d2f1 MB |
475 | When using either |
476 | .B FAN_OPEN_EXEC | |
477 | or | |
478 | .B FAN_OPEN_EXEC_PERM | |
479 | within the | |
480 | .IR mask , | |
fd1eb8a7 | 481 | events of these types will be returned only when the direct execution of a |
fc37d2f1 | 482 | program occurs. |
fd1eb8a7 MK |
483 | More specifically, this means that events of these types will be generated |
484 | for files that are opened using | |
485 | .BR execve (2), | |
486 | .BR execveat (2), | |
fc37d2f1 | 487 | or |
fd1eb8a7 | 488 | .BR uselib (2). |
fc37d2f1 | 489 | Events of these types will not be raised in the situation where an |
9b89b9dd | 490 | interpreter is passed (or reads) a file for interpretation. |
fc37d2f1 MB |
491 | .PP |
492 | Additionally, if a mark has also been placed on the Linux dynamic | |
fd1eb8a7 MK |
493 | linker, a user should also expect to receive an event for it when |
494 | an ELF object has been successfully opened using | |
495 | .BR execve (2) | |
fc37d2f1 | 496 | or |
fd1eb8a7 | 497 | .BR execveat (2). |
fc37d2f1 MB |
498 | .PP |
499 | For example, if the following ELF binary were to be invoked and a | |
1ae6b2c7 | 500 | .B FAN_OPEN_EXEC |
fc37d2f1 MB |
501 | mark has been placed on /: |
502 | .PP | |
fd1eb8a7 | 503 | .in +4n |
fc37d2f1 | 504 | .EX |
fd1eb8a7 | 505 | $ /bin/echo foo |
fc37d2f1 | 506 | .EE |
fd1eb8a7 | 507 | .in |
fc37d2f1 | 508 | .PP |
fd1eb8a7 | 509 | The listening application in this case would receive |
1ae6b2c7 | 510 | .B FAN_OPEN_EXEC |
fd1eb8a7 | 511 | events for both the ELF binary and interpreter, respectively: |
fc37d2f1 | 512 | .PP |
fd1eb8a7 | 513 | .in +4n |
fc37d2f1 | 514 | .EX |
fd1eb8a7 | 515 | /bin/echo |
d064d41a | 516 | /lib64/ld\-linux\-x86\-64.so.2 |
fc37d2f1 | 517 | .EE |
fd1eb8a7 | 518 | .in |
c200b422 | 519 | .SH BUGS |
e5209a5a | 520 | The following bugs were present in Linux kernels before version 3.16: |
c200b422 | 521 | .IP * 3 |
e5209a5a | 522 | .\" Fixed by commit 0a8dd2db579f7a0ac7033d6b857c3d5dbaa77563 |
c200b422 HS |
523 | If |
524 | .I flags | |
525 | contains | |
526 | .BR FAN_MARK_FLUSH , | |
d556548b | 527 | .IR dirfd , |
c200b422 HS |
528 | and |
529 | .I pathname | |
4ac7d313 | 530 | must specify a valid filesystem object, even though this object is not used. |
c200b422 | 531 | .IP * |
e5209a5a | 532 | .\" Fixed by commit d4c7cf6cffb1bc711a833b5e304ba5bcfe76398b |
c200b422 | 533 | .BR readdir (2) |
97ef170a | 534 | does not generate a |
c200b422 HS |
535 | .B FAN_ACCESS |
536 | event. | |
537 | .IP * | |
e5209a5a | 538 | .\" Fixed by commit cc299a98eb13a9853675a9cbb90b30b4011e1406 |
c200b422 | 539 | If |
bf7bc8b8 | 540 | .BR fanotify_mark () |
c200b422 | 541 | is called with |
f2f50fed | 542 | .BR FAN_MARK_FLUSH , |
c200b422 HS |
543 | .I flags |
544 | is not checked for invalid values. | |
545 | .SH SEE ALSO | |
546 | .BR fanotify_init (2), | |
547 | .BR fanotify (7) |