PROBLEM: OOPS in linux-2.2.13/include/linux/quotaops.h:98

Dmitry V. Levin (ldv@fandra.org)
Wed, 17 Nov 1999 13:50:16 +0300 (MSK)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

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/