FIXES 23935
don't use the default instruction set since the compiler has changed over time
(cherry picked from commit a62104968094bec86a7d3692158bbc84db035cdd)
same deal as purge. a transaction on the volume outstanding holds it. we don't n
eed to preclude all access
(cherry picked from commit aa5d46b71b3700d6256f47237fadf0a4829daee6)
FIXES 60809
Problems fixed with this patch:
/1/ supergroup bug: when updating an entry in prdb, the logic in
pt_mywrite is supposed to unset flagged & found bitmap entries.
This failed on little-endian architecture machines.
/2/ warnings; a few fixes to eliminate some compiler noise.
(cherry picked from commit d608809c247c9b8105c95e230449f98705767476)
FIXES 60680
make sure bitmap code is correct else supergroups returns invalid answer
fix verify code to be correct on little endian hosts
(cherry picked from commit 62dc1975410ad0dbea12a0c7e3c11a37230e5971)
fixes bug reported by stephen joyce which i am too lazy to go get the RT number of
(cherry picked from commit f2761c416320a3ff2bb0af4298ca95b8ecb04211)
FIXES 34522
Set the mtime on newly created directories to match the original directory.
(cherry picked from commit 1d4d8f5c4f125707fc6af432024d99e2672cadab)
the permission to obtain a write-lock is granted either by having the
"w" permission or the "i" when owning the file. The permission to obtain
a read-lock has been granted by having the "k" permission. However it
makes no sense that someone can obtain a write-lock but not a read-lock.
This patch grants permission to obtain read-locks to those who can obtain
write-locks.
(cherry picked from commit bb61e1dc678ea28132c195438fc1f157fa580cd1)
FIXES 59827
The wix installer creates the wrong directory name for the IBM Quick Guide
(cherry picked from commit c5c23b7bc4544af2c1204622cd67b835b27bcdab)
Background: OpenAFS is vulnerable to crashing in the linux kernel symlink
code when running on kernel versions between 2.6.10 to 2.6.12. This also
includes all RHEL4 kernels, because RHEL4 includes the code from 2.6.10. The
problem is that the symlink text caching API, page_follow_link() et al, is
unsuitable for network filesystems where the page cache may be invalidated
in parallel with a path lookup.
This crash can be triggered easily by doing a bunch of path lookups
involving symlinks (e.g., stat() on various files pointed to through links),
while simultaneously running 'fs flushvol' on the volume containing the
symlinks.
The simplest way to fix this problem is to disable the use of symlink text
caching when the kernel does not provide a usable symlink API.
(cherry picked from commit 2d18bd1777b8d18a3b855685928dcdafcbe609b8)
Based on Chris Wing's analysis which stated in part:
GFP_NOFS tells the allocator not to recurse back into the filesystem if it's
necessary to free up memory. However, vmalloc() does not have such an
option. Therefore, calling osi_Alloc() to request more than a page of
memory may end up recursing back into AFS to try to free unused inodes or
dentries.
In this case, what happened was that osi_Alloc() is called within an
AFS_GLOCK(); osi_Alloc() calls vmalloc() which tries to free dentry objects,
which then calls back into the AFS module. Unfortunately, AFS_GLOCK() is
already held and we deadlock.
(cherry picked from commit 9943fe1fd71fc29331dcac7cd6a51bd37f307876)
The afskfw library contains an unprotected call to krb5_free_context
which can result in krb5_free_context being called with a NULL pointer.
MIT's Kerberos libraries do not check that the pointer is non-NULL and
will attempt to use it as a valid pointer which will in turn result
in an invalid memory access error.
This library is used by afslogon.dll which is loaded by winlogon.exe.
If the krb5 profile is invalid, the krb5_init_context call will fail
to allocate a krb5_context structure which can then result in
krb5_free_context being called with a NULL pointer.
An unhandled exception within winlogon.exe will cause a blue screen event
on Windows 2000, XP and 2003.
(cherry picked from commit 85a23a70c783364e039f2a1b402ba718c1fc34a5)
fix afsrpc.def add_to_error_table
====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
remove afs_krb_get_lrealm from afsauthent.dll it conflicts with libutil.lib
(cherry picked from commit 0ff92e9a5bd939cb3488ca64ce01b37bd4d7f79e)
FIXES 55234
The "fs checkservers" command when not being used to change the check
interval should not require admin privilege.
(cherry picked from commit e4d3681e3d9ba58c315f39d3852833b11811474c)
find lana by name is used by the afs control panel to populate the
lana list box. don't use the function to find by name. just use
it to generate the list of all lana names.
(cherry picked from commit 561f8b742fceeed10e6f3d9639c96efb085ad2a9)