Merge tag 'v3.10.64' into update
authorStricted <info@stricted.net>
Wed, 21 Mar 2018 21:33:51 +0000 (22:33 +0100)
committerStricted <info@stricted.net>
Wed, 21 Mar 2018 21:33:51 +0000 (22:33 +0100)
This is the 3.10.64 stable release

1  2 
Makefile
drivers/mmc/card/block.c
fs/btrfs/disk-io.c
fs/ecryptfs/main.c
fs/namespace.c
fs/nfs/nfs4proc.c
fs/proc/base.c
kernel/pid.c

diff --cc Makefile
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc fs/namespace.c
index 44d4218a4a6affaa061b2b3da067ad13e82ee1af,d0244c8ba09c8e8d53aba8dab6bcb367f2829b07..a2c0b962e5d282993faf3a849278581df46a27e0
@@@ -1474,34 -1342,11 +1474,37 @@@ SYSCALL_DEFINE2(umount, char __user *, 
                goto dput_and_out;
        if (!check_mnt(mnt))
                goto dput_and_out;
+       retval = -EPERM;
+       if (flags & MNT_FORCE && !capable(CAP_SYS_ADMIN))
+               goto dput_and_out;
  
        retval = do_umount(mnt, flags);
 +#ifdef UMOUNT_LOG
 +      {
 +              printk("Ahsin do_umount retval=%d \n",retval);
 +              //do_umount success: 0, do_umount busy: -16
 +              //if do_umount fail, need to dump the link list here
 +      
 +              if(retval)
 +                      printk("Ahsin do_umount fail;  mnt_get_count=%d   mnt->mnt_devname=%s\n",mnt_get_count(mnt),mnt->mnt_devname);          
 +              else
 +                      printk("Ahsin do_umount success;  mnt_get_count=%d   mnt->mnt_devname=%s\n",mnt_get_count(mnt),mnt->mnt_devname);               
 +              
 +              // print linked list
 +              spin_lock(&mnt_id_lock);
 +              ref_current = ref_head;
 +              while(ref_current != NULL) 
 +              {
 +                      total_value = total_value + ref_current->count;
 +                      
 +                      if (ref_current->count)
 +                              printk("Ahsin PID= %d, Name = %s, Count= %d \n", ref_current->pid, ref_current->name, ref_current->count);
 +                      ref_current = ref_current->next;
 +              }
 +              spin_unlock(&mnt_id_lock);
 +              printk("Ahsin total_value=%d \n",total_value);
 +      }
 +#endif
  dput_and_out:
        /* we mustn't call path_put() as that would clear mnt_expiry_mark */
        dput(path.dentry);
Simple merge
diff --cc fs/proc/base.c
Simple merge
diff --cc kernel/pid.c
Simple merge