mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull vfs pile (part one) from Al Viro: "Assorted stuff - cleaning namei.c up a bit, fixing ->d_name/->d_parent locking violations, etc. The most visible changes here are death of FS_REVAL_DOT (replaced with "has ->d_weak_revalidate()") and a new helper getting from struct file to inode. Some bits of preparation to xattr method interface changes. Misc patches by various people sent this cycle *and* ocfs2 fixes from several cycles ago that should've been upstream right then. PS: the next vfs pile will be xattr stuff." * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (46 commits) saner proc_get_inode() calling conventions proc: avoid extra pde_put() in proc_fill_super() fs: change return values from -EACCES to -EPERM fs/exec.c: make bprm_mm_init() static ocfs2/dlm: use GFP_ATOMIC inside a spin_lock ocfs2: fix possible use-after-free with AIO ocfs2: Fix oops in ocfs2_fast_symlink_readpage() code path get_empty_filp()/alloc_file() leave both ->f_pos and ->f_version zero target: writev() on single-element vector is pointless export kernel_write(), convert open-coded instances fs: encode_fh: return FILEID_INVALID if invalid fid_type kill f_vfsmnt vfs: kill FS_REVAL_DOT by adding a d_weak_revalidate dentry op nfsd: handle vfs_getattr errors in acl protocol switch vfs_getattr() to struct path default SET_PERSONALITY() in linux/elf.h ceph: prepopulate inodes only when request is aborted d_hash_and_lookup(): export, switch open-coded instances 9p: switch v9fs_set_create_acl() to inode+fid, do it before d_instantiate() 9p: split dropping the acls from v9fs_set_create_acl() ...
This commit is contained in:
commit
d895cb1af1
383 changed files with 1276 additions and 1423 deletions
|
|
@ -665,7 +665,7 @@ static loff_t usb_device_lseek(struct file *file, loff_t offset, int orig)
|
|||
{
|
||||
loff_t ret;
|
||||
|
||||
mutex_lock(&file->f_dentry->d_inode->i_mutex);
|
||||
mutex_lock(&file_inode(file)->i_mutex);
|
||||
|
||||
switch (orig) {
|
||||
case 0:
|
||||
|
|
@ -681,7 +681,7 @@ static loff_t usb_device_lseek(struct file *file, loff_t offset, int orig)
|
|||
ret = -EINVAL;
|
||||
}
|
||||
|
||||
mutex_unlock(&file->f_dentry->d_inode->i_mutex);
|
||||
mutex_unlock(&file_inode(file)->i_mutex);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -161,7 +161,7 @@ static loff_t usbdev_lseek(struct file *file, loff_t offset, int orig)
|
|||
{
|
||||
loff_t ret;
|
||||
|
||||
mutex_lock(&file->f_dentry->d_inode->i_mutex);
|
||||
mutex_lock(&file_inode(file)->i_mutex);
|
||||
|
||||
switch (orig) {
|
||||
case 0:
|
||||
|
|
@ -177,7 +177,7 @@ static loff_t usbdev_lseek(struct file *file, loff_t offset, int orig)
|
|||
ret = -EINVAL;
|
||||
}
|
||||
|
||||
mutex_unlock(&file->f_dentry->d_inode->i_mutex);
|
||||
mutex_unlock(&file_inode(file)->i_mutex);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
@ -1971,7 +1971,7 @@ static long usbdev_do_ioctl(struct file *file, unsigned int cmd,
|
|||
void __user *p)
|
||||
{
|
||||
struct dev_state *ps = file->private_data;
|
||||
struct inode *inode = file->f_path.dentry->d_inode;
|
||||
struct inode *inode = file_inode(file);
|
||||
struct usb_device *dev = ps->dev;
|
||||
int ret = -ENOTTY;
|
||||
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ static ssize_t queue_dbg_read(struct file *file, char __user *buf,
|
|||
if (!access_ok(VERIFY_WRITE, buf, nbytes))
|
||||
return -EFAULT;
|
||||
|
||||
mutex_lock(&file->f_dentry->d_inode->i_mutex);
|
||||
mutex_lock(&file_inode(file)->i_mutex);
|
||||
list_for_each_entry_safe(req, tmp_req, queue, queue) {
|
||||
len = snprintf(tmpbuf, sizeof(tmpbuf),
|
||||
"%8p %08x %c%c%c %5d %c%c%c\n",
|
||||
|
|
@ -120,7 +120,7 @@ static ssize_t queue_dbg_read(struct file *file, char __user *buf,
|
|||
nbytes -= len;
|
||||
buf += len;
|
||||
}
|
||||
mutex_unlock(&file->f_dentry->d_inode->i_mutex);
|
||||
mutex_unlock(&file_inode(file)->i_mutex);
|
||||
|
||||
return actual;
|
||||
}
|
||||
|
|
@ -168,13 +168,13 @@ out:
|
|||
static ssize_t regs_dbg_read(struct file *file, char __user *buf,
|
||||
size_t nbytes, loff_t *ppos)
|
||||
{
|
||||
struct inode *inode = file->f_dentry->d_inode;
|
||||
struct inode *inode = file_inode(file);
|
||||
int ret;
|
||||
|
||||
mutex_lock(&inode->i_mutex);
|
||||
ret = simple_read_from_buffer(buf, nbytes, ppos,
|
||||
file->private_data,
|
||||
file->f_dentry->d_inode->i_size);
|
||||
file_inode(file)->i_size);
|
||||
mutex_unlock(&inode->i_mutex);
|
||||
|
||||
return ret;
|
||||
|
|
|
|||
|
|
@ -978,7 +978,7 @@ static int do_synchronize_cache(struct fsg_common *common)
|
|||
static void invalidate_sub(struct fsg_lun *curlun)
|
||||
{
|
||||
struct file *filp = curlun->filp;
|
||||
struct inode *inode = filp->f_path.dentry->d_inode;
|
||||
struct inode *inode = file_inode(filp);
|
||||
unsigned long rc;
|
||||
|
||||
rc = invalidate_mapping_pages(inode->i_mapping, 0, -1);
|
||||
|
|
|
|||
|
|
@ -688,7 +688,7 @@ static int
|
|||
printer_fsync(struct file *fd, loff_t start, loff_t end, int datasync)
|
||||
{
|
||||
struct printer_dev *dev = fd->private_data;
|
||||
struct inode *inode = fd->f_path.dentry->d_inode;
|
||||
struct inode *inode = file_inode(fd);
|
||||
unsigned long flags;
|
||||
int tx_list_empty;
|
||||
|
||||
|
|
|
|||
|
|
@ -1065,7 +1065,7 @@ static int rndis_proc_show(struct seq_file *m, void *v)
|
|||
static ssize_t rndis_proc_write(struct file *file, const char __user *buffer,
|
||||
size_t count, loff_t *ppos)
|
||||
{
|
||||
rndis_params *p = PDE(file->f_path.dentry->d_inode)->data;
|
||||
rndis_params *p = PDE(file_inode(file))->data;
|
||||
u32 speed = 0;
|
||||
int i, fl_speed = 0;
|
||||
|
||||
|
|
|
|||
|
|
@ -440,7 +440,7 @@ static int fsg_lun_open(struct fsg_lun *curlun, const char *filename)
|
|||
if (!(filp->f_mode & FMODE_WRITE))
|
||||
ro = 1;
|
||||
|
||||
inode = filp->f_path.dentry->d_inode;
|
||||
inode = file_inode(filp);
|
||||
if ((!S_ISREG(inode->i_mode) && !S_ISBLK(inode->i_mode))) {
|
||||
LINFO(curlun, "invalid file type: %s\n", filename);
|
||||
goto out;
|
||||
|
|
|
|||
Loading…
Reference in a new issue