Thanks!

For other users that managed to create such files: fsck will clean them up.

Best,
Conrad

On Sun, Oct 22, 2017 at 1:11 AM, Konstantin Belousov <k...@freebsd.org> wrote:
> Author: kib
> Date: Sun Oct 22 08:11:45 2017
> New Revision: 324853
> URL: https://svnweb.freebsd.org/changeset/base/324853
>
> Log:
>   Remove the support for mknod(S_IFMT), which created dummy vnodes with
>   VBAD type.
>
>   FFS ffs_write() VOP catches such vnodes and panics, other VOPs do not
>   check for the type and their behaviour is really undefined.  The
>   comment claims that this support was done for 'badsect' to flag bad
>   sectors, we do not have such facility in kernel anyway.
>
>   Reported by:  Dmitry Vyukov <dvyu...@google.com>
>   Sponsored by: The FreeBSD Foundation
>   MFC after:    1 week
>
> Modified:
>   head/sys/kern/vfs_syscalls.c
>   head/sys/sys/priv.h
>
> Modified: head/sys/kern/vfs_syscalls.c
> ==============================================================================
> --- head/sys/kern/vfs_syscalls.c        Sun Oct 22 07:58:28 2017        
> (r324852)
> +++ head/sys/kern/vfs_syscalls.c        Sun Oct 22 08:11:45 2017        
> (r324853)
> @@ -1248,9 +1248,6 @@ kern_mknodat(struct thread *td, int fd, char *path, en
>                 if (error == 0 && dev == VNOVAL)
>                         error = EINVAL;
>                 break;
> -       case S_IFMT:
> -               error = priv_check(td, PRIV_VFS_MKNOD_BAD);
> -               break;
>         case S_IFWHT:
>                 error = priv_check(td, PRIV_VFS_MKNOD_WHT);
>                 break;
> @@ -1288,9 +1285,6 @@ restart:
>                 whiteout = 0;
>
>                 switch (mode & S_IFMT) {
> -               case S_IFMT:    /* used by badsect to flag bad sectors */
> -                       vattr.va_type = VBAD;
> -                       break;
>                 case S_IFCHR:
>                         vattr.va_type = VCHR;
>                         break;
>
> Modified: head/sys/sys/priv.h
> ==============================================================================
> --- head/sys/sys/priv.h Sun Oct 22 07:58:28 2017        (r324852)
> +++ head/sys/sys/priv.h Sun Oct 22 08:11:45 2017        (r324853)
> @@ -266,7 +266,7 @@
>  #define        PRIV_VFS_GETFH          327     /* Can retrieve file handles. 
> */
>  #define        PRIV_VFS_GETQUOTA       328     /* getquota(). */
>  #define        PRIV_VFS_LINK           329     /* bsd.hardlink_check_uid */
> -#define        PRIV_VFS_MKNOD_BAD      330     /* Can mknod() to mark bad 
> inodes. */
> +#define        PRIV_VFS_MKNOD_BAD      330     /* Was: mknod() can mark bad 
> inodes. */
>  #define        PRIV_VFS_MKNOD_DEV      331     /* Can mknod() to create dev 
> nodes. */
>  #define        PRIV_VFS_MKNOD_WHT      332     /* Can mknod() to create 
> whiteout. */
>  #define        PRIV_VFS_MOUNT          333     /* Can mount(). */
>
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to