<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/misc, branch v3.14-rc5</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/misc?h=v3.14-rc5</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/misc?h=v3.14-rc5'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-02-18T18:07:36Z</updated>
<entry>
<title>mei: set client's read_cb to NULL when flow control fails</title>
<updated>2014-02-18T18:07:36Z</updated>
<author>
<name>Chao Bi</name>
<email>chao.bi@intel.com</email>
</author>
<published>2014-02-12T19:27:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=accb884b32e82f943340688c9cd30290531e73e0'/>
<id>urn:sha1: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>
</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:00Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-02-15T00:13:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bb0a05d7560084091032504ec3a574a00a110e52'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>Revert "misc: eeprom: sunxi: Add new compatibles"</title>
<updated>2014-02-14T19:16:08Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2014-02-14T19:16:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bf7471038840547c9328291b4d9d91c55581dcb8'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>drivers/misc/sgi-gru/grukdump.c: unlocking should be conditional in gru_dump_context()</title>
<updated>2014-02-11T00:01:39Z</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2014-02-10T22:25:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=49d3d6c37a322117b1eeb410a49165bb3d0441f7'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>misc: mic: fix possible signed underflow (undefined behavior) in userspace API</title>
<updated>2014-02-07T23:30:34Z</updated>
<author>
<name>Sudeep Dutt</name>
<email>sudeep.dutt@intel.com</email>
</author>
<published>2014-02-03T22:53:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3b1cc9b9622a022208ec95b1259b05bbdf712eb7'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>misc: eeprom: sunxi: Add new compatibles</title>
<updated>2014-02-07T23:30:34Z</updated>
<author>
<name>Maxime Ripard</name>
<email>maxime.ripard@free-electrons.com</email>
</author>
<published>2014-02-02T13:52:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f0de8e04a7201a2000f3c6d09732c11e7f35d42d'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>misc: genwqe: Fix potential memory leak when pinning memory</title>
<updated>2014-02-07T23:24:31Z</updated>
<author>
<name>Christian Engelmayer</name>
<email>cengelma@gmx.at</email>
</author>
<published>2014-01-25T21:47:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d913c7439add288b50752186b306634df2ae21e7'/>
<id>urn:sha1:d913c7439add288b50752186b306634df2ae21e7</id>
<content type='text'>
Fix a memory leak in the genwqe_pin_mem() error path as called by
ioctl GENWQE_PIN_MEM. In case there is an error encountered when
mapping memory, the already allocated dma_mapping struct needs to
be freed correctly.

Detected by Coverity: CID 1162606.

Signed-off-by: Christian Engelmayer &lt;cengelma@gmx.at&gt;
Acked-by: Frank Haverkamp &lt;haver@linux.vnet.ibm.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>mei: don't unset read cb ptr on reset</title>
<updated>2014-02-07T16:16:14Z</updated>
<author>
<name>Alexander Usyskin</name>
<email>alexander.usyskin@intel.com</email>
</author>
<published>2014-01-27T20:27:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5cb906c7035f03a3a44fecece9d3ff8fcc75d6e0'/>
<id>urn:sha1:5cb906c7035f03a3a44fecece9d3ff8fcc75d6e0</id>
<content type='text'>
Don't set read callback to NULL during reset as
this leads to memory leak of both cb and its buffer.
The memory is correctly freed during mei_release.

The memory leak is detectable by kmemleak if
application has open read call while system is going through
suspend/resume.

unreferenced object 0xecead780 (size 64):
  comm "AsyncTask #1", pid 1018, jiffies 4294949621 (age 152.440s)
  hex dump (first 32 bytes):
    00 01 10 00 00 02 20 00 00 bf 30 f1 00 00 00 00  ...... ...0.....
    00 00 00 00 00 00 00 00 36 01 00 00 00 70 da e2  ........6....p..
  backtrace:
    [&lt;c1a60aec&gt;] kmemleak_alloc+0x3c/0xa0
    [&lt;c131ed56&gt;] kmem_cache_alloc_trace+0xc6/0x190
    [&lt;c16243c9&gt;] mei_io_cb_init+0x29/0x50
    [&lt;c1625722&gt;] mei_cl_read_start+0x102/0x360
    [&lt;c16268f3&gt;] mei_read+0x103/0x4e0
    [&lt;c1324b09&gt;] vfs_read+0x89/0x160
    [&lt;c1324d5f&gt;] SyS_read+0x4f/0x80
    [&lt;c1a7b318&gt;] syscall_call+0x7/0xb
    [&lt;ffffffff&gt;] 0xffffffff
unreferenced object 0xe2da7000 (size 512):
  comm "AsyncTask #1", pid 1018, jiffies 4294949621 (age 152.440s)
  hex dump (first 32 bytes):
    00 6c da e2 7c 00 00 00 00 00 00 00 c0 eb 0c 59  .l..|..........Y
    1b 00 00 00 01 00 00 00 02 10 00 00 01 00 00 00  ................
  backtrace:
    [&lt;c1a60aec&gt;] kmemleak_alloc+0x3c/0xa0
    [&lt;c131f127&gt;] __kmalloc+0xe7/0x1d0
    [&lt;c162447e&gt;] mei_io_cb_alloc_resp_buf+0x2e/0x60
    [&lt;c162574c&gt;] mei_cl_read_start+0x12c/0x360
    [&lt;c16268f3&gt;] mei_read+0x103/0x4e0
    [&lt;c1324b09&gt;] vfs_read+0x89/0x160
    [&lt;c1324d5f&gt;] SyS_read+0x4f/0x80
    [&lt;c1a7b318&gt;] syscall_call+0x7/0xb
    [&lt;ffffffff&gt;] 0xffffffff

Signed-off-by: Alexander Usyskin &lt;alexander.usyskin@intel.com&gt;
Signed-off-by: Tomas Winkler &lt;tomas.winkler@intel.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>mei: clear write cb from waiting list on reset</title>
<updated>2014-02-07T16:16:14Z</updated>
<author>
<name>Alexander Usyskin</name>
<email>alexander.usyskin@intel.com</email>
</author>
<published>2014-01-27T20:27:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=30c54df7cb9b15b222529a028390b9c9582dd65e'/>
<id>urn:sha1:30c54df7cb9b15b222529a028390b9c9582dd65e</id>
<content type='text'>
Clear write callbacks sitting in write_waiting list on reset.
Otherwise these callbacks are left dangling and cause memory leak.

Signed-off-by: Alexander Usyskin &lt;alexander.usyskin@intel.com&gt;
Signed-off-by: Tomas Winkler &lt;tomas.winkler@intel.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging</title>
<updated>2014-01-30T02:56:27Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-01-30T02:56:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9076e0cae70c5d6ddb9a0284a20885b2b8814416'/>
<id>urn:sha1:9076e0cae70c5d6ddb9a0284a20885b2b8814416</id>
<content type='text'>
Pull hwmon updates from Jean Delvare:
 "This include it87 driver improvements, and a tree-wide change of my
  e-mail address"

* 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
  Update Jean Delvare's e-mail address
  hwmon: (it87) Print proper names for the IT8771E and IT8772E
  hwmon: (it87) Add support for the ITE IT8603E
</content>
</entry>
</feed>
