<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/misc, branch v3.14.3</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>mei: ignore client writing state during cb completion</title>
<updated>2014-05-06T14:59:25+00:00</updated>
<author>
<name>Alexander Usyskin</name>
<email>alexander.usyskin@intel.com</email>
</author>
<published>2014-04-01T20:50:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=360fec6392d511b059562ac629b600fadc3cd77b'/>
<id>360fec6392d511b059562ac629b600fadc3cd77b</id>
<content type='text'>
commit 34ec43661fe8f1977dd0f05353302ae2ed10aabb upstream.

Ignore client writing state during cb completion to fix a memory
leak.

When moving cbs to the completion list we should not look at
writing_state as this state can be already overwritten by next
write, the fact that a cb is on the write waiting list means
that it was already written to the HW and we can safely complete it.

Same pays for wait in poll handler, we do not have to check the state
wake is done after completion list processing.

Signed-off-by: Alexander Usyskin &lt;alexander.usyskin@intel.com&gt;
Signed-off-by: Tomas Winkler &lt;tomas.winkler@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 34ec43661fe8f1977dd0f05353302ae2ed10aabb upstream.

Ignore client writing state during cb completion to fix a memory
leak.

When moving cbs to the completion list we should not look at
writing_state as this state can be already overwritten by next
write, the fact that a cb is on the write waiting list means
that it was already written to the HW and we can safely complete it.

Same pays for wait in poll handler, we do not have to check the state
wake is done after completion list processing.

Signed-off-by: Alexander Usyskin &lt;alexander.usyskin@intel.com&gt;
Signed-off-by: Tomas Winkler &lt;tomas.winkler@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>mei: me: do not load the driver if the FW doesn't support MEI interface</title>
<updated>2014-05-06T14:59:25+00:00</updated>
<author>
<name>Tomas Winkler</name>
<email>tomas.winkler@intel.com</email>
</author>
<published>2014-03-25T19:25:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5716684805259aec90a6dc3d6b28340826d1e2ad'/>
<id>5716684805259aec90a6dc3d6b28340826d1e2ad</id>
<content type='text'>
commit 5e6533a6f52f1a8283b2f818f5828be99a417dd6 upstream.

NM and SPS  FW types that may run on ME device on server platforms
do not have valid MEI/HECI interface and driver should not
be bound to it as this might lead to system hung.
In practice not all BIOSes effectively hide such devices from the
OS and in some cases it is not possible.

We determine FW type by examining Host FW status registers in order to
unbind the driver.
In this patch we are adding check for ME on Cougar Point, Lynx Point
Devices

Signed-off-by: Tomas Winkler &lt;tomas.winkler@intel.com&gt;
Tested-by: Nikola Ciprich &lt;nikola.ciprich@linuxbox.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 5e6533a6f52f1a8283b2f818f5828be99a417dd6 upstream.

NM and SPS  FW types that may run on ME device on server platforms
do not have valid MEI/HECI interface and driver should not
be bound to it as this might lead to system hung.
In practice not all BIOSes effectively hide such devices from the
OS and in some cases it is not possible.

We determine FW type by examining Host FW status registers in order to
unbind the driver.
In this patch we are adding check for ME on Cougar Point, Lynx Point
Devices

Signed-off-by: Tomas Winkler &lt;tomas.winkler@intel.com&gt;
Tested-by: Nikola Ciprich &lt;nikola.ciprich@linuxbox.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>mei: fix memory leak of pending write cb objects</title>
<updated>2014-05-06T14:59:24+00:00</updated>
<author>
<name>Tomas Winkler</name>
<email>tomas.winkler@intel.com</email>
</author>
<published>2014-03-10T13:10:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=331e449e92ba18f9f9f39f6e8776d3cd4d999146'/>
<id>331e449e92ba18f9f9f39f6e8776d3cd4d999146</id>
<content type='text'>
commit cc99ecfdac01215594c73907726b12f251c21e20 upstream.

Write callbacks are released on the write completed path but
when file handler is closed before the writes are
completed those are left dangling on write and write_waiting queues.

We add mei_io_list_free function to perform this task

Also move static functions to client.c form client.h

Signed-off-by: Tomas Winkler &lt;tomas.winkler@intel.com&gt;
Signed-off-by: Alexander Usyskin &lt;alexander.usyskin@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit cc99ecfdac01215594c73907726b12f251c21e20 upstream.

Write callbacks are released on the write completed path but
when file handler is closed before the writes are
completed those are left dangling on write and write_waiting queues.

We add mei_io_list_free function to perform this task

Also move static functions to client.c form client.h

Signed-off-by: Tomas Winkler &lt;tomas.winkler@intel.com&gt;
Signed-off-by: Alexander Usyskin &lt;alexander.usyskin@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>mm: fix GFP_THISNODE callers and clarify</title>
<updated>2014-03-11T00:26:19+00:00</updated>
<author>
<name>Johannes Weiner</name>
<email>hannes@cmpxchg.org</email>
</author>
<published>2014-03-10T22:49:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e97ca8e5b864f88b028c1759ba8536fa827d6d96'/>
<id>e97ca8e5b864f88b028c1759ba8536fa827d6d96</id>
<content type='text'>
GFP_THISNODE is for callers that implement their own clever fallback to
remote nodes.  It restricts the allocation to the specified node and
does not invoke reclaim, assuming that the caller will take care of it
when the fallback fails, e.g.  through a subsequent allocation request
without GFP_THISNODE set.

However, many current GFP_THISNODE users only want the node exclusive
aspect of the flag, without actually implementing their own fallback or
triggering reclaim if necessary.  This results in things like page
migration failing prematurely even when there is easily reclaimable
memory available, unless kswapd happens to be running already or a
concurrent allocation attempt triggers the necessary reclaim.

Convert all callsites that don't implement their own fallback strategy
to __GFP_THISNODE.  This restricts the allocation a single node too, but
at the same time allows the allocator to enter the slowpath, wake
kswapd, and invoke direct reclaim if necessary, to make the allocation
happen when memory is full.

Signed-off-by: Johannes Weiner &lt;hannes@cmpxchg.org&gt;
Acked-by: Rik van Riel &lt;riel@redhat.com&gt;
Cc: Jan Stancek &lt;jstancek@redhat.com&gt;
Cc: Mel Gorman &lt;mgorman@suse.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
GFP_THISNODE is for callers that implement their own clever fallback to
remote nodes.  It restricts the allocation to the specified node and
does not invoke reclaim, assuming that the caller will take care of it
when the fallback fails, e.g.  through a subsequent allocation request
without GFP_THISNODE set.

However, many current GFP_THISNODE users only want the node exclusive
aspect of the flag, without actually implementing their own fallback or
triggering reclaim if necessary.  This results in things like page
migration failing prematurely even when there is easily reclaimable
memory available, unless kswapd happens to be running already or a
concurrent allocation attempt triggers the necessary reclaim.

Convert all callsites that don't implement their own fallback strategy
to __GFP_THISNODE.  This restricts the allocation a single node too, but
at the same time allows the allocator to enter the slowpath, wake
kswapd, and invoke direct reclaim if necessary, to make the allocation
happen when memory is full.

Signed-off-by: Johannes Weiner &lt;hannes@cmpxchg.org&gt;
Acked-by: Rik van Riel &lt;riel@redhat.com&gt;
Cc: Jan Stancek &lt;jstancek@redhat.com&gt;
Cc: Mel Gorman &lt;mgorman@suse.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mei: set client's read_cb to NULL when flow control fails</title>
<updated>2014-02-18T18:07:36+00:00</updated>
<author>
<name>Chao Bi</name>
<email>chao.bi@intel.com</email>
</author>
<published>2014-02-12T19:27:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=accb884b32e82f943340688c9cd30290531e73e0'/>
<id>accb884b32e82f943340688c9cd30290531e73e0</id>
<content type='text'>
In mei_cl_read_start(), if it fails to send flow control request, it
will release "cl-&gt;read_cb" but forget to set pointer to NULL, leaving
"cl-&gt;read_cb" still pointing to random memory, next time this client is
operated like mei_release(), it has chance to refer to this wrong pointer.

Fixes:  PANIC at kfree in mei_release()

[228781.826904] Call Trace:
[228781.829737]  [&lt;c16249b8&gt;] ? mei_cl_unlink+0x48/0xa0
[228781.835283]  [&lt;c1624487&gt;] mei_io_cb_free+0x17/0x30
[228781.840733]  [&lt;c16265d8&gt;] mei_release+0xa8/0x180
[228781.845989]  [&lt;c135c610&gt;] ? __fsnotify_parent+0xa0/0xf0
[228781.851925]  [&lt;c1325a69&gt;] __fput+0xd9/0x200
[228781.856696]  [&lt;c1325b9d&gt;] ____fput+0xd/0x10
[228781.861467]  [&lt;c125cae1&gt;] task_work_run+0x81/0xb0
[228781.866821]  [&lt;c1242e53&gt;] do_exit+0x283/0xa00
[228781.871786]  [&lt;c1a82b36&gt;] ? kprobe_flush_task+0x66/0xc0
[228781.877722]  [&lt;c124eeb8&gt;] ? __dequeue_signal+0x18/0x1a0
[228781.883657]  [&lt;c124f072&gt;] ? dequeue_signal+0x32/0x190
[228781.889397]  [&lt;c1243744&gt;] do_group_exit+0x34/0xa0
[228781.894750]  [&lt;c12517b6&gt;] get_signal_to_deliver+0x206/0x610
[228781.901075]  [&lt;c12018d8&gt;] do_signal+0x38/0x100
[228781.906136]  [&lt;c1626d1c&gt;] ? mei_read+0x42c/0x4e0
[228781.911393]  [&lt;c12600a0&gt;] ? wake_up_bit+0x30/0x30
[228781.916745]  [&lt;c16268f0&gt;] ? mei_poll+0x120/0x120
[228781.922001]  [&lt;c1324be9&gt;] ? vfs_read+0x89/0x160
[228781.927158]  [&lt;c16268f0&gt;] ? mei_poll+0x120/0x120
[228781.932414]  [&lt;c133ca34&gt;] ? fget_light+0x44/0xe0
[228781.937670]  [&lt;c1324e58&gt;] ? SyS_read+0x68/0x80
[228781.942730]  [&lt;c12019f5&gt;] do_notify_resume+0x55/0x70
[228781.948376]  [&lt;c1a7de5d&gt;] work_notifysig+0x29/0x30
[228781.953827]  [&lt;c1a70000&gt;] ? bad_area+0x5/0x3e

Cc: stable &lt;stable@vger.kernel.org&gt; # 3.9+
Signed-off-by: Chao Bi &lt;chao.bi@intel.com&gt;
Signed-off-by: Tomas Winkler &lt;tomas.winkler@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In mei_cl_read_start(), if it fails to send flow control request, it
will release "cl-&gt;read_cb" but forget to set pointer to NULL, leaving
"cl-&gt;read_cb" still pointing to random memory, next time this client is
operated like mei_release(), it has chance to refer to this wrong pointer.

Fixes:  PANIC at kfree in mei_release()

[228781.826904] Call Trace:
[228781.829737]  [&lt;c16249b8&gt;] ? mei_cl_unlink+0x48/0xa0
[228781.835283]  [&lt;c1624487&gt;] mei_io_cb_free+0x17/0x30
[228781.840733]  [&lt;c16265d8&gt;] mei_release+0xa8/0x180
[228781.845989]  [&lt;c135c610&gt;] ? __fsnotify_parent+0xa0/0xf0
[228781.851925]  [&lt;c1325a69&gt;] __fput+0xd9/0x200
[228781.856696]  [&lt;c1325b9d&gt;] ____fput+0xd/0x10
[228781.861467]  [&lt;c125cae1&gt;] task_work_run+0x81/0xb0
[228781.866821]  [&lt;c1242e53&gt;] do_exit+0x283/0xa00
[228781.871786]  [&lt;c1a82b36&gt;] ? kprobe_flush_task+0x66/0xc0
[228781.877722]  [&lt;c124eeb8&gt;] ? __dequeue_signal+0x18/0x1a0
[228781.883657]  [&lt;c124f072&gt;] ? dequeue_signal+0x32/0x190
[228781.889397]  [&lt;c1243744&gt;] do_group_exit+0x34/0xa0
[228781.894750]  [&lt;c12517b6&gt;] get_signal_to_deliver+0x206/0x610
[228781.901075]  [&lt;c12018d8&gt;] do_signal+0x38/0x100
[228781.906136]  [&lt;c1626d1c&gt;] ? mei_read+0x42c/0x4e0
[228781.911393]  [&lt;c12600a0&gt;] ? wake_up_bit+0x30/0x30
[228781.916745]  [&lt;c16268f0&gt;] ? mei_poll+0x120/0x120
[228781.922001]  [&lt;c1324be9&gt;] ? vfs_read+0x89/0x160
[228781.927158]  [&lt;c16268f0&gt;] ? mei_poll+0x120/0x120
[228781.932414]  [&lt;c133ca34&gt;] ? fget_light+0x44/0xe0
[228781.937670]  [&lt;c1324e58&gt;] ? SyS_read+0x68/0x80
[228781.942730]  [&lt;c12019f5&gt;] do_notify_resume+0x55/0x70
[228781.948376]  [&lt;c1a7de5d&gt;] work_notifysig+0x29/0x30
[228781.953827]  [&lt;c1a70000&gt;] ? bad_area+0x5/0x3e

Cc: stable &lt;stable@vger.kernel.org&gt; # 3.9+
Signed-off-by: Chao Bi &lt;chao.bi@intel.com&gt;
Signed-off-by: Tomas Winkler &lt;tomas.winkler@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'char-misc-3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc</title>
<updated>2014-02-15T00:13:00+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-02-15T00:13:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=bb0a05d7560084091032504ec3a574a00a110e52'/>
<id>bb0a05d7560084091032504ec3a574a00a110e52</id>
<content type='text'>
Pull char/misc fixes from Greg KH:
 "Here are some small char/misc driver fixes, along with some
  documentation updates, for 3.14-rc3.  Nothing major, just a number of
  fixes for reported issues"

* tag 'char-misc-3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
  Revert "misc: eeprom: sunxi: Add new compatibles"
  Revert "ARM: sunxi: dt: Convert to the new SID compatibles"
  misc: mic: fix possible signed underflow (undefined behavior) in userspace API
  ARM: sunxi: dt: Convert to the new SID compatibles
  misc: eeprom: sunxi: Add new compatibles
  misc: genwqe: Fix potential memory leak when pinning memory
  Documentation:Update Documentation/zh_CN/arm64/memory.txt
  Documentation:Update Documentation/zh_CN/arm64/booting.txt
  Documentation:Chinese translation of Documentation/arm64/tagged-pointers.txt
  raw: set range for MAX_RAW_DEVS
  raw: test against runtime value of max_raw_minors
  Drivers: hv: vmbus: Don't timeout during the initial connection with host
  Drivers: hv: vmbus: Specify the target CPU that should receive notification
  VME: Correct read/write alignment algorithm
  mei: don't unset read cb ptr on reset
  mei: clear write cb from waiting list on reset
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull char/misc fixes from Greg KH:
 "Here are some small char/misc driver fixes, along with some
  documentation updates, for 3.14-rc3.  Nothing major, just a number of
  fixes for reported issues"

* tag 'char-misc-3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
  Revert "misc: eeprom: sunxi: Add new compatibles"
  Revert "ARM: sunxi: dt: Convert to the new SID compatibles"
  misc: mic: fix possible signed underflow (undefined behavior) in userspace API
  ARM: sunxi: dt: Convert to the new SID compatibles
  misc: eeprom: sunxi: Add new compatibles
  misc: genwqe: Fix potential memory leak when pinning memory
  Documentation:Update Documentation/zh_CN/arm64/memory.txt
  Documentation:Update Documentation/zh_CN/arm64/booting.txt
  Documentation:Chinese translation of Documentation/arm64/tagged-pointers.txt
  raw: set range for MAX_RAW_DEVS
  raw: test against runtime value of max_raw_minors
  Drivers: hv: vmbus: Don't timeout during the initial connection with host
  Drivers: hv: vmbus: Specify the target CPU that should receive notification
  VME: Correct read/write alignment algorithm
  mei: don't unset read cb ptr on reset
  mei: clear write cb from waiting list on reset
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "misc: eeprom: sunxi: Add new compatibles"</title>
<updated>2014-02-14T19:16:08+00:00</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2014-02-14T19:16:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=bf7471038840547c9328291b4d9d91c55581dcb8'/>
<id>bf7471038840547c9328291b4d9d91c55581dcb8</id>
<content type='text'>
This reverts commit f0de8e04a7201a2000f3c6d09732c11e7f35d42d, it is
incorrect, a future patch will fix this up properly.

Cc: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit f0de8e04a7201a2000f3c6d09732c11e7f35d42d, it is
incorrect, a future patch will fix this up properly.

Cc: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drivers/misc/sgi-gru/grukdump.c: unlocking should be conditional in gru_dump_context()</title>
<updated>2014-02-11T00:01:39+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2014-02-10T22:25:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=49d3d6c37a322117b1eeb410a49165bb3d0441f7'/>
<id>49d3d6c37a322117b1eeb410a49165bb3d0441f7</id>
<content type='text'>
I was reviewing this and noticed that unlocking should be conditional on
the error path.  I've changed it to unlock and return directly since we
only do it once and it seems unlikely to change in the near future.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Acked-by: Dimitri Sivanich &lt;sivanich@sgi.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I was reviewing this and noticed that unlocking should be conditional on
the error path.  I've changed it to unlock and return directly since we
only do it once and it seems unlikely to change in the near future.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Acked-by: Dimitri Sivanich &lt;sivanich@sgi.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>misc: mic: fix possible signed underflow (undefined behavior) in userspace API</title>
<updated>2014-02-07T23:30:34+00:00</updated>
<author>
<name>Sudeep Dutt</name>
<email>sudeep.dutt@intel.com</email>
</author>
<published>2014-02-03T22:53:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3b1cc9b9622a022208ec95b1259b05bbdf712eb7'/>
<id>3b1cc9b9622a022208ec95b1259b05bbdf712eb7</id>
<content type='text'>
iovcnt is declared as a signed integer in both the userspace API and
as a local variable in mic_virtio.c. The while() loop in mic_virtio.c
iterates until the local variable iovcnt reaches the value 0. If
userspace passes e.g. INT_MIN as iovcnt field, this loop then appears
to depend on an undefined behavior (signed underflow) to complete.
The fix is to use unsigned integers in both the userspace API and
the local variable.

This issue was reported @ https://lkml.org/lkml/2014/1/10/10

Reported-by: Mathieu Desnoyers &lt;mathieu.desnoyers@efficios.com&gt;
Reviewed-by: Ashutosh Dixit &lt;ashutosh.dixit@intel.com&gt;
Signed-off-by: Sudeep Dutt &lt;sudeep.dutt@intel.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
iovcnt is declared as a signed integer in both the userspace API and
as a local variable in mic_virtio.c. The while() loop in mic_virtio.c
iterates until the local variable iovcnt reaches the value 0. If
userspace passes e.g. INT_MIN as iovcnt field, this loop then appears
to depend on an undefined behavior (signed underflow) to complete.
The fix is to use unsigned integers in both the userspace API and
the local variable.

This issue was reported @ https://lkml.org/lkml/2014/1/10/10

Reported-by: Mathieu Desnoyers &lt;mathieu.desnoyers@efficios.com&gt;
Reviewed-by: Ashutosh Dixit &lt;ashutosh.dixit@intel.com&gt;
Signed-off-by: Sudeep Dutt &lt;sudeep.dutt@intel.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>misc: eeprom: sunxi: Add new compatibles</title>
<updated>2014-02-07T23:30:34+00:00</updated>
<author>
<name>Maxime Ripard</name>
<email>maxime.ripard@free-electrons.com</email>
</author>
<published>2014-02-02T13:52:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f0de8e04a7201a2000f3c6d09732c11e7f35d42d'/>
<id>f0de8e04a7201a2000f3c6d09732c11e7f35d42d</id>
<content type='text'>
The Allwinner A10 compatibles were following a slightly different compatible
patterns than the rest of the SoCs for historical reasons. Add compatibles
matching the other pattern to the SID driver for consistency, and keep the
older one for backward compatibility.

Signed-off-by: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The Allwinner A10 compatibles were following a slightly different compatible
patterns than the rest of the SoCs for historical reasons. Add compatibles
matching the other pattern to the SID driver for consistency, and keep the
older one for backward compatibility.

Signed-off-by: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
