<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/uio, branch v3.16</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/uio?h=v3.16</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/uio?h=v3.16'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-06-17T23:07:08Z</updated>
<entry>
<title>Revert "uio: fix vma io range check in mmap"</title>
<updated>2014-06-17T23:07:08Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2014-06-17T23:07:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b29f680c4fe305902d02c1d5aa4968fe13a45fe6'/>
<id>urn:sha1:b29f680c4fe305902d02c1d5aa4968fe13a45fe6</id>
<content type='text'>
This reverts commit ddb09754e6c7239e302c7b675df9bbd415f8de5d.

Linus objected to this originally, I can see why it might be needed, but
given that no one spoke up defending this patch, I'm going to revert it.

If you have hardware that requires this change, please speak up in the
future and defend the patch.

Reported-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Bin Wang &lt;binw@marvell.com&gt;
Cc: Nobuhiro Iwamatsu &lt;nobuhiro.iwamatsu.yj@renesas.com&gt;
Cc: Norbert Ciosek &lt;norbertciosek@gmail.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>uio: fix vma io range check in mmap</title>
<updated>2014-05-27T21:11:06Z</updated>
<author>
<name>Bin Wang</name>
<email>binw@marvell.com</email>
</author>
<published>2014-03-25T05:52:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ddb09754e6c7239e302c7b675df9bbd415f8de5d'/>
<id>urn:sha1:ddb09754e6c7239e302c7b675df9bbd415f8de5d</id>
<content type='text'>
the vma range size is always page size aligned in mmap, while the
real io space range may not be page aligned, thus leading to range
check failure in the uio_mmap_physical().

for example, in a case of io range size "mem-&gt;size == 1KB", and we
have (vma-&gt;vm_end - vma-&gt;vm_start) == 4KB, due to "len" is aligned
to page size in do_mmap_pgoff().

now fix this issue by align mem-&gt;size to page size in the check.

Signed-off-by: Bin Wang &lt;binw@marvell.com&gt;
Signed-off-by: Nobuhiro Iwamatsu &lt;nobuhiro.iwamatsu.yj@renesas.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>drivers: uio_dmem_genirq: Fix memory leak in uio_dmem_genirq_probe()</title>
<updated>2014-05-27T21:11:06Z</updated>
<author>
<name>Daeseok Youn</name>
<email>daeseok.youn@gmail.com</email>
</author>
<published>2014-05-22T00:46:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ca3c61f358d8e5a4b2732d6aa81ac46f677e69f0'/>
<id>urn:sha1:ca3c61f358d8e5a4b2732d6aa81ac46f677e69f0</id>
<content type='text'>
When platform_get_irq() is failed after "priv" allocated,
it need to free "priv". But the label of bad0 doesn't try
to free about "priv". So this patch changes that lable to "bad1".
But "bad1" has pm_runtime_disable() call, this function should
be called when uio_register_device() is failed. So it is moved
into handling error for uio_register_device().

Signed-off-by: Daeseok Youn &lt;daeseok.youn@gmail.com&gt;
Signed-off-by: Hans J. Koch &lt;hjk@hansjkoch.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>uio: fix devm_request_irq usage</title>
<updated>2013-12-20T16:49:17Z</updated>
<author>
<name>Aaro Koskinen</name>
<email>aaro.koskinen@nsn.com</email>
</author>
<published>2013-12-20T14:19:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=632fefaf1fff7c344191c363e08a43cf006fe60e'/>
<id>urn:sha1:632fefaf1fff7c344191c363e08a43cf006fe60e</id>
<content type='text'>
Commit e6789cd3dfb553077606ccafeb05e0043f072481 (uio: Simplify uio error
path by using devres functions) converted uio to use devm_request_irq().
This introduced a change in behaviour since the IRQ is associated with
the parent device instead of the created UIO device. The IRQ will remain
active after uio_unregister_device() is called, and some drivers will
crash because of this. The patch fixes this.

Signed-off-by: Aaro Koskinen &lt;aaro.koskinen@nsn.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt; # 3.13
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Merge 3.13-rc4 into char-misc-next</title>
<updated>2013-12-17T00:11:28Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2013-12-17T00:11:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=138a6d7ea2deb3080116a4f99019e181b62e5ce5'/>
<id>urn:sha1:138a6d7ea2deb3080116a4f99019e181b62e5ce5</id>
<content type='text'>
We want these fixes in here.
</content>
</entry>
<entry>
<title>uio: uio_mf624: remove DEFINE_PCI_DEVICE_TABLE macro</title>
<updated>2013-12-09T06:41:48Z</updated>
<author>
<name>Jingoo Han</name>
<email>jg1.han@samsung.com</email>
</author>
<published>2013-12-02T23:27:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0f4054df0bf6bad391cec4eaac03bc1127368e77'/>
<id>urn:sha1:0f4054df0bf6bad391cec4eaac03bc1127368e77</id>
<content type='text'>
Don't use DEFINE_PCI_DEVICE_TABLE macro, because this macro
is not preferred.

Signed-off-by: Jingoo Han &lt;jg1.han@samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>uio: we cannot mmap unaligned page contents</title>
<updated>2013-12-02T19:50:37Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-12-02T19:50:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b65502879556d041b45104c6a35abbbba28c8f2d'/>
<id>urn:sha1:b65502879556d041b45104c6a35abbbba28c8f2d</id>
<content type='text'>
In commit 7314e613d5ff ("Fix a few incorrectly checked
[io_]remap_pfn_range() calls") the uio driver started more properly
checking the passed-in user mapping arguments against the size of the
actual uio driver data.

That in turn exposed that some driver authors apparently didn't realize
that mmap can only work on a page granularity, and had tried to use it
with smaller mappings, with the new size check catching that out.

So since it's not just the user mmap() arguments that can be confused,
make the uio mmap code also verify that the uio driver has the memory
allocated at page boundaries in order for mmap to work.  If the device
memory isn't properly aligned, we return

  [ENODEV]
    The fildes argument refers to a file whose type is not supported by mmap().

as per the open group documentation on mmap.

Reported-by: Holger Brunck &lt;holger.brunck@keymile.com&gt;
Acked-by: Greg KH &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>drivers/uio/uio_pruss.c: use gen_pool_dma_alloc() to allocate sram memory</title>
<updated>2013-11-13T03:09:23Z</updated>
<author>
<name>Nicolin Chen</name>
<email>b42378@freescale.com</email>
</author>
<published>2013-11-12T23:09:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=288342e9cc867421d20f940d0c06b7aa4bf39096'/>
<id>urn:sha1:288342e9cc867421d20f940d0c06b7aa4bf39096</id>
<content type='text'>
Since gen_pool_dma_alloc() is introduced, we implement it to simplify code.

Signed-off-by: Nicolin Chen &lt;b42378@freescale.com&gt;
Cc: "Hans J. Koch" &lt;hjk@hansjkoch.de&gt;
Cc: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&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>Merge tag 'char-misc-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc</title>
<updated>2013-11-07T00:41:06Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-11-07T00:41:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1071ec7bc2dabd0a9d12a1ae5570f4fd3ba944ca'/>
<id>urn:sha1:1071ec7bc2dabd0a9d12a1ae5570f4fd3ba944ca</id>
<content type='text'>
Pull char/misc patches from Greg KH:
 "Here's the big char/misc driver patchset for 3.13-rc1.

  Lots of stuff in here, including some new drivers for Intel's "MIC"
  co-processor devices, and a new eeprom driver.  Other things include
  the driver attribute cleanups, extcon driver updates, hyperv updates,
  and a raft of other miscellaneous driver fixes.

  All of these have been in linux-next for a while"

* tag 'char-misc-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (121 commits)
  misc: mic: Fixes for randconfig build errors and warnings.
  tifm: fix error return code in tifm_7xx1_probe()
  w1-gpio: Use devm_* functions
  w1-gpio: Detect of_gpio_error for first gpio
  uio: Pass pointers to virt_to_page(), not integers
  uio: fix memory leak
  misc/at24: avoid infinite loop on write()
  misc/93xx46: avoid infinite loop on write()
  misc: atmel_pwm: add deferred-probing support
  mei: wd: host_init propagate error codes from called functions
  mei: replace stray pr_debug with dev_dbg
  mei: bus: propagate error code returned by mei_me_cl_by_id
  mei: mei_cl_link remove duplicated check for open_handle_count
  mei: print correct device state during unexpected reset
  mei: nfc: fix memory leak in error path
  lkdtm: add tests for additional page permissions
  lkdtm: adjust recursion size to avoid warnings
  lkdtm: isolate stack corruption test
  mei: move host_clients_map cleanup to device init
  mei: me: downgrade two errors to debug level
  ...
</content>
</entry>
<entry>
<title>uio: Pass pointers to virt_to_page(), not integers</title>
<updated>2013-10-29T23:51:57Z</updated>
<author>
<name>Ben Hutchings</name>
<email>ben@decadent.org.uk</email>
</author>
<published>2013-10-27T21:53:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e6418fcc8adaa5c3911295cbe7ddd368b9788616'/>
<id>urn:sha1:e6418fcc8adaa5c3911295cbe7ddd368b9788616</id>
<content type='text'>
Most architectures define virt_to_page() as a macro that casts its
argument such that an argument of type unsigned long will be accepted
without complaint.  However, the proper type is void *, and passing
unsigned long results in a warning on MIPS.

Compile-tested only.

Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
