The NetBSD Project

CVS log for src/sys/kern/kern_module_vfs.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / kern

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.17.16.1 / (download) - annotate - [select for diffs], Sun Aug 1 22:42:38 2021 UTC (2 years, 8 months ago) by thorpej
Branch: thorpej-i2c-spi-conf
Changes since 1.17: +9 -10 lines
Diff to previous 1.17 (colored) next main 1.18 (colored)

Sync with HEAD.

Revision 1.18 / (download) - annotate - [select for diffs], Tue Jun 29 22:40:53 2021 UTC (2 years, 9 months ago) by dholland
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-futex2-base, thorpej-futex2, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.17: +9 -10 lines
Diff to previous 1.17 (colored)

Add containment for the cloning devices hack in vn_open.

Cloning devices (and also things like /dev/stderr) work by allocating
a struct file, stuffing it in the file table (which is a layer
violation), stuffing the file descriptor number for it in a magic
field of struct lwp (which is gross), and then "failing" with one of
two magic errnos, EDUPFD or EMOVEFD.

Before this commit, all callers of vn_open in the kernel (there are
quite a few) were expected to check for these errors and handle the
situation. Needless to say, none of them except for open() itself did,
resulting in internal negative errnos being returned to userspace.

This hack is fairly deeply rooted and cannot be eliminated all at
once. This commit adds logic to handle the magic errnos inside
vn_open; now on success vn_open returns either a vnode or an integer
file descriptor, along with a flag that says whether the underlying
code requested EDUPFD or EMOVEFD. Callers not prepared to cope with
file descriptors can pass NULL for the extra return values, in which
case if a file descriptor would be produced vn_open fails with
EOPNOTSUPP.

Since I'm rearranging vn_open's signature anyway, stop exposing struct
nameidata. Instead, take three arguments: an optional vnode to use as
the starting point (like openat()), the path, and additional namei
flags to use, restricted to NOCHROOT and TRYEMULROOT. (Other namei
behavior, e.g. NOFOLLOW, can be requested via the open flags.)

This change requires a kernel bump. Ride the one an hour ago.
(That was supposed to be coordinated; did not intend to let an hour
slip by. My fault.)

Revision 1.16.10.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:09:03 2019 UTC (4 years, 10 months ago) by christos
Branch: phil-wifi
Changes since 1.16: +4 -4 lines
Diff to previous 1.16 (colored) next main 1.17 (colored)

Sync with HEAD

Revision 1.17 / (download) - annotate - [select for diffs], Sun Jan 27 02:08:43 2019 UTC (5 years, 2 months ago) by pgoyette
Branch: MAIN
CVS Tags: thorpej-futex-base, thorpej-futex, thorpej-cfargs-base, thorpej-cfargs, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2, is-mlppp-base, is-mlppp, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Branch point for: thorpej-i2c-spi-conf
Changes since 1.16: +4 -4 lines
Diff to previous 1.16 (colored)

Merge the [pgoyette-compat] branch

Revision 1.16.8.1 / (download) - annotate - [select for diffs], Sun Jul 8 07:33:14 2018 UTC (5 years, 9 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.16: +4 -4 lines
Diff to previous 1.16 (colored) next main 1.17 (colored)

Use SET, CLR, ISSET macros from types.h

NFCI

Revision 1.12.12.1 / (download) - annotate - [select for diffs], Sun Dec 3 11:38:44 2017 UTC (6 years, 4 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.12: +7 -8 lines
Diff to previous 1.12 (colored) next main 1.13 (colored)

update from HEAD

Revision 1.12.30.4 / (download) - annotate - [select for diffs], Mon Aug 28 17:53:07 2017 UTC (6 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.30.3: +2 -7 lines
Diff to previous 1.12.30.3 (colored) to branchpoint 1.12 (colored) next main 1.13 (colored)

Sync with HEAD

Revision 1.16 / (download) - annotate - [select for diffs], Thu Jun 1 02:45:13 2017 UTC (6 years, 10 months ago) by chs
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, phil-wifi-base, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek
Branch point for: phil-wifi, pgoyette-compat
Changes since 1.15: +2 -7 lines
Diff to previous 1.15 (colored)

remove checks for failure after memory allocation calls that cannot fail:

  kmem_alloc() with KM_SLEEP
  kmem_zalloc() with KM_SLEEP
  percpu_alloc()
  pserialize_create()
  psref_class_create()

all of these paths include an assertion that the allocation has not failed,
so callers should not assert that again.

Revision 1.14.2.1 / (download) - annotate - [select for diffs], Mon Mar 20 06:57:47 2017 UTC (7 years, 1 month ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.14: +3 -3 lines
Diff to previous 1.14 (colored) next main 1.15 (colored)

Sync with HEAD

Revision 1.12.30.3 / (download) - annotate - [select for diffs], Sun Feb 5 13:40:56 2017 UTC (7 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.12.30.2: +5 -5 lines
Diff to previous 1.12.30.2 (colored) to branchpoint 1.12 (colored)

Sync with HEAD

Revision 1.15 / (download) - annotate - [select for diffs], Sun Jan 15 01:47:24 2017 UTC (7 years, 3 months ago) by maya
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, pgoyette-localcount-20170320, nick-nhusb-base-20170204, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Changes since 1.14: +3 -3 lines
Diff to previous 1.14 (colored)

use a bound string copy

Revision 1.12.30.2 / (download) - annotate - [select for diffs], Sat Mar 19 11:30:31 2016 UTC (8 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.12.30.1: +5 -2 lines
Diff to previous 1.12.30.1 (colored) to branchpoint 1.12 (colored)

Sync with HEAD

Revision 1.14 / (download) - annotate - [select for diffs], Tue Mar 15 02:59:24 2016 UTC (8 years, 1 month ago) by pgoyette
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, localcount-20160914
Branch point for: pgoyette-localcount
Changes since 1.13: +5 -2 lines
Diff to previous 1.13 (colored)

Add debug messages to report all attempts to load modules (and their
plists) from the filesystem.  Note that messages are displayed prior
to the actual load activity.  Previous messages are still displayed
for success/failure reporting.

This is an interim solution to the issue in kern/15837 and should be
replaced (or enhanced) once there is an off-system logging capability.

Revision 1.12.30.1 / (download) - annotate - [select for diffs], Mon Apr 6 15:18:20 2015 UTC (9 years ago) by skrll
Branch: nick-nhusb
Changes since 1.12: +3 -2 lines
Diff to previous 1.12 (colored)

Sync with HEAD

Revision 1.13 / (download) - annotate - [select for diffs], Tue Dec 2 13:00:38 2014 UTC (9 years, 4 months ago) by pooka
Branch: MAIN
CVS Tags: nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406
Changes since 1.12: +3 -2 lines
Diff to previous 1.12 (colored)

print kernel module path only in kernels which support paths

Revision 1.12 / (download) - annotate - [select for diffs], Wed Sep 14 12:30:20 2011 UTC (12 years, 7 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-tag8, yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, yamt-pagecache, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, rmind-smpnet, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, nick-nhusb-base, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, khorben-n900, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10, jmcneill-usbmp-base, jmcneill-usbmp, jmcneill-audiomp3-base, jmcneill-audiomp3, agc-symver-base, agc-symver
Branch point for: tls-maxphys, nick-nhusb
Changes since 1.11: +6 -10 lines
Diff to previous 1.11 (colored)

- don't if then else the same thing. print a more meaningful message
- don't leak a dictionary on failure
- minor KNF

Revision 1.11 / (download) - annotate - [select for diffs], Sat Aug 6 08:11:09 2011 UTC (12 years, 8 months ago) by mbalmer
Branch: MAIN
Changes since 1.10: +15 -9 lines
Diff to previous 1.10 (colored)

Do not not look for modules in the current working directory first.  This is
to prevent from accidentally loading ./module.kmod when we actually wanted to
load module from the system module area.

To load a module from a filesystem path, the module name must contain at
least on path separator character (/), to load a module from the system
module areas, the name must not contain a path separator character:

modload ./mymod.kmod      # loads mymod.kmod from the curren directory
modload mymod             # loads mymod.kmod from the system module area

Revision 1.3.4.3 / (download) - annotate - [select for diffs], Sat Mar 5 20:55:15 2011 UTC (13 years, 1 month ago) by rmind
Branch: rmind-uvmplock
Changes since 1.3.4.2: +44 -17 lines
Diff to previous 1.3.4.2 (colored) to branchpoint 1.3 (colored) next main 1.4 (colored)

sync with head

Revision 1.10 / (download) - annotate - [select for diffs], Sun Nov 28 00:26:38 2010 UTC (13 years, 4 months ago) by jnemeth
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, matt-mips64-premerge-20101231, jruoho-x86intr-base, jruoho-x86intr, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Changes since 1.9: +7 -7 lines
Diff to previous 1.9 (colored)

Rename the autoloaded property list from <module>.prop to <module>.plist
as discussed on tech-kern.

Revision 1.9 / (download) - annotate - [select for diffs], Fri Nov 19 06:44:43 2010 UTC (13 years, 5 months ago) by dholland
Branch: MAIN
Changes since 1.8: +20 -10 lines
Diff to previous 1.8 (colored)

Introduce struct pathbuf. This is an abstraction to hold a pathname
and the metadata required to interpret it. Callers of namei must now
create a pathbuf and pass it to NDINIT (instead of a string and a
uio_seg), then destroy the pathbuf after the namei session is
complete.

Update all namei call sites accordingly. Add a pathbuf(9) man page and
update namei(9).

The pathbuf interface also now appears in a couple of related
additional places that were passing string/uio_seg pairs that were
later fed into NDINIT. Update other call sites accordingly.

Revision 1.8 / (download) - annotate - [select for diffs], Thu Nov 18 09:50:47 2010 UTC (13 years, 5 months ago) by jnemeth
Branch: MAIN
Changes since 1.7: +21 -4 lines
Diff to previous 1.7 (colored)

if autoloading check for a noautoload=true property and if found,
deny the autoload

Revision 1.2.2.2 / (download) - annotate - [select for diffs], Tue Aug 17 06:47:28 2010 UTC (13 years, 8 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.2.2.1: +7 -1 lines
Diff to previous 1.2.2.1 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)

Sync with HEAD.

Revision 1.3.2.3 / (download) - annotate - [select for diffs], Wed Aug 11 22:54:39 2010 UTC (13 years, 8 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.3.2.2: +14 -13 lines
Diff to previous 1.3.2.2 (colored) to branchpoint 1.3 (colored) next main 1.4 (colored)

sync with head.

Revision 1.3.4.2 / (download) - annotate - [select for diffs], Sat Jul 3 01:19:53 2010 UTC (13 years, 9 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.3.4.1: +3 -3 lines
Diff to previous 1.3.4.1 (colored) to branchpoint 1.3 (colored)

sync with head

Revision 1.7 / (download) - annotate - [select for diffs], Thu Jun 24 13:03:11 2010 UTC (13 years, 9 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2
Changes since 1.6: +3 -3 lines
Diff to previous 1.6 (colored)

Clean up vnode lock operations pass 2:

VOP_UNLOCK(vp, flags) -> VOP_UNLOCK(vp): Remove the unneeded flags argument.

Welcome to 5.99.32.

Discussed on tech-kern.

Revision 1.3.4.1 / (download) - annotate - [select for diffs], Sun May 30 05:17:57 2010 UTC (13 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.3: +13 -12 lines
Diff to previous 1.3 (colored)

sync with head

Revision 1.6 / (download) - annotate - [select for diffs], Mon May 24 16:37:17 2010 UTC (13 years, 10 months ago) by pgoyette
Branch: MAIN
Changes since 1.5: +2 -4 lines
Diff to previous 1.5 (colored)

Move definition of module_load_vfs_vec from kern_module_vfs.c to
kern_module.c - keeps rump happy.

Thanks, pooka!

Revision 1.5 / (download) - annotate - [select for diffs], Mon May 24 15:34:49 2010 UTC (13 years, 10 months ago) by pgoyette
Branch: MAIN
Changes since 1.4: +10 -2 lines
Diff to previous 1.4 (colored)

Clean up kern_module.c rev 1.66, thanks to pooka@ for review & suggestions

Revision 1.2.2.1 / (download) - annotate - [select for diffs], Fri Apr 30 14:44:09 2010 UTC (13 years, 11 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.2: +9 -13 lines
Diff to previous 1.2 (colored)

Sync with HEAD.

Revision 1.4 / (download) - annotate - [select for diffs], Sun Apr 4 17:18:04 2010 UTC (14 years ago) by jnemeth
Branch: MAIN
CVS Tags: uebayasi-xip-base1
Changes since 1.3: +7 -12 lines
Diff to previous 1.3 (colored)

don't leak a vnode and don't call namei (implicitly) twice

Revision 1.3.2.2 / (download) - annotate - [select for diffs], Thu Mar 11 15:04:17 2010 UTC (14 years, 1 month ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.3.2.1: +202 -0 lines
Diff to previous 1.3.2.1 (colored) to branchpoint 1.3 (colored)

sync with head

Revision 1.3.2.1, Tue Feb 16 05:47:52 2010 UTC (14 years, 2 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.3: +0 -202 lines
FILE REMOVED

file kern_module_vfs.c was added on branch yamt-nfs-mp on 2010-03-11 15:04:17 +0000

Revision 1.3 / (download) - annotate - [select for diffs], Tue Feb 16 05:47:52 2010 UTC (14 years, 2 months ago) by dholland
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9
Branch point for: yamt-nfs-mp, rmind-uvmplock
Changes since 1.2: +5 -4 lines
Diff to previous 1.2 (colored)

Don't inspect vn_stat() results until after checking that it succeeded.
If anyone's been seeing random "File too large" results from module loading,
this should fix it.

Revision 1.2 / (download) - annotate - [select for diffs], Tue Jan 19 22:17:44 2010 UTC (14 years, 3 months ago) by pooka
Branch: MAIN
CVS Tags: uebayasi-xip-base
Branch point for: uebayasi-xip
Changes since 1.1: +9 -9 lines
Diff to previous 1.1 (colored)

Rename a few routines from _file() to _vfs() for consistency.
Ride 5.99.24 bump.

Revision 1.1 / (download) - annotate - [select for diffs], Wed Nov 18 17:40:45 2009 UTC (14 years, 5 months ago) by pooka
Branch: MAIN
CVS Tags: matt-premerge-20091211

* make it possible to include kern_module in a kernel without vfs
  support, i.e. move vfs functionality to a separate module
  (kern_module_vfs.c)
* make module proplist size an MI constant (now 8k) instead of PAGE_SIZE
* change some error values to something else than the karmic EINVAL

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>