* your option) any later version.
*/
+#include <linux/cred.h>
#include <linux/fs.h>
#include <linux/hashtable.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/random.h>
#include <linux/sched.h>
+#include <linux/security.h>
#include <linux/sizes.h>
#include <linux/slab.h>
#include <linux/uaccess.h>
* your option) any later version.
*/
+#include <linux/cred.h>
#include <linux/fs.h>
#include <linux/idr.h>
#include <linux/init.h>
#include <linux/fs.h>
#include <linux/idr.h>
#include <linux/kref.h>
+#include <linux/security.h>
#include <linux/user_namespace.h>
#include "node.h"
* your option) any later version.
*/
+#include <linux/cred.h>
#include <linux/fs.h>
#include <linux/idr.h>
#include <linux/init.h>
* your option) any later version.
*/
+#include <linux/cred.h>
#include <linux/dcache.h>
#include <linux/fs.h>
#include <linux/fsnotify.h>
loff_t ret;
/* protect f_off against fop_iterate */
- mutex_lock(&inode->i_mutex);
+ inode_lock(inode);
ret = generic_file_llseek(file, offset, whence);
- mutex_unlock(&inode->i_mutex);
+ inode_unlock(inode);
return ret;
}
inode->i_private = kdbus_node_ref(node);
inode->i_mapping->a_ops = &empty_aops;
inode->i_mode = node->mode & S_IALLUGO;
- inode->i_atime = inode->i_ctime = inode->i_mtime = CURRENT_TIME;
+ inode->i_atime = inode->i_ctime = inode->i_mtime = current_time(inode);
inode->i_uid = node->uid;
inode->i_gid = node->gid;
struct inode *inode;
int ret;
- sb->s_blocksize = PAGE_CACHE_SIZE;
- sb->s_blocksize_bits = PAGE_CACHE_SHIFT;
+ sb->s_blocksize = PAGE_SIZE;
+ sb->s_blocksize_bits = PAGE_SHIFT;
sb->s_magic = KDBUS_SUPER_MAGIC;
sb->s_maxbytes = MAX_LFS_FILESIZE;
sb->s_op = &fs_super_sops;
#include <linux/kref.h>
#include <linux/mutex.h>
#include <linux/sched.h>
+#include <linux/sched/mm.h>
#include <linux/security.h>
#include <linux/sizes.h>
#include <linux/slab.h>
}
for (i = 0; i < info->ngroups; i++)
- mp->auxgrps[i] = GROUP_AT(info, i);
+ mp->auxgrps[i] = info->gid[i];
}
mp->n_auxgrps = info->ngroups;
void *page;
char *s;
- page = (void *)__get_free_page(GFP_TEMPORARY);
+ page = (void *)__get_free_page(GFP_KERNEL);
if (!page)
return -ENOMEM;
size += KDBUS_ITEM_SIZE(strlen(mp->pid_comm) + 1);
if (mp && (*mask & KDBUS_ATTACH_EXE)) {
- exe_page = (void *)__get_free_page(GFP_TEMPORARY);
+ exe_page = (void *)__get_free_page(GFP_KERNEL);
if (!exe_page) {
ret = -ENOMEM;
goto exit;
get_fs_root(current->fs, &p);
if (path_equal(&p, &mp->root_path)) {
- exe_page = (void *)__get_free_page(GFP_TEMPORARY);
+ exe_page = (void *)__get_free_page(GFP_KERNEL);
if (!exe_page) {
path_put(&p);
ret = -ENOMEM;
*/
#include <linux/ctype.h>
+#include <linux/cred.h>
#include <linux/fs.h>
#include <linux/hash.h>
#include <linux/idr.h>
* your option) any later version.
*/
+#include <linux/cred.h>
#include <linux/dcache.h>
#include <linux/fs.h>
#include <linux/init.h>
static unsigned int kdbus_strnhash(const char *str, size_t len)
{
- unsigned long hash = init_name_hash();
+ unsigned long hash = init_name_hash(str);
while (len--)
hash = partial_name_hash(*str++, hash);
}
for (i = 0; i < cred->group_info->ngroups; i++) {
- kgid_t gid = GROUP_AT(cred->group_info, i);
+ kgid_t gid = cred->group_info->gid[i];
if (gid_eq(gid, a->gid)) {
highest = a->access;
off += slice->off;
iov_iter_init(&iter, WRITE, iov, iov_len, total_len);
- len = vfs_iter_write(slice->pool->f, &iter, &off);
+ len = vfs_iter_write(slice->pool->f, &iter, &off, 0);
return (len >= 0 && len != total_len) ? -EFAULT : len;
}
old_fs = get_fs();
set_fs(get_ds());
- len = vfs_iter_write(slice->pool->f, &iter, &off);
+ len = vfs_iter_write(slice->pool->f, &iter, &off, 0);
set_fs(old_fs);
return (len >= 0 && len != total_len) ? -EFAULT : len;
WARN_ON(slice_src->free || slice_dst->free))
return -EINVAL;
- mutex_lock(&i_dst->i_mutex);
+ inode_lock(i_dst);
old_fs = get_fs();
set_fs(get_ds());
while (len > 0) {
void *fsdata;
long status;
- page_off = off_dst & (PAGE_CACHE_SIZE - 1);
+ page_off = off_dst & (PAGE_SIZE - 1);
copy_len = min_t(unsigned long,
- PAGE_CACHE_SIZE - page_off, len);
+ PAGE_SIZE - page_off, len);
status = aops->write_begin(f_dst, mapping_dst, off_dst,
copy_len, 0, &page, &fsdata);
len -= copy_len;
}
set_fs(old_fs);
- mutex_unlock(&i_dst->i_mutex);
+ inode_unlock(i_dst);
return ret;
}
*/
static inline unsigned int kdbus_strhash(const char *str)
{
- unsigned long hash = init_name_hash();
+ unsigned long hash = init_name_hash(str);
while (*str)
hash = partial_name_hash(*str++, hash);