#include #include #include /* From include/linux/stat.h */ #ifndef S_IRWXUGO #define S_IRWXUGO (S_IRWXU|S_IRWXG|S_IRWXO) #endif #ifndef S_IALLUGO #define S_IALLUGO (S_ISUID|S_ISGID|S_ISVTX|S_IRWXUGO) #endif #ifndef S_IRUGO #define S_IRUGO (S_IRUSR|S_IRGRP|S_IROTH) #endif #ifndef S_IWUGO #define S_IWUGO (S_IWUSR|S_IWGRP|S_IWOTH) #endif #ifndef S_IXUGO #define S_IXUGO (S_IXUSR|S_IXGRP|S_IXOTH) #endif static size_t syscall_arg__scnprintf_mode_t(char *bf, size_t size, struct syscall_arg *arg) { int printed = 0, mode = arg->val; #define P_MODE(n) \ if ((mode & S_##n) == S_##n) { \ printed += scnprintf(bf + printed, size - printed, "%s%s", printed ? "|" : "", #n); \ mode &= ~S_##n; \ } P_MODE(IALLUGO); P_MODE(IRWXUGO); P_MODE(IRUGO); P_MODE(IWUGO); P_MODE(IXUGO); P_MODE(IFMT); P_MODE(IFSOCK); P_MODE(IFLNK); P_MODE(IFREG); P_MODE(IFBLK); P_MODE(IFDIR); P_MODE(IFCHR); P_MODE(IFIFO); P_MODE(ISUID); P_MODE(ISGID); P_MODE(ISVTX); P_MODE(IRWXU); P_MODE(IRUSR); P_MODE(IWUSR); P_MODE(IXUSR); P_MODE(IRWXG); P_MODE(IRGRP); P_MODE(IWGRP); P_MODE(IXGRP); P_MODE(IRWXO); P_MODE(IROTH); P_MODE(IWOTH); P_MODE(IXOTH); #undef P_MODE if (mode) printed += scnprintf(bf + printed, size - printed, "%s%#x", printed ? "|" : "", mode); return printed; } #define SCA_MODE_T syscall_arg__scnprintf_mode_t ket-rx-pump-back net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-01-01 12:27:05 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2017-01-01 12:27:05 -0800
commit4759d386d55fef452d692bf101167914437e848e (patch)
treee7109c192ec589fcea2a98f9702aa3c0e4009581 /sound/soc/pxa/magician.c
parent238d1d0f79f619d75c2cc741d6770fb0986aef24 (diff)
parent1db175428ee374489448361213e9c3b749d14900 (diff)
Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
Pull DAX updates from Dan Williams: "The completion of Jan's DAX work for 4.10. As I mentioned in the libnvdimm-for-4.10 pull request, these are some final fixes for the DAX dirty-cacheline-tracking invalidation work that was merged through the -mm, ext4, and xfs trees in -rc1. These patches were prepared prior to the merge window, but we waited for 4.10-rc1 to have a stable merge base after all the prerequisites were merged. Quoting Jan on the overall changes in these patches: "So I'd like all these 6 patches to go for rc2. The first three patches fix invalidation of exceptional DAX entries (a bug which is there for a long time) - without these patches data loss can occur on power failure even though user called fsync(2). The other three patches change locking of DAX faults so that ->iomap_begin() is called in a more relaxed locking context and we are safe to start a transaction there for ext4" These have received a build success notification from the kbuild robot, and pass the latest libnvdimm unit tests. There have not been any -next releases since -rc1, so they have not appeared there" * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: ext4: Simplify DAX fault path dax: Call ->iomap_begin without entry lock during dax fault dax: Finish fault completely when loading holes dax: Avoid page invalidation races and unnecessary radix tree traversals mm: Invalidate DAX radix tree entries only if appropriate ext2: Return BH_New buffers for zeroed blocks
Diffstat (limited to 'sound/soc/pxa/magician.c')