@@ -2317,7 +2317,7 @@ static struct dentry *
proc_map_files_instantiate(struct dentry *dentry,
struct task_struct *task, const void *ptr)
{
- fmode_t mode = (fmode_t)(unsigned long)ptr;
+ fmode_t mode = (__force fmode_t)(unsigned long)ptr;
struct proc_inode *ei;
struct inode *inode;
@@ -2374,7 +2374,7 @@ static struct dentry *proc_map_files_lookup(struct inode *dir,
if (vma->vm_file)
result = proc_map_files_instantiate(dentry, task,
- (void *)(unsigned long)vma->vm_file->f_mode);
+ (void *)(__force unsigned long)vma->vm_file->f_mode);
out_no_vma:
mmap_read_unlock(mm);
@@ -2474,7 +2474,7 @@ proc_map_files_readdir(struct file *file, struct dir_context *ctx)
buf, len,
proc_map_files_instantiate,
task,
- (void *)(unsigned long)p->mode))
+ (void *)(__force unsigned long)p->mode))
break;
ctx->pos++;
}
Peform a __force cast to fix the following sparse warnings: fs/proc/base.c:2320:25: sparse: warning: cast to restricted fmode_t fs/proc/base.c:2377:42: sparse: warning: cast from restricted fmode_t fs/proc/base.c:2477:48: sparse: warning: cast from restricted fmode_t No functional changes intended. Signed-off-by: Min-Hua Chen <minhuadotchen@gmail.com> --- fs/proc/base.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)