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 for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 8 May 2009 17:54:34 -0400
From:	Marc Dionne <marc.c.dionne@...il.com>
To:	linux-kernel@...r.kernel.org, sukadev@...ux.vnet.ibm.com
Subject: Regression in 2.6.30 - /dev/pts - mount options - bisected

I ran into a regression from 2.6.29 to 2.6.30 on a newly installed
fedora 11 machine.  The symptom is that things that require /dev/pts
(gnome-terminal, konsole, xterm, etc.) don't work for a regular user,
but run fine as root.  Everything is fine with the fedora 2.6.29
kernel or with a self-compiled 2.6.29, but fail with a recent
2.6.30-rc.

Bisection pinpoints this commit:
http://git.kernel.org/linus/1bd7903560f1f713e85188a5aaf4d2428b6c8b50
as the culprit, although I think that's a bit misleading.

The commit moves code around, and along the way replaces this:

  memcpy(&fsi->mount_opts, opts, sizeof(opts))

in one function where opts is a (struct pts_mount_opts *) - 8 bytes,
clearly an error, with

  memcpy(&(DEVPTS_SB(s))->mount_opts, &opts, sizeof(opts));

in a different function where opts is an actual structure (24 bytes),
which looks like what was intended.  So fixing the copy of the mount
options triggers the problem, and the real cause is probably
neighbouring commits in the same patch set.  I confirmed that using
sizeof(&opts) in the above memcpy makes the problem go away (but is
obviously not a solution).

Note that I have CONFIG_DEVPTS_MULTIPLE_INSTANCES=y.  It may be that
user space is doing something unusual, but it passes the test of
"works with 2.6.29, fails with 2.6.30".

I wasn't able to reproduce on an other system with a similar configuration.

Marc
--
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