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]
Message-ID: <20120214190906.GA5115@fieldses.org>
Date:	Tue, 14 Feb 2012 14:09:06 -0500
From:	"J. Bruce Fields" <bfields@...ldses.org>
To:	Andrew Morton <akpm@...ux-foundation.org>
Cc:	dave@....org, Matthew Wilcox <matthew@....cx>,
	linux-fsdevel <linux-fsdevel@...r.kernel.org>,
	lkml <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] locks: export device name

On Mon, Feb 13, 2012 at 04:34:25PM -0800, Andrew Morton wrote:
> On Fri, 10 Feb 2012 22:06:07 +0100
> Davidlohr Bueso <dave@....org> wrote:
> 
> > From: Davidlohr Bueso <dave@....org>
> > 
> > The lslk(8) program has not been maintained for over a decade and has recently been rewritten as lslocks(8).
> > It will be available for the next 2.22 release, in a couple of months. This is a good opportunity to delete
> > that nasty WE_CAN_BREAK_LSLK_NOW and start exporting the device name instead of the maj:min numbers.
> > 
> > For backward compatibility the new version can be in charge of checking older kernel versions and parsing the old
> > output if necessary.
> > 
> > ...
> >
> > --- a/fs/locks.c
> > +++ b/fs/locks.c
> > @@ -2199,15 +2199,8 @@ static void lock_get_status(struct seq_file *f, struct file_lock *fl,
> >  			       : (fl->fl_type & F_WRLCK) ? "WRITE" : "READ ");
> >  	}
> >  	if (inode) {
> > -#ifdef WE_CAN_BREAK_LSLK_NOW
> >  		seq_printf(f, "%d %s:%ld ", fl_pid,
> >  				inode->i_sb->s_id, inode->i_ino);
> > -#else
> > -		/* userspace relies on this representation of dev_t ;-( */
> > -		seq_printf(f, "%d %02x:%02x:%ld ", fl_pid,
> > -				MAJOR(inode->i_sb->s_dev),
> > -				MINOR(inode->i_sb->s_dev), inode->i_ino);
> > -#endif
> >  	} else {
> >  		seq_printf(f, "%d <none>:0 ", fl_pid);
> >  	}
> 
> I don't get it.  This is an immediate and non-back-compatible change to
> the format of /proc/locks.  The only way this can avoid breaking things
> is if there are no programs or scripts in use by anyone which use
> this field.  What am I missing here?

I'm a little surprised anything parses that file.

But, yes, looks like I can "yum install" lslk on Fedora 16, as an
example.  Can't get it to do anything useful, though.  Does it actually
work on any recent distro?

Perhaps safest would be to replace /proc/locks by another interface and
deprecate this one.

--b.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ