lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 10 Apr 2007 12:03:15 -0400
From:	Ming Zhang <blackmagic02881@...il.com>
To:	"John Anthony Kazos Jr." <jakj@...-k-j.com>
Cc:	Dave Kleikamp <shaggy@...ux.vnet.ibm.com>,
	linux-ext4@...r.kernel.org
Subject: Re: (un)lock_kernel() ?

On Wed, 2007-04-04 at 12:52 -0400, John Anthony Kazos Jr. wrote:
> > According to Documentation/filesystems/Locking, ->get_sb() is called
> > with the BKL held, but looking through the code, I'm not able to find
> > where it is being taken.
> 
> I noticed that too. Unless I'm just dumb and can't see it, I'm not able to 
> find any BKL references during filesystem mounting until you get into 
> FS-specific code. I looked through everything from sys_mount through to 
> vfs_kern_mount. Documentation/filesystems/porting talks about several 
> situations where the VFS code was modified to not take the BKL, and BLK 
> calls were added by FS non-maintainers for safety until each FS could be 
> audited independently, but that wouldn't be the case, would it?


sys_mount->do_mount->do_new_mount->do_kern_mount path

part of sys_mount()

1570                 goto out3;
1571 
1572         lock_kernel();
1573         retval = do_mount((char *)dev_page, dir_page, (char *)type_page,
1574                           flags, (void *)data_page);
1575         unlock_kernel();
1576         free_page(data_page);
1577 
1578 out3:
1579         free_page(dev_page)

;
> 
> The ext2 code takes the BKL in three places: ext2_update_inode, 
> write_super, and ext2_compat_ioctl. Starting with ext3, it's in 
> ext3_compat_ioctl and ext3_fill_super, and the same with ext4.
> 
> I suppose the BKL does have to be held, somehow, somewhere, during 
> mounting, or anybody using ext3 on a multiprocessor box would lock their 
> system from unmatched locking calls. Unless the first unlock_kernel() 
> would make the count -1 and the lock would bring it back to zero?
> -
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ