Module Name: src Committed By: chs Date: Mon Jun 28 17:52:13 UTC 2021
Modified Files: src/sys/fs/ptyfs: ptyfs_vnops.c src/sys/miscfs/fdesc: fdesc_vnops.c src/sys/miscfs/kernfs: kernfs_vnops.c src/sys/miscfs/procfs: procfs_vnops.c Log Message: VOP_BMAP() may be called via ioctl(FIOGETBMAP) on any vnode that applications can open. change various pseudo-fs *_bmap methods return an error instead of panic. Reported-by: syzbot+8289a3eaf2ba60958...@syzkaller.appspotmail.com To generate a diff of this commit: cvs rdiff -u -r1.62 -r1.63 src/sys/fs/ptyfs/ptyfs_vnops.c cvs rdiff -u -r1.135 -r1.136 src/sys/miscfs/fdesc/fdesc_vnops.c cvs rdiff -u -r1.166 -r1.167 src/sys/miscfs/kernfs/kernfs_vnops.c cvs rdiff -u -r1.215 -r1.216 src/sys/miscfs/procfs/procfs_vnops.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/fs/ptyfs/ptyfs_vnops.c diff -u src/sys/fs/ptyfs/ptyfs_vnops.c:1.62 src/sys/fs/ptyfs/ptyfs_vnops.c:1.63 --- src/sys/fs/ptyfs/ptyfs_vnops.c:1.62 Fri Nov 27 14:43:57 2020 +++ src/sys/fs/ptyfs/ptyfs_vnops.c Mon Jun 28 17:52:12 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: ptyfs_vnops.c,v 1.62 2020/11/27 14:43:57 christos Exp $ */ +/* $NetBSD: ptyfs_vnops.c,v 1.63 2021/06/28 17:52:12 chs Exp $ */ /* * Copyright (c) 1993, 1995 @@ -76,7 +76,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ptyfs_vnops.c,v 1.62 2020/11/27 14:43:57 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ptyfs_vnops.c,v 1.63 2021/06/28 17:52:12 chs Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -144,7 +144,7 @@ int ptyfs_reclaim (void *); int ptyfs_inactive (void *); #define ptyfs_lock genfs_lock #define ptyfs_unlock genfs_unlock -#define ptyfs_bmap genfs_badop +#define ptyfs_bmap genfs_eopnotsupp #define ptyfs_strategy genfs_badop int ptyfs_print (void *); int ptyfs_pathconf (void *); Index: src/sys/miscfs/fdesc/fdesc_vnops.c diff -u src/sys/miscfs/fdesc/fdesc_vnops.c:1.135 src/sys/miscfs/fdesc/fdesc_vnops.c:1.136 --- src/sys/miscfs/fdesc/fdesc_vnops.c:1.135 Sat May 1 15:08:14 2021 +++ src/sys/miscfs/fdesc/fdesc_vnops.c Mon Jun 28 17:52:13 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: fdesc_vnops.c,v 1.135 2021/05/01 15:08:14 hannken Exp $ */ +/* $NetBSD: fdesc_vnops.c,v 1.136 2021/06/28 17:52:13 chs Exp $ */ /* * Copyright (c) 1992, 1993 @@ -41,7 +41,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: fdesc_vnops.c,v 1.135 2021/05/01 15:08:14 hannken Exp $"); +__KERNEL_RCSID(0, "$NetBSD: fdesc_vnops.c,v 1.136 2021/06/28 17:52:13 chs Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -104,7 +104,7 @@ int fdesc_inactive(void *); int fdesc_reclaim(void *); #define fdesc_lock genfs_lock #define fdesc_unlock genfs_unlock -#define fdesc_bmap genfs_badop +#define fdesc_bmap genfs_eopnotsupp #define fdesc_strategy genfs_badop int fdesc_print(void *); int fdesc_pathconf(void *); Index: src/sys/miscfs/kernfs/kernfs_vnops.c diff -u src/sys/miscfs/kernfs/kernfs_vnops.c:1.166 src/sys/miscfs/kernfs/kernfs_vnops.c:1.167 --- src/sys/miscfs/kernfs/kernfs_vnops.c:1.166 Sat Jun 27 17:29:19 2020 +++ src/sys/miscfs/kernfs/kernfs_vnops.c Mon Jun 28 17:52:13 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: kernfs_vnops.c,v 1.166 2020/06/27 17:29:19 christos Exp $ */ +/* $NetBSD: kernfs_vnops.c,v 1.167 2021/06/28 17:52:13 chs Exp $ */ /* * Copyright (c) 1992, 1993 @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: kernfs_vnops.c,v 1.166 2020/06/27 17:29:19 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: kernfs_vnops.c,v 1.167 2021/06/28 17:52:13 chs Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -166,7 +166,7 @@ int kernfs_reclaim(void *); #define kernfs_lock genfs_lock #define kernfs_unlock genfs_unlock #define kernfs_bmap genfs_badop -#define kernfs_strategy genfs_badop +#define kernfs_strategy genfs_eopnotsupp int kernfs_print(void *); #define kernfs_islocked genfs_islocked int kernfs_pathconf(void *); Index: src/sys/miscfs/procfs/procfs_vnops.c diff -u src/sys/miscfs/procfs/procfs_vnops.c:1.215 src/sys/miscfs/procfs/procfs_vnops.c:1.216 --- src/sys/miscfs/procfs/procfs_vnops.c:1.215 Sat Jun 27 17:29:19 2020 +++ src/sys/miscfs/procfs/procfs_vnops.c Mon Jun 28 17:52:13 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: procfs_vnops.c,v 1.215 2020/06/27 17:29:19 christos Exp $ */ +/* $NetBSD: procfs_vnops.c,v 1.216 2021/06/28 17:52:13 chs Exp $ */ /*- * Copyright (c) 2006, 2007, 2008, 2020 The NetBSD Foundation, Inc. @@ -105,7 +105,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: procfs_vnops.c,v 1.215 2020/06/27 17:29:19 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: procfs_vnops.c,v 1.216 2021/06/28 17:52:13 chs Exp $"); #include <sys/param.h> #include <sys/atomic.h> @@ -237,7 +237,7 @@ int procfs_inactive(void *); int procfs_reclaim(void *); #define procfs_lock genfs_lock #define procfs_unlock genfs_unlock -#define procfs_bmap genfs_badop +#define procfs_bmap genfs_eopnotsupp #define procfs_strategy genfs_badop int procfs_print(void *); int procfs_pathconf(void *);