#
95ee2897 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
#
4d846d26 |
|
10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
|
#
b09b03a1 |
|
07-Feb-2023 |
Mateusz Guzik <mjg@FreeBSD.org> |
smbfs: ansify Reported by: clang 15 Sponsored by: Rubicon Communications, LLC ("Netgate")
|
#
8f7859e8 |
|
14-Dec-2022 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: retire the now unused SAVESTART flag Bump __FreeBSD_version to 1400075 Tested by: pho
|
#
5b5b7e2c |
|
17-Sep-2022 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: always retain path buffer after lookup This removes some of the complexity needed to maintain HASBUF and allows for removing injecting SAVENAME by filesystems. Reviewed by: kib (previous version) Differential Revision: https://reviews.freebsd.org/D36542
|
#
9fe2867c |
|
07-Apr-2022 |
John Baldwin <jhb@FreeBSD.org> |
smbfs_rename: Move all references to flags under #ifdef notnow.
|
#
b214fcce |
|
13-Dec-2021 |
Alan Somers <asomers@FreeBSD.org> |
Change VOP_READDIR's cookies argument to a **uint64_t The cookies argument is only used by the NFS server. NFSv2 defines the cookie as 32 bits on the wire, but NFSv3 increased it to 64 bits. Our VOP_READDIR, however, has always defined it as u_long, which is 32 bits on some architectures. Change it to 64 bits on all architectures. This doesn't matter for any in-tree file systems, but it matters for some FUSE file systems that use 64-bit directory cookies. PR: 260375 Reviewed by: rmacklem Differential Revision: https://reviews.freebsd.org/D33404
|
#
b4a58fbf |
|
01-Oct-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: remove cn_thread It is always curthread. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D32453
|
#
586ee69f |
|
01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
fs: clean up empty lines in .c and .h files
|
#
d292b194 |
|
05-Aug-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: remove the obsolete privused argument from vaccess This brings argument count down to 6, which is passable without the stack on amd64.
|
#
6a5abb1e |
|
02-Feb-2020 |
Kyle Evans <kevans@FreeBSD.org> |
Provide O_SEARCH O_SEARCH is defined by POSIX [0] to open a directory for searching, skipping permissions checks on the directory itself after the initial open(). This is close to the semantics we've historically applied for O_EXEC on a directory, which is UB according to POSIX. Conveniently, O_SEARCH on a file is also explicitly undefined behavior according to POSIX, so O_EXEC would be a fine choice. The spec goes on to state that O_SEARCH and O_EXEC need not be distinct values, but they're not defined to be the same value. This was pointed out as an incompatibility with other systems that had made its way into libarchive, which had assumed that O_EXEC was an alias for O_SEARCH. This defines compatibility O_SEARCH/FSEARCH (equivalent to O_EXEC and FEXEC respectively) and expands our UB for O_EXEC on a directory. O_EXEC on a directory is checked in vn_open_vnode already, so for completeness we add a NOEXECCHECK when O_SEARCH has been specified on the top-level fd and do not re-check that when descending in namei. [0] https://pubs.opengroup.org/onlinepubs/9699919799/ Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D23247
|
#
b249ce48 |
|
03-Jan-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: drop the mostly unused flags argument from VOP_UNLOCK Filesystems which want to use it in limited capacity can employ the VOP_UNLOCK_FLAGS macro. Reviewed by: kib (previous version) Differential Revision: https://reviews.freebsd.org/D21427
|
#
6fa079fc |
|
15-Dec-2019 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: flatten vop vectors This eliminates the following loop from all VOP calls: while(vop != NULL && \ vop->vop_spare2 == NULL && vop->vop_bypass == NULL) vop = vop->vop_default; Reviewed by: jeff Tesetd by: pho Differential Revision: https://reviews.freebsd.org/D22738
|
#
abd80ddb |
|
08-Dec-2019 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: introduce v_irflag and make v_type smaller The current vnode layout is not smp-friendly by having frequently read data avoidably sharing cachelines with very frequently modified fields. In particular v_iflag inspected for VI_DOOMED can be found in the same line with v_usecount. Instead make it available in the same cacheline as the v_op, v_data and v_type which all get read all the time. v_type is avoidably 4 bytes while the necessary data will easily fit in 1. Shrinking it frees up 3 bytes, 2 of which get used here to introduce a new flag field with a new value: VIRF_DOOMED. Reviewed by: kib, jeff Differential Revision: https://reviews.freebsd.org/D22715
|
#
52b2c8e2 |
|
19-Jan-2019 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
[smbfs] Allow semicolon in mounts that support long names Semicolon is a legal character in long names but not in 8.3 format. Move it to respective character set. PR: 140068 Submitted by: tom@uffner.com MFC after: 3 weeks
|
#
b1288166 |
|
17-Jan-2018 |
John Baldwin <jhb@FreeBSD.org> |
Use long for the last argument to VOP_PATHCONF rather than a register_t. pathconf(2) and fpathconf(2) both return a long. The kern_[f]pathconf() functions now accept a pointer to a long value rather than modifying td_retval directly. Instead, the system calls explicitly store the returned long value in td_retval[0]. Requested by: bde Reviewed by: kib Sponsored by: Chelsio Communications
|
#
599afe53 |
|
19-Dec-2017 |
John Baldwin <jhb@FreeBSD.org> |
Move NAME_MAX, LINK_MAX, and CHOWN_RESTRICTED out of vop_stdpathconf(). Having all filesystems fall through to default values isn't always correct and these values can vary for different filesystem implementations. Most of these changes just use the existing default values with a few exceptions: - Don't report CHOWN_RESTRICTED for ZFS since it doesn't do the exact permissions check this claims for chown(). - Use NANDFS_NAME_LEN for NAME_MAX for nandfs. - Don't report a LINK_MAX of 0 on smbfs. Now fail with EINVAL to indicate hard links aren't supported. Requested by: bde (though perhaps not this exact implementation) Reviewed by: kib (earlier version) MFC after: 1 month Sponsored by: Chelsio Communications
|
#
4a627952 |
|
19-Dec-2017 |
John Baldwin <jhb@FreeBSD.org> |
Handle _PC_FILESIZEBITS and _PC_NO_TRUNC for smbfs' VOP_PATHCONF(). MFC after: 1 month Sponsored by: Chelsio Communications
|
#
d63027b6 |
|
27-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
sys/fs: further adoption of SPDX licensing ID tags. Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts.
|
#
15a88f81 |
|
11-Jul-2017 |
John Baldwin <jhb@FreeBSD.org> |
Consistently use vop_stdpathconf() for default pathconf values. Update filesystems not currently using vop_stdpathconf() in pathconf VOPs to use vop_stdpathconf() for any configuration variables that do not have filesystem-specific values. vop_stdpathconf() is used for variables that have system-wide settings as well as providing default values for some values based on system limits. Filesystems can still explicitly override individual settings. PR: 219851 Reported by: cem Reviewed by: cem, kib, ngie MFC after: 1 month Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D11541
|
#
8844e55d |
|
06-Apr-2017 |
Conrad Meyer <cem@FreeBSD.org> |
smbfs: Fix an indentation level Based on the change in r242386, it seems clear that scred was intended to be released in all paths at exit. No functional change. This line's indent was just the result of a bad copy paste from the previous free() in an early exit path. Reported by: PVS-Studio Sponsored by: Dell EMC Isilon
|
#
74b8d63d |
|
10-Apr-2016 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Cleanup unnecessary semicolons from the kernel. Found with devel/coccinelle.
|
#
c829016e |
|
11-Jan-2016 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Change the type of newsize argument in the smbfs_smb_setfsize() function from int to int64. MSDN says that SMB_SET_FILE_END_OF_FILE_INFO uses signed 64-bit integer to specify offset, but since smbfs_smb_setfsize() has used plain int, a value was truncated in case when offset was larger than 2G. https://msdn.microsoft.com/en-us/library/ff469975.aspx In particular, now `truncate -s 10G` will work correctly on the mounted SMB share. Reported and tested by: Eugene Grosbein <eugen at grosbein dot net> MFC after: 1 week
|
#
7da1a731 |
|
21-Aug-2013 |
Kenneth D. Merry <ken@FreeBSD.org> |
Expand the use of stat(2) flags to allow storing some Windows/DOS and CIFS file attributes as BSD stat(2) flags. This work is intended to be compatible with ZFS, the Solaris CIFS server's interaction with ZFS, somewhat compatible with MacOS X, and of course compatible with Windows. The Windows attributes that are implemented were chosen based on the attributes that ZFS already supports. The summary of the flags is as follows: UF_SYSTEM: Command line name: "system" or "usystem" ZFS name: XAT_SYSTEM, ZFS_SYSTEM Windows: FILE_ATTRIBUTE_SYSTEM This flag means that the file is used by the operating system. FreeBSD does not enforce any special handling when this flag is set. UF_SPARSE: Command line name: "sparse" or "usparse" ZFS name: XAT_SPARSE, ZFS_SPARSE Windows: FILE_ATTRIBUTE_SPARSE_FILE This flag means that the file is sparse. Although ZFS may modify this in some situations, there is not generally any special handling for this flag. UF_OFFLINE: Command line name: "offline" or "uoffline" ZFS name: XAT_OFFLINE, ZFS_OFFLINE Windows: FILE_ATTRIBUTE_OFFLINE This flag means that the file has been moved to offline storage. FreeBSD does not have any special handling for this flag. UF_REPARSE: Command line name: "reparse" or "ureparse" ZFS name: XAT_REPARSE, ZFS_REPARSE Windows: FILE_ATTRIBUTE_REPARSE_POINT This flag means that the file is a Windows reparse point. ZFS has special handling code for reparse points, but we don't currently have the other supporting infrastructure for them. UF_HIDDEN: Command line name: "hidden" or "uhidden" ZFS name: XAT_HIDDEN, ZFS_HIDDEN Windows: FILE_ATTRIBUTE_HIDDEN This flag means that the file may be excluded from a directory listing if the application honors it. FreeBSD has no special handling for this flag. The name and bit definition for UF_HIDDEN are identical to the definition in MacOS X. UF_READONLY: Command line name: "urdonly", "rdonly", "readonly" ZFS name: XAT_READONLY, ZFS_READONLY Windows: FILE_ATTRIBUTE_READONLY This flag means that the file may not written or appended, but its attributes may be changed. ZFS currently enforces this flag, but Illumos developers have discussed disabling enforcement. The behavior of this flag is different than MacOS X. MacOS X uses UF_IMMUTABLE to represent the DOS readonly permission, but that flag has a stronger meaning than the semantics of DOS readonly permissions. UF_ARCHIVE: Command line name: "uarch", "uarchive" ZFS_NAME: XAT_ARCHIVE, ZFS_ARCHIVE Windows name: FILE_ATTRIBUTE_ARCHIVE The UF_ARCHIVED flag means that the file has changed and needs to be archived. The meaning is same as the Windows FILE_ATTRIBUTE_ARCHIVE attribute, and the ZFS XAT_ARCHIVE and ZFS_ARCHIVE attribute. msdosfs and ZFS have special handling for this flag. i.e. they will set it when the file changes. sys/param.h: Bump __FreeBSD_version to 1000047 for the addition of new stat(2) flags. chflags.1: Document the new command line flag names (e.g. "system", "hidden") available to the user. ls.1: Reference chflags(1) for a list of file flags and their meanings. strtofflags.c: Implement the mapping between the new command line flag names and new stat(2) flags. chflags.2: Document all of the new stat(2) flags, and explain the intended behavior in a little more detail. Explain how they map to Windows file attributes. Different filesystems behave differently with respect to flags, so warn the application developer to take care when using them. zfs_vnops.c: Add support for getting and setting the UF_ARCHIVE, UF_READONLY, UF_SYSTEM, UF_HIDDEN, UF_REPARSE, UF_OFFLINE, and UF_SPARSE flags. All of these flags are implemented using attributes that ZFS already supports, so the on-disk format has not changed. ZFS currently doesn't allow setting the UF_REPARSE flag, and we don't really have the other infrastructure to support reparse points. msdosfs_denode.c, msdosfs_vnops.c: Add support for getting and setting UF_HIDDEN, UF_SYSTEM and UF_READONLY in MSDOSFS. It supported SF_ARCHIVED, but this has been changed to be UF_ARCHIVE, which has the same semantics as the DOS archive attribute instead of inverse semantics like SF_ARCHIVED. After discussion with Bruce Evans, change several things in the msdosfs behavior: Use UF_READONLY to indicate whether a file is writeable instead of file permissions, but don't actually enforce it. Refuse to change attributes on the root directory, because it is special in FAT filesystems, but allow most other attribute changes on directories. Don't set the archive attribute on a directory when its modification time is updated. Windows and DOS don't set the archive attribute in that scenario, so we are now bug-for-bug compatible. smbfs_node.c, smbfs_vnops.c: Add support for UF_HIDDEN, UF_SYSTEM, UF_READONLY and UF_ARCHIVE in SMBFS. This is similar to changes that Apple has made in their version of SMBFS (as of smb-583.8, posted on opensource.apple.com), but not quite the same. We map SMB_FA_READONLY to UF_READONLY, because UF_READONLY is intended to match the semantics of the DOS readonly flag. The MacOS X code maps both UF_IMMUTABLE and SF_IMMUTABLE to SMB_FA_READONLY, but the immutable flags have stronger meaning than the DOS readonly bit. stat.h: Add definitions for UF_SYSTEM, UF_SPARSE, UF_OFFLINE, UF_REPARSE, UF_ARCHIVE, UF_READONLY and UF_HIDDEN. The definition of UF_HIDDEN is the same as the MacOS X definition. Add commented-out definitions of UF_COMPRESSED and UF_TRACKED. They are defined in MacOS X (as of 10.8.2), but we do not implement them (yet). ufs_vnops.c: Add support for getting and setting UF_ARCHIVE, UF_HIDDEN, UF_OFFLINE, UF_READONLY, UF_REPARSE, UF_SPARSE, and UF_SYSTEM in UFS. Alphabetize the flags that are supported. These new flags are only stored, UFS does not take any action if the flag is set. Sponsored by: Spectra Logic Reviewed by: bde (earlier version)
|
#
c7d2e4cf |
|
28-Jun-2013 |
Davide Italiano <davide@FreeBSD.org> |
Plug a couple of leakages in smbfs_lookup().
|
#
ce589ae2 |
|
09-Mar-2013 |
Davide Italiano <davide@FreeBSD.org> |
smbfs_lookup() in the DOTDOT case operates on dvp->n_parent without proper locking. This doesn't prevent in any case reclaim of the vnode. Avoid this not going over-the-wire in this case and relying on subsequent smbfs_getattr() call to restore consistency. While I'm here, change a couple of SMBVDEBUG() in MPASS(). sbmfs_smb_lookup() doesn't and shouldn't know about '.' and '..' Reported by: pho's stress2 suite
|
#
e346bd81 |
|
09-Mar-2013 |
Davide Italiano <davide@FreeBSD.org> |
- Initialize variable in smbfs_rename() to silent compiler warning - Fix smbfs_mkdir() return value (in case of error). Reported by: pho
|
#
42039c5b |
|
25-Nov-2012 |
Davide Italiano <davide@FreeBSD.org> |
- smbfs_rename() might return an error value without correctly upgrading the vnode use count, and this might cause the kernel to panic if compiled with WITNESS enable. - Be sure to put the '\0' terminator to the rpath string. Sponsored by: iXsystems inc.
|
#
e631d5ab |
|
14-Nov-2012 |
Davide Italiano <davide@FreeBSD.org> |
Get rid of some old debug code. It provides checks similar to the one offered by RedZone so there's no need to keep it. Sponsored by: iXsystems inc.
|
#
9dbe0b12 |
|
14-Nov-2012 |
Davide Italiano <davide@FreeBSD.org> |
Fix the lookup in the DOTDOT case in the same way as other filesystems do, i.e. inlining the vn_vget_ino() algorithm. Sponsored by: iXsystems inc.
|
#
afe09751 |
|
30-Oct-2012 |
Davide Italiano <davide@FreeBSD.org> |
Fix panic due to page faults while in kernel mode, under conditions of VM pressure. The reason is that in some codepaths pointers to stack variables were passed from one thread to another. In collaboration with: pho Reported by: pho's stress2 suite Sponsored by: iXsystems inc.
|
#
994f027f |
|
30-Oct-2012 |
Davide Italiano <davide@FreeBSD.org> |
Change the code to use %jd as printf() placeholder for uio_offset and cast to intmax_t. Suggested by: pjd Sponsored by: iXsystems inc.
|
#
469cb18f |
|
25-Oct-2012 |
Davide Italiano <davide@FreeBSD.org> |
Fix build in case we have SMBVDEBUG turned on. Reviewed by: gnn Approved by: gnn Sponsored by: iXsystems inc.
|
#
bf40d24a |
|
06-Feb-2012 |
John Baldwin <jhb@FreeBSD.org> |
Rename cache_lookup_times() to cache_lookup() and retire the old API and ABI stub for cache_lookup().
|
#
dc15eac0 |
|
01-Jan-2012 |
Ed Schouten <ed@FreeBSD.org> |
Use strchr() and strrchr(). It seems strchr() and strrchr() are used more often than index() and rindex(). Therefore, simply migrate all kernel code to use it. For the XFS code, remove an empty line to make the code identical to the code in the Linux kernel.
|
#
a7d5f7eb |
|
19-Oct-2010 |
Jamie Gritton <jamie@FreeBSD.org> |
A new jail(8) with a configuration file, to replace the work currently done by /etc/rc.d/jail.
|
#
d122d784 |
|
07-Apr-2010 |
Joel Dahl <joel@FreeBSD.org> |
Switch to our preferred 2-clause BSD license. Approved by: bp
|
#
13fd4d21 |
|
31-Jan-2009 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
After r186194 the *fs_strategy() functions always return 0. So we are no longer interested in the error returned from the *fs_doio() functions. With that we can remove the error variable as its value is unused now. Submitted by: Christoph Mallon christoph.mallon@gmx.de
|
#
0da50f6e |
|
16-Dec-2008 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
According to phk@, VOP_STRATEGY should never, _ever_, return anything other than 0. Make it so. This fixes "panic: VOP_STRATEGY failed bp=0xc320dd90 vp=0xc3b9f648", encountered when writing to an orphaned filesystem. Reason for the panic was the following assert: KASSERT(i == 0, ("VOP_STRATEGY failed bp=%p vp=%p", bp, bp->b_vp)); at vfs_bio:bufstrategy(). Reviewed by: scottl, phk Approved by: rwatson (mentor) Sponsored by: FreeBSD Foundation
|
#
15bc6b2b |
|
28-Oct-2008 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Introduce accmode_t. This is required for NFSv4 ACLs - it will be neccessary to add more V* constants, and the variables changed by this patch were often being assigned to mode_t variables, which is 16 bit. Approved by: rwatson (mentor)
|
#
d7f03759 |
|
19-Oct-2008 |
Ulf Lilleengen <lulf@FreeBSD.org> |
- Import the HEAD csup code which is the basis for the cvsmode work.
|
#
0359a12e |
|
28-Aug-2008 |
Attilio Rao <attilio@FreeBSD.org> |
Decontextualize the couplet VOP_GETATTR / VOP_SETATTR as the passed thread was always curthread and totally unuseful. Tested by: Giovanni Trematerra <giovanni dot trematerra at gmail dot com>
|
#
eab626f1 |
|
16-Apr-2008 |
Konstantin Belousov <kib@FreeBSD.org> |
Move the head of byte-level advisory lock list from the filesystem-specific vnode data to the struct vnode. Provide the default implementation for the vop_advlock and vop_advlockasync. Purge the locks on the vnode reclaim by using the lf_purgelocks(). The default implementation is augmented for the nfs and smbfs. In the nfs_advlock, push the Giant inside the nfs_dolock. Before the change, the vop_advlock and vop_advlockasync have taken the unlocked vnode and dereferenced the fs-private inode data, racing with with the vnode reclamation due to forced unmount. Now, the vop_getattr under the shared vnode lock is used to obtain the inode size, and later, in the lf_advlockasync, after locking the vnode interlock, the VI_DOOMED flag is checked to prevent an operation on the doomed vnode. The implementation of the lf_purgelocks() is submitted by dfr. Reported by: kris Tested by: kris, pho Discussed with: jeff, dfr MFC after: 2 weeks
|
#
18121c17 |
|
14-Apr-2008 |
Doug Rabson <dfr@FreeBSD.org> |
When calling lf_advlock to unlock a record, make sure that ap->a_fl->l_type is F_UNLCK otherwise we trigger a LOCKF_DEBUG panic. MFC after: 3 days
|
#
22db15c0 |
|
13-Jan-2008 |
Attilio Rao <attilio@FreeBSD.org> |
VOP_LOCK1() (and so VOP_LOCK()) and VOP_UNLOCK() are only used in conjuction with 'thread' argument passing which is always curthread. Remove the unuseful extra-argument and pass explicitly curthread to lower layer functions, when necessary. KPI results broken by this change, which should affect several ports, so version bumping and manpage update will be further committed. Tested by: kris, pho, Diego Sardina <siarodx at gmail dot com>
|
#
cb05b60a |
|
09-Jan-2008 |
Attilio Rao <attilio@FreeBSD.org> |
vn_lock() is currently only used with the 'curthread' passed as argument. Remove this argument and pass curthread directly to underlying VOP_LOCK1() VFS method. This modify makes the code cleaner and in particular remove an annoying dependence helping next lockmgr() cleanup. KPI results, obviously, changed. Manpage and FreeBSD_version will be updated through further commits. As a side note, would be valuable to say that next commits will address a similar cleanup about VFS methods, in particular vop_lock1 and vop_unlock. Tested by: Diego Sardina <siarodx at gmail dot com>, Andrea Di Pasquale <whyx dot it at gmail dot com>
|
#
9e223287 |
|
31-May-2007 |
Konstantin Belousov <kib@FreeBSD.org> |
Revert UF_OPENING workaround for CURRENT. Change the VOP_OPEN(), vn_open() vnode operation and d_fdopen() cdev operation argument from being file descriptor index into the pointer to struct file. Proposed and reviewed by: jhb Reviewed by: daichi (unionfs) Approved by: re (kensmith)
|
#
acd3428b |
|
06-Nov-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Sweep kernel replacing suser(9) calls with priv(9) calls, assigning specific privilege names to a broad range of privileges. These may require some future tweaking. Sponsored by: nCircle Network Security, Inc. Obtained from: TrustedBSD Project Discussed on: arch@ Reviewed (at least in part) by: mlaier, jmg, pjd, bde, ceri, Alex Lyashkov <umka at sevcity dot net>, Skip Ford <skip dot ford at verizon dot net>, Antoine Brodin <antoine dot brodin at laposte dot net>
|
#
fb8e9ead |
|
04-Nov-2006 |
Boris Popov <bp@FreeBSD.org> |
Create a bidirectional mapping of the DOS 'read only' attribute to the 'w' flag. PR: kern/77958 Submitted by: ghozzy gmail com MFC after: 1 month
|
#
72f6a0fa |
|
31-May-2006 |
Colin Percival <cperciva@FreeBSD.org> |
Enable inadvertantly disabled "securenet" access controls in ypserv. [1] Correct a bug in the handling of backslash characters in smbfs which can allow an attacker to escape from a chroot(2). [2] Security: FreeBSD-SA-06:15.ypserv [1] Security: FreeBSD-SA-06:16.smbfs [2]
|
#
4585e3ac |
|
13-Apr-2005 |
Jeff Roberson <jeff@FreeBSD.org> |
- Change all filesystems and vfs_cache to relock the dvp once the child is locked in the ISDOTDOT case. Se vfs_lookup.c r1.79 for details. Sponsored by: Isilon Systems, Inc.
|
#
e8943128 |
|
09-Apr-2005 |
Xin LI <delphij@FreeBSD.org> |
Initialize vp before using it. Failing to do this can cause instant panic when trying to access a file on mounted smbfs. Submitted by: takawata at jp freebsd org
|
#
da1c9cb2 |
|
29-Mar-2005 |
Jeff Roberson <jeff@FreeBSD.org> |
- Remove wantparent, it is no longer necessary. An assert in vfs_lookup.c prevents any callers from doing a modifying op without LOCKPARENT or WANTPARENT.
|
#
5c5e51fd |
|
29-Mar-2005 |
Jeff Roberson <jeff@FreeBSD.org> |
- cache_lookup() now locks the new vnode for us to prevent some races. Remove redundant code. Sponsored by: Isilon Systems, Inc.
|
#
f6576f19 |
|
28-Mar-2005 |
Jeff Roberson <jeff@FreeBSD.org> |
- We no longer have to bother with PDIRUNLOCK, lookup() handles it for us. - Network filesystems are written with a special idiom that checks the cache first, and may even unlock dvp before discovering that a network round-trip is required to resolve the name. I believe dvp is prevented from being recycled even in the forced unmount case by the shared lock on the mount point. If not, this code should grow checks for VI_DOOMED after it relocks dvp or it will access NULL v_data fields. Sponsored by: Isilon Systems, Inc.
|
#
8da00465 |
|
12-Mar-2005 |
Jeff Roberson <jeff@FreeBSD.org> |
- The VI_DOOMED flag now signals the end of a vnode's relationship with the filesystem. Check that rather than VI_XLOCK. - VOP_INACTIVE should no longer drop the vnode lock. - The vnode lock is required around calls to vrecycle() and vgone(). Sponsored by: Isilon Systems, Inc.
|
#
5a98dd4d |
|
22-Feb-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
vp->v_id is a private field for the vfs namecache and it is a big mistake that NFS ever started using it and an even bigger that it got copied&pasted to nwfs and smbfs. Replace with use of vhold()/vdrop().
|
#
72b3e305 |
|
29-Jan-2005 |
Peter Edwards <peadar@FreeBSD.org> |
Unbreak a few filesystems for which vnode_create_vobject() wasn't being called in "open", causing mmap() to fail. Where possible, pass size of file to vnode_create_vobject() rather than having it find it out the hard way via VOP_LOOKUP Reviewed by: phk
|
#
e50508df |
|
14-Jan-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Eliminate unused and constant arguments to smbfs_vinvalbuf()
|
#
83c64397 |
|
13-Jan-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Whitespace in vop_vector{} initializations.
|
#
d167cf6f |
|
06-Jan-2005 |
Warner Losh <imp@FreeBSD.org> |
/* -> /*- for copyright notices, minor format tweaks as necessary
|
#
d14c8441 |
|
06-Dec-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Convert to nmount. Add omount compat. Unpropagate the sm_args function into the runtime part.
|
#
aec0fb7b |
|
01-Dec-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Back when VOP_* was introduced, we did not have new-style struct initializations but we did have lofty goals and big ideals. Adjust to more contemporary circumstances and gain type checking. Replace the entire vop_t frobbing thing with properly typed structures. The only casualty is that we can not add a new VOP_ method with a loadable module. History has not given us reason to belive this would ever be feasible in the the first place. Eliminate in toto VOCALL(), vop_t, VNODEOP_SET() etc. Give coda correct prototypes and function definitions for all vop_()s. Generate a bit more data from the vnode_if.src file: a struct vop_vector and protype typedefs for all vop methods. Add a new vop_bypass() and make vop_default be a pointer to another struct vop_vector. Remove a lot of vfs_init since vop_vector is ready to use from the compiler. Cast various vop_mumble() to void * with uppercase name, for instance VOP_PANIC, VOP_NULL etc. Implement VCALL() by making vdesc_offset the offsetof() the relevant function pointer in vop_vector. This is disgusting but since the code is generated by a script comparatively safe. The alternative for nullfs etc. would be much worse. Fix up all vnode method vectors to remove casts so they become typesafe. (The bulk of this is generated by scripts)
|
#
6fde64c7 |
|
30-Nov-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Mechanically change prototypes for vnode operations to use the new typedefs.
|
#
066a8fea |
|
07-Sep-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Explicitly pass vnode to smbfs_doio() function.
|
#
56f21b9d |
|
26-Jul-2004 |
Colin Percival <cperciva@FreeBSD.org> |
Rename suser_cred()'s PRISON_ROOT flag to SUSER_ALLOWJAIL. This is somewhat clearer, but more importantly allows for a consistent naming scheme for suser_cred flags. The old name is still defined, but will be removed in a few days (unless I hear any complaints...) Discussed with: rwatson, scottl Requested by: jhb
|
#
b4484bf0 |
|
09-Feb-2004 |
Tim J. Robbins <tjr@FreeBSD.org> |
Fixes problems that occurred when a file was removed and a directory created with the same name, and vice versa: - Immediately recycle vnodes of files & directories that have been deleted or renamed. - When looking an entry in the VFS name cache or smbfs's private cache, make sure the vnode type is consistent with the type of file the server thinks it is, and re-create the vnode if it isn't. The alternative to this is to recycle vnodes unconditionally when their use count drops to 0, but this would make all the caching we do mostly useless. PR: 62342 MFC after: 2 weeks
|
#
835fb616 |
|
09-Jan-2004 |
Tim J. Robbins <tjr@FreeBSD.org> |
Restore closing of SMB find handle in smbfs_close().
|
#
07a65634 |
|
21-Dec-2003 |
Tim J. Robbins <tjr@FreeBSD.org> |
Make oldsize in smbfs_getattr() 64 bits wide instead of 32 to avoid truncation when files are larger than 4GB.
|
#
c87b01a0 |
|
18-Oct-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Initialize b_offset before calling VOP_STRATEGY/VOP_SPECSTRATEGY. Remove various comments of KASSERTS and comments about B_PHYS which does not apply anymore.
|
#
583b92e3 |
|
18-Oct-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Convert some if(bla) panic("foo") to KASSERTS to improve grep-ability.
|
#
aa808a7f |
|
25-Sep-2003 |
Tim J. Robbins <tjr@FreeBSD.org> |
Allow the [, ], and = characters in non-8.3 filenames since they are allowed by Windows (ref: MS KB article 120138). XXX From my reading of the CIFS specification, it's not clear that clients need to validate filenames at all. PR: 57123 Submitted by: Paul Coucher MFC after: 1 month
|
#
a8d43c90 |
|
26-Jul-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add a "int fd" argument to VOP_OPEN() which in the future will contain the filedescriptor number on opens from userland. The index is used rather than a "struct file *" since it conveys a bit more information, which may be useful to in particular fdescfs and /dev/fd/* For now pass -1 all over the place.
|
#
2a4ad258 |
|
16-Jun-2003 |
Tim J. Robbins <tjr@FreeBSD.org> |
Send the close request to the SMB server in smbfs_inactive(), instead of smbfs_close(). This fixes paging to and from mmap()'d regions of smbfs files after the descriptor has been closed, and makes thttpd, GNU ld, and perhaps more things work that depend on being able to do this. PR: 48291
|
#
cefb5754 |
|
15-Jun-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add the same KASSERT to all VOP_STRATEGY and VOP_SPECSTRATEGY implementations to check that the buffer points to the correct vnode.
|
#
104a9b7e |
|
29-Apr-2003 |
Alexander Kabaev <kan@FreeBSD.org> |
Deprecate machine/limits.h in favor of new sys/limits.h. Change all in-tree consumers to include <sys/limits.h> Discussed on: standards@ Partially submitted by: Craig Rodrigues <rodrigc@attbi.com>
|
#
fe72c63e |
|
06-Mar-2003 |
Tim J. Robbins <tjr@FreeBSD.org> |
Remove fragments of support for the FreeBSD 3.x and 4.x branches.
|
#
99648386 |
|
03-Mar-2003 |
Nate Lawson <njl@FreeBSD.org> |
Finish cleanup of vprint() which was begun with changing v_tag to a string. Remove extraneous uses of vop_null, instead defering to the default op. Rename vnode type "vfs" to the more descriptive "syncer". Fix formatting for various filesystems that use vop_print.
|
#
6dae0c1e |
|
19-Feb-2003 |
Tim J. Robbins <tjr@FreeBSD.org> |
Do not call smbfs_attr_cacheremove() in the EXDEV case in smbfs_rename(). One of the vnodes is on different mount and is possibly on a different kind of filesystem; treating it as an smbfs vnode then writing to it will probably corrupt it. PR: 48381 MFC after: 1 month
|
#
8e67c454 |
|
07-Feb-2003 |
Tim J. Robbins <tjr@FreeBSD.org> |
Revert removal of vnode and VFS stubs; bp asserts that they are needed.
|
#
e471cd26 |
|
07-Feb-2003 |
Tim J. Robbins <tjr@FreeBSD.org> |
Garbage-collect stub vnode ops, use the defaults instead.
|
#
5d004cd1 |
|
04-Feb-2003 |
Tim J. Robbins <tjr@FreeBSD.org> |
Add missing permission checks to the smbfs VOP_SETATTR vnode op for the case where the caller requests to change access or modification times. MFC after: 3 days
|
#
38356d10 |
|
03-Feb-2003 |
Tim J. Robbins <tjr@FreeBSD.org> |
Use vaccess() instead of rolling our own access checks. This fixes a bug where requests to open a file in append mode were always denied, and will also be useful when capabilities and auditing are implemented.
|
#
29546985 |
|
29-Jan-2003 |
Tim J. Robbins <tjr@FreeBSD.org> |
Escape the backslash in badchars so that smbfs_pathcheck() correctly rejects pathnames with backslashes in them (and to avoid a syntax error). Found by: FlexeLint
|
#
c6e3ae99 |
|
04-Jan-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Since Jeffr made the std* functions the default in rev 1.63 of kern/vfs_defaults.c it is wrong for the individual filesystems to use the std* functions as that prevents override of the default. Found by: src/tools/tools/vop_table
|
#
e3e79743 |
|
13-Dec-2002 |
Tim J. Robbins <tjr@FreeBSD.org> |
Fix build with SMB_VNODE_DEBUG defined; use td_proc->p_pid instead of the nonexistent td_pid.
|
#
11de0c59 |
|
13-Dec-2002 |
Tim J. Robbins <tjr@FreeBSD.org> |
Store a reference to the parent directory's vnode in struct smbnode, not to the parent's smbnode, which may be freed during the lifetime of the child if the mount is forcibly unmounted. umount -f should now work properly (ie. not panic) on smbfs mounts.
|
#
f6b80a49 |
|
26-Sep-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Return ENOTTY on incorrect ioctls.
|
#
4d93c0be |
|
24-Sep-2002 |
Jeff Roberson <jeff@FreeBSD.org> |
- Use vrefcnt() where it is safe to do so instead of doing direct and unlocked accesses to v_usecount. - Lock access to the buf lists in the various sync routines. interlock locking could be avoided almost entirely in leaf filesystems if the fsync function had a generic helper.
|
#
86ed6d45 |
|
18-Sep-2002 |
Nate Lawson <njl@FreeBSD.org> |
Remove any VOP_PRINT that redundantly prints the tag. Move lockmgr_printinfo() into vprint() for everyone's benefit. Suggested by: bde
|
#
44f3878e |
|
18-Sep-2002 |
Boris Popov <bp@FreeBSD.org> |
Always open file in the DENYNONE mode and let the server to decide what is good for this file. This should allow read only access to file which is already opened on server.
|
#
06be2aaa |
|
14-Sep-2002 |
Nate Lawson <njl@FreeBSD.org> |
Remove all use of vnode->v_tag, replacing with appropriate substitutes. v_tag is now const char * and should only be used for debugging. Additionally: 1. All users of VT_NTS now check vfsconf->vf_type VFCF_NETWORK 2. The user of VT_PROCFS now checks for the new flag VV_PROCDEP, which is propagated by pseudofs to all child vnodes if the fs sets PFS_PROCDEP. Suggested by: phk Reviewed by: bde, rwatson (earlier version)
|
#
e6e370a7 |
|
04-Aug-2002 |
Jeff Roberson <jeff@FreeBSD.org> |
- Replace v_flag with v_iflag and v_vflag - v_vflag is protected by the vnode lock and is used when synchronization with VOP calls is needed. - v_iflag is protected by interlock and is used for dealing with vnode management issues. These flags include X/O LOCK, FREE, DOOMED, etc. - All accesses to v_iflag and v_vflag have either been locked or marked with mp_fixme's. - Many ASSERT_VOP_LOCKED calls have been added where the locking was not clear. - Many functions in vfs_subr.c were restructured to provide for stronger locking. Idea stolen from: BSD/OS
|
#
6e8681aa |
|
13-Apr-2002 |
Boris Popov <bp@FreeBSD.org> |
Check write permissions before creating anything. PR: kern/27883 MFC after: 1 week
|
#
a1f1e35d |
|
08-Apr-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove 3 instances of vm_zone.h inclusion.
|
#
a854ed98 |
|
27-Feb-2002 |
John Baldwin <jhb@FreeBSD.org> |
Simple p_ucred -> td_ucred changes to start using the per-thread ucred reference.
|
#
d9d8c817 |
|
20-Dec-2001 |
Boris Popov <bp@FreeBSD.org> |
Previous commit was intented to silence a warning, not to change codepath.
|
#
5bd80fc5 |
|
20-Dec-2001 |
Sheldon Hearn <sheldonh@FreeBSD.org> |
Silence harmless "smbfs_closel: Negative opencount" messages at unmount time. Thanks to iedowse for the background information. Submitted by: bp
|
#
b1c996c4 |
|
02-Dec-2001 |
Boris Popov <bp@FreeBSD.org> |
Catch up with KSE changes. Submitted by: Max Khon <fjoe@iclub.nsu.ru>
|
#
15924778 |
|
29-Aug-2001 |
Andrey A. Chernov <ache@FreeBSD.org> |
smbfs_advlock: simplify overflow checks (copy from kern_lockf.c) minor formatting issues to minimize differences
|
#
fcbe9614 |
|
26-Aug-2001 |
Andrey A. Chernov <ache@FreeBSD.org> |
Cosmetique & style fixes from bde
|
#
5215e1ea |
|
24-Aug-2001 |
Andrey A. Chernov <ache@FreeBSD.org> |
Copy from kern_lockf.c: remove extra check
|
#
2a31175b |
|
23-Aug-2001 |
Andrey A. Chernov <ache@FreeBSD.org> |
Copy yet one check for SEEK_END overflow
|
#
ea4313e3 |
|
23-Aug-2001 |
Andrey A. Chernov <ache@FreeBSD.org> |
Copy my newly introduced l_len<0 'oops' fix from kern_lockf.c
|
#
e3e2c03d |
|
23-Aug-2001 |
Andrey A. Chernov <ache@FreeBSD.org> |
Copy POSIX l_len<0 handling from kern_lockf.c
|
#
bbf6984c |
|
23-Aug-2001 |
Andrey A. Chernov <ache@FreeBSD.org> |
Cosmetique: correct English in comments non-cosmetique: add missing break; - original code was broken here
|
#
fb2f1870 |
|
23-Aug-2001 |
Andrey A. Chernov <ache@FreeBSD.org> |
Move <machine/*> after <sys/*> Pointed by: bde
|
#
47790174 |
|
23-Aug-2001 |
Andrey A. Chernov <ache@FreeBSD.org> |
adv. lock: copy EOVERFLOW handling code from main variant fix type of 'size' arg
|
#
3419dc99 |
|
21-Aug-2001 |
Boris Popov <bp@FreeBSD.org> |
Return proper length of _PC_NAME_MAX value if long names support is enabled. Obtained from: Mac OS X MFC after: 1 week
|
#
b7ebffbc |
|
29-Apr-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add a vop_stdbmap(), and make it part of the default vop vector. Make 7 filesystems which don't really know about VOP_BMAP rely on the default vector, rather than more or less complete local vop_nopbmap() implementations.
|
#
681a5bbe |
|
10-Apr-2001 |
Boris Popov <bp@FreeBSD.org> |
Import kernel part of SMB/CIFS requester. Add smbfs(CIFS) filesystem. Userland part will be in the ports tree for a while. Obtained from: smbfs-1.3.7-dev package.
|