<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/char, branch mybooklive</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/char?h=mybooklive</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/char?h=mybooklive'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-08-13T21:29:15Z</updated>
<entry>
<title>gpl-source-mybooklive-010203-update.zip</title>
<updated>2014-08-13T21:29:15Z</updated>
<author>
<name>David Barksdale</name>
<email>amatus@amatus.name</email>
</author>
<published>2014-08-13T21:29:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=205ac4d83fc388c1e2d0bb590a2a36e9a4c2fd78'/>
<id>urn:sha1:205ac4d83fc388c1e2d0bb590a2a36e9a4c2fd78</id>
<content type='text'>
</content>
</entry>
<entry>
<title>gpl-source-mybooklive-010002-update.zip</title>
<updated>2014-08-13T21:14:13Z</updated>
<author>
<name>David Barksdale</name>
<email>amatus@amatus.name</email>
</author>
<published>2014-08-13T21:14:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ace6c6d243016e272050787c14e27a83ecd94a25'/>
<id>urn:sha1:ace6c6d243016e272050787c14e27a83ecd94a25</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tty: Keep the default buffering to sub-page units</title>
<updated>2010-04-01T22:58:30Z</updated>
<author>
<name>Alan Cox</name>
<email>alan@linux.intel.com</email>
</author>
<published>2010-02-18T16:43:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d560f99c9aafb9ebe1911541cf30d909819564eb'/>
<id>urn:sha1:d560f99c9aafb9ebe1911541cf30d909819564eb</id>
<content type='text'>
commit d9661adfb8e53a7647360140af3b92284cbe52d4 upstream.

We allocate during interrupts so while our buffering is normally diced up
small anyway on some hardware at speed we can pressure the VM excessively
for page pairs. We don't really need big buffers to be linear so don't try
so hard.

In order to make this work well we will tidy up excess callers to request_room,
which cannot itself enforce this break up.

Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>tty: Fix the ldisc hangup race</title>
<updated>2010-03-15T15:49:54Z</updated>
<author>
<name>Alan Cox</name>
<email>alan@linux.intel.com</email>
</author>
<published>2010-02-08T10:09:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=25262221921cdf3a8c7dbf3ea6a08c816fb8a222'/>
<id>urn:sha1:25262221921cdf3a8c7dbf3ea6a08c816fb8a222</id>
<content type='text'>
commit 638b9648ab51c9c549ff5735d3de519ef6199df3 upstream.

This was noticed by Matthias Urlichs and he proposed a fix. This patch
does the fixing a different way to avoid introducing several new race
conditions into the code.

The problem case is TTY_DRIVER_RESET_TERMIOS = 0. In that case while we
abort the ldisc change, the hangup processing has not cleaned up and restarted
the ldisc either.

We can't restart the ldisc stuff in the set_ldisc as we don't know what
the hangup did and may touch stuff we shouldn't as we are no longer
supposed to influence the tty at that point in case it has been re-opened
before we get rescheduled.

Instead do it the simple way. Always re-init the ldisc on the hangup, but
use TTY_DRIVER_RESET_TERMIOS to indicate that we should force N_TTY.

Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>tpm_tis: TPM_STS_DATA_EXPECT workaround</title>
<updated>2010-03-15T15:49:42Z</updated>
<author>
<name>Rajiv Andrade</name>
<email>srajiv@linux.vnet.ibm.com</email>
</author>
<published>2009-09-10T20:09:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c58f49beb5837d0216adb291e3b073bf9ffcc6b7'/>
<id>urn:sha1:c58f49beb5837d0216adb291e3b073bf9ffcc6b7</id>
<content type='text'>
commit 3507d612366a4e81226295f646410130a1f62a5c upstream.

Some newer Lenovo models are shipped with a TPM that doesn't seem to set the TPM_STS_DATA_EXPECT status bit
when sending it a burst of data, so the code understands it as a failure and doesn't proceed sending the chip
the intended data. In this patch we bypass this bit check in case the itpm module parameter was set.

This patch is based on Andy Isaacson's one:

http://marc.info/?l=linux-kernel&amp;m=124650185023495&amp;w=2

It was heavily discussed how should we deal with identifying the chip in kernel space, but the required
patch to do so was NACK'd:

http://marc.info/?l=linux-kernel&amp;m=124650186423711&amp;w=2

This way we let the user choose using this workaround or not based on his
observations on this code behavior when trying to use the TPM.

Fixed a checkpatch issue present on the previous patch, thanks to Daniel Walker.

Signed-off-by: Rajiv Andrade &lt;srajiv@linux.vnet.ibm.com&gt;
Acked-by: Eric Paris &lt;eparis@redhat.com&gt;
Tested-by: Seiji Munetoh &lt;seiji.munetoh@gmail.com&gt;
Signed-off-by: James Morris &lt;jmorris@namei.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>devmem: fix kmem write bug on memory holes</title>
<updated>2010-02-23T15:37:54Z</updated>
<author>
<name>Wu Fengguang</name>
<email>fengguang.wu@intel.com</email>
</author>
<published>2010-02-05T20:02:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=483d7142396f0d8b8f8748a4069b71c13ca662e5'/>
<id>urn:sha1:483d7142396f0d8b8f8748a4069b71c13ca662e5</id>
<content type='text'>
commit c85e9a97c4102ce2e83112da850d838cfab5ab13 upstream

devmem: fix kmem write bug on memory holes

[ cebbert@redhat.com : backport to 2.6.32 ]

write_kmem() used to assume vwrite() always return the full buffer length.
However now vwrite() could return 0 to indicate memory hole.  This
creates a bug that "buf" is not advanced accordingly.

Fix it to simply ignore the return value, hence the memory hole.

Signed-off-by: Wu Fengguang &lt;fengguang.wu@intel.com&gt;
Cc: Andi Kleen &lt;andi@firstfloor.org&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Christoph Lameter &lt;cl@linux-foundation.org&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Tejun Heo &lt;tj@kernel.org&gt;
Cc: Nick Piggin &lt;npiggin@suse.de&gt;
Cc: KAMEZAWA Hiroyuki &lt;kamezawa.hiroyu@jp.fujitsu.com&gt;
Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Chuck Ebbert &lt;cebbert@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>devmem: check vmalloc address on kmem read/write</title>
<updated>2010-02-23T15:37:54Z</updated>
<author>
<name>KAMEZAWA Hiroyuki</name>
<email>kamezawa.hiroyu@jp.fujitsu.com</email>
</author>
<published>2010-02-05T20:01:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6b344d83ca458327faa0e1f6afd45c39cceab2a6'/>
<id>urn:sha1:6b344d83ca458327faa0e1f6afd45c39cceab2a6</id>
<content type='text'>
commit 325fda71d0badc1073dc59f12a948f24ff05796a

[ cebbert@redhat.com : backport to 2.6.32 ]

devmem: check vmalloc address on kmem read/write

Otherwise vmalloc_to_page() will BUG().

This also makes the kmem read/write implementation aligned with mem(4):
"References to nonexistent locations cause errors to be returned." Here we
return -ENXIO (inspired by Hugh) if no bytes have been transfered to/from
user space, otherwise return partial read/write results.

Signed-off-by: KAMEZAWA Hiroyuki &lt;kamezawa.hiroyu@jp.fujitsu.com&gt;
Signed-off-by: Wu Fengguang &lt;fengguang.wu@intel.com&gt;
Cc: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
Cc: Hugh Dickins &lt;hugh.dickins@tiscali.co.uk&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Chuck Ebbert &lt;cebbert@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>/dev/mem: introduce size_inside_page()</title>
<updated>2010-02-23T15:37:54Z</updated>
<author>
<name>Wu Fengguang</name>
<email>fengguang.wu@intel.com</email>
</author>
<published>2010-02-05T20:00:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0e1104ada32d242bc6169a2ce4eb19ec4febb813'/>
<id>urn:sha1:0e1104ada32d242bc6169a2ce4eb19ec4febb813</id>
<content type='text'>
commit f222318e9c3a315723e3524fb9d6566b2430db44 upstream

/dev/mem: introduce size_inside_page()

[ cebbert@redhat.com : backport to 2.6.32 ]
[ subset of original patch, for just /dev/kmem ]

Introduce size_inside_page() to replace duplicate /dev/mem code.

Also apply it to /dev/kmem, whose alignment logic was buggy.

Signed-off-by: Wu Fengguang &lt;fengguang.wu@intel.com&gt;
Acked-by: Andi Kleen &lt;ak@linux.intel.com&gt;
Cc: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Cc: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
Cc: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Cc: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Cc: Avi Kivity &lt;avi@qumranet.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Chuck Ebbert &lt;cebbert@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>tpm_infineon: fix suspend/resume handler for pnp_driver</title>
<updated>2010-02-23T15:37:52Z</updated>
<author>
<name>Marcel Selhorst</name>
<email>m.selhorst@sirrix.com</email>
</author>
<published>2010-02-10T21:56:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=00510c8f39d7b3501cc7ec79b677186ffbc7ca7e'/>
<id>urn:sha1:00510c8f39d7b3501cc7ec79b677186ffbc7ca7e</id>
<content type='text'>
commit 93716b9470fbfd9efdc7d0f2445cb34635de3f6d upstream.

When suspending, tpm_infineon calls the generic suspend function of the
TPM framework.  However, the TPM framework does not return and the system
hangs upon suspend.  When sending the necessary command "TPM_SaveState"
directly within the driver, suspending and resuming works fine.

Signed-off-by: Marcel Selhorst &lt;m.selhorst@sirrix.com&gt;
Cc: OGAWA Hirofumi &lt;hirofumi@mail.parknet.co.jp&gt;
Cc: Debora Velarde &lt;debora@linux.vnet.ibm.com&gt;
Cc: Rajiv Andrade &lt;srajiv@linux.vnet.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>Fix race in tty_fasync() properly</title>
<updated>2010-02-23T15:37:44Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2010-02-07T18:11:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3520341ce308afaf676c961e8432ff5c87d3121b'/>
<id>urn:sha1:3520341ce308afaf676c961e8432ff5c87d3121b</id>
<content type='text'>
commit 80e1e823989ec44d8e35bdfddadbddcffec90424 upstream.

This reverts commit 703625118069 ("tty: fix race in tty_fasync") and
commit b04da8bfdfbb ("fnctl: f_modown should call write_lock_irqsave/
restore") that tried to fix up some of the fallout but was incomplete.

It turns out that we really cannot hold 'tty-&gt;ctrl_lock' over calling
__f_setown, because not only did that cause problems with interrupt
disables (which the second commit fixed), it also causes a potential
ABBA deadlock due to lock ordering.

Thanks to Tetsuo Handa for following up on the issue, and running
lockdep to show the problem.  It goes roughly like this:

 - f_getown gets filp-&gt;f_owner.lock for reading without interrupts
   disabled, so an interrupt that happens while that lock is held can
   cause a lockdep chain from f_owner.lock -&gt; sighand-&gt;siglock.

 - at the same time, the tty-&gt;ctrl_lock -&gt; f_owner.lock chain that
   commit 703625118069 introduced, together with the pre-existing
   sighand-&gt;siglock -&gt; tty-&gt;ctrl_lock chain means that we have a lock
   dependency the other way too.

So instead of extending tty-&gt;ctrl_lock over the whole __f_setown() call,
we now just take a reference to the 'pid' structure while holding the
lock, and then release it after having done the __f_setown.  That still
guarantees that 'struct pid' won't go away from under us, which is all
we really ever needed.

Reported-and-tested-by: Tetsuo Handa &lt;penguin-kernel@I-love.SAKURA.ne.jp&gt;
Acked-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
Acked-by: Américo Wang &lt;xiyou.wangcong@gmail.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
</feed>
