mirror of
https://github.com/torvalds/linux.git
synced 2025-04-09 14:45:27 +00:00
assorted stuff for this merge window
-----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQQqUNBr3gm4hGXdBJlZ7Krx/gZQ6wUCZ5yJdgAKCRBZ7Krx/gZQ 69W4AQDwgxceiQ6icx3rFhCWQigne4jdMO84kd8tNaa+xHGe1AD/WnkeChc5DqjQ wZWZxAAzml9SS01IcSiHWaF5fgrjlA0= =rXOq -----END PGP SIGNATURE----- Merge tag 'pull-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull misc vfs cleanups from Al Viro: "Two unrelated patches - one is a removal of long-obsolete include in overlayfs (it used to need fs/internal.h, but the extern it wanted has been moved back to include/linux/namei.h) and another introduces convenience helper constructing struct qstr by a NUL-terminated string" * tag 'pull-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: add a string-to-qstr constructor fs/overlayfs/namei.c: get rid of include ../internal.h
This commit is contained in:
commit
a86bf2283d
@ -60,14 +60,14 @@ static struct inode *anon_inode_make_secure_inode(
|
||||
const struct inode *context_inode)
|
||||
{
|
||||
struct inode *inode;
|
||||
const struct qstr qname = QSTR_INIT(name, strlen(name));
|
||||
int error;
|
||||
|
||||
inode = alloc_anon_inode(anon_inode_mnt->mnt_sb);
|
||||
if (IS_ERR(inode))
|
||||
return inode;
|
||||
inode->i_flags &= ~S_PRIVATE;
|
||||
error = security_inode_init_security_anon(inode, &qname, context_inode);
|
||||
error = security_inode_init_security_anon(inode, &QSTR(name),
|
||||
context_inode);
|
||||
if (error) {
|
||||
iput(inode);
|
||||
return ERR_PTR(error);
|
||||
|
@ -450,7 +450,7 @@ static int reattach_inode(struct btree_trans *trans, struct bch_inode_unpacked *
|
||||
return ret;
|
||||
|
||||
struct bch_hash_info dir_hash = bch2_hash_info_init(c, &lostfound);
|
||||
struct qstr name = (struct qstr) QSTR(name_buf);
|
||||
struct qstr name = QSTR(name_buf);
|
||||
|
||||
inode->bi_dir = lostfound.bi_inum;
|
||||
|
||||
|
@ -32,7 +32,6 @@
|
||||
#include <linux/sort.h>
|
||||
#include <linux/stat.h>
|
||||
|
||||
#define QSTR(n) { { { .len = strlen(n) } }, .name = n }
|
||||
|
||||
int bch2_btree_lost_data(struct bch_fs *c, enum btree_id btree)
|
||||
{
|
||||
|
@ -670,8 +670,6 @@ static inline int cmp_le32(__le32 l, __le32 r)
|
||||
|
||||
#include <linux/uuid.h>
|
||||
|
||||
#define QSTR(n) { { { .len = strlen(n) } }, .name = n }
|
||||
|
||||
static inline bool qstr_eq(const struct qstr l, const struct qstr r)
|
||||
{
|
||||
return l.len == r.len && !memcmp(l.name, r.name, l.len);
|
||||
|
@ -407,7 +407,7 @@ int erofs_getxattr(struct inode *inode, int index, const char *name,
|
||||
}
|
||||
|
||||
it.index = index;
|
||||
it.name = (struct qstr)QSTR_INIT(name, strlen(name));
|
||||
it.name = QSTR(name);
|
||||
if (it.name.len > EROFS_NAME_LEN)
|
||||
return -ERANGE;
|
||||
|
||||
|
@ -351,9 +351,7 @@ static struct file *alloc_file(const struct path *path, int flags,
|
||||
static inline int alloc_path_pseudo(const char *name, struct inode *inode,
|
||||
struct vfsmount *mnt, struct path *path)
|
||||
{
|
||||
struct qstr this = QSTR_INIT(name, strlen(name));
|
||||
|
||||
path->dentry = d_alloc_pseudo(mnt->mnt_sb, &this);
|
||||
path->dentry = d_alloc_pseudo(mnt->mnt_sb, &QSTR(name));
|
||||
if (!path->dentry)
|
||||
return -ENOMEM;
|
||||
path->mnt = mntget(mnt);
|
||||
|
@ -927,7 +927,7 @@ repeat:
|
||||
if (!inode)
|
||||
continue;
|
||||
|
||||
name = (struct qstr)QSTR_INIT(kn->name, strlen(kn->name));
|
||||
name = QSTR(kn->name);
|
||||
parent = kernfs_get_parent(kn);
|
||||
if (parent) {
|
||||
p_inode = ilookup(info->sb, kernfs_ino(parent));
|
||||
|
@ -14,8 +14,6 @@
|
||||
#include <linux/exportfs.h>
|
||||
#include "overlayfs.h"
|
||||
|
||||
#include "../internal.h" /* for vfs_path_lookup */
|
||||
|
||||
struct ovl_lookup_data {
|
||||
struct super_block *sb;
|
||||
const struct ovl_layer *layer;
|
||||
|
@ -57,6 +57,7 @@ struct qstr {
|
||||
};
|
||||
|
||||
#define QSTR_INIT(n,l) { { { .len = l } }, .name = n }
|
||||
#define QSTR(n) (struct qstr)QSTR_INIT(n, strlen(n))
|
||||
|
||||
extern const struct qstr empty_name;
|
||||
extern const struct qstr slash_name;
|
||||
|
@ -195,14 +195,13 @@ static struct file *secretmem_file_create(unsigned long flags)
|
||||
struct file *file;
|
||||
struct inode *inode;
|
||||
const char *anon_name = "[secretmem]";
|
||||
const struct qstr qname = QSTR_INIT(anon_name, strlen(anon_name));
|
||||
int err;
|
||||
|
||||
inode = alloc_anon_inode(secretmem_mnt->mnt_sb);
|
||||
if (IS_ERR(inode))
|
||||
return ERR_CAST(inode);
|
||||
|
||||
err = security_inode_init_security_anon(inode, &qname, NULL);
|
||||
err = security_inode_init_security_anon(inode, &QSTR(anon_name), NULL);
|
||||
if (err) {
|
||||
file = ERR_PTR(err);
|
||||
goto err_free_inode;
|
||||
|
@ -630,7 +630,7 @@ static int __rpc_rmpipe(struct inode *dir, struct dentry *dentry)
|
||||
static struct dentry *__rpc_lookup_create_exclusive(struct dentry *parent,
|
||||
const char *name)
|
||||
{
|
||||
struct qstr q = QSTR_INIT(name, strlen(name));
|
||||
struct qstr q = QSTR(name);
|
||||
struct dentry *dentry = d_hash_and_lookup(parent, &q);
|
||||
if (!dentry) {
|
||||
dentry = d_alloc(parent, &q);
|
||||
@ -1190,8 +1190,7 @@ static const struct rpc_filelist files[] = {
|
||||
struct dentry *rpc_d_lookup_sb(const struct super_block *sb,
|
||||
const unsigned char *dir_name)
|
||||
{
|
||||
struct qstr dir = QSTR_INIT(dir_name, strlen(dir_name));
|
||||
return d_hash_and_lookup(sb->s_root, &dir);
|
||||
return d_hash_and_lookup(sb->s_root, &QSTR(dir_name));
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(rpc_d_lookup_sb);
|
||||
|
||||
@ -1300,11 +1299,9 @@ rpc_gssd_dummy_populate(struct dentry *root, struct rpc_pipe *pipe_data)
|
||||
struct dentry *gssd_dentry;
|
||||
struct dentry *clnt_dentry = NULL;
|
||||
struct dentry *pipe_dentry = NULL;
|
||||
struct qstr q = QSTR_INIT(files[RPCAUTH_gssd].name,
|
||||
strlen(files[RPCAUTH_gssd].name));
|
||||
|
||||
/* We should never get this far if "gssd" doesn't exist */
|
||||
gssd_dentry = d_hash_and_lookup(root, &q);
|
||||
gssd_dentry = d_hash_and_lookup(root, &QSTR(files[RPCAUTH_gssd].name));
|
||||
if (!gssd_dentry)
|
||||
return ERR_PTR(-ENOENT);
|
||||
|
||||
@ -1314,9 +1311,8 @@ rpc_gssd_dummy_populate(struct dentry *root, struct rpc_pipe *pipe_data)
|
||||
goto out;
|
||||
}
|
||||
|
||||
q.name = gssd_dummy_clnt_dir[0].name;
|
||||
q.len = strlen(gssd_dummy_clnt_dir[0].name);
|
||||
clnt_dentry = d_hash_and_lookup(gssd_dentry, &q);
|
||||
clnt_dentry = d_hash_and_lookup(gssd_dentry,
|
||||
&QSTR(gssd_dummy_clnt_dir[0].name));
|
||||
if (!clnt_dentry) {
|
||||
__rpc_depopulate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1);
|
||||
pipe_dentry = ERR_PTR(-ENOENT);
|
||||
|
Loading…
x
Reference in New Issue
Block a user