Greetings!
1. OOPS in linux-2.2.13/include/linux/quotaops.h:98
2. File linux-2.2.13/include/linux/quotaops.h, line 98 appears to be buggy
(dereferncing NULL). As result, call to DQUOT_TRANSFER with CONFIG_QUOTA
enabled produces OOPS for some types of files (which have no superblock).
3. DISKQUOTA
6. Example program:
#include <sys/socket.h>
#include <unistd.h>
int main( void )
{
int fd = socket( AF_INET, SOCK_STREAM, 0 );
if ( fd >= 0 )
fchown( fd, -1, -1 );
return 0;
}
8. Patch:
- --- linux-2.2.13-orig/include/linux/quotaops.h Wed Oct 20 04:14:02 1999
+++ linux-2.2.13/include/linux/quotaops.h Wed Nov 17 12:23:12 1999
@@ -98,7 +98,7 @@
{
int error = -EDQUOT;
- - if (dentry->d_inode->i_sb->dq_op) {
+ if (dentry->d_inode->i_sb && dentry->d_inode->i_sb->dq_op) {
dentry->d_inode->i_sb->dq_op->initialize(dentry->d_inode, -1);
error = dentry->d_inode->i_sb->dq_op->transfer(dentry, iattr, current->fsuid);
} else {
Regards,
Dmitry
+-------------------------------------------------------------------------+
Dmitry V. Levin mailto://ldv@fandra.org Software Engineer PGP pubkey
http://www.fandra.org/users/ldv/pgpkeys.html Fandra Project
http://www.fandra.org
+-------------------------------------------------------------------------+
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.0 (GNU/Linux)
Comment: For info see http://www.gnupg.org
iD8DBQE4MohvZqIoNiVITrsRAgBnAKDS8ypvla5WqU+L4olurNLNJ2OYRwCgvsK5
gaf/7BnOpBQsXZkLUPvfatA=
=57JF
-----END PGP SIGNATURE-----
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/