<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/net/irda/iriap.c, branch master</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=master</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2017-08-28T23:42:56+00:00</updated>
<entry>
<title>irda: move net/irda/ to drivers/staging/irda/net/</title>
<updated>2017-08-28T23:42:56+00:00</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2017-08-27T15:03:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=1ca163afb6fd569b6efdc221954177cba5a02cbc'/>
<id>urn:sha1:1ca163afb6fd569b6efdc221954177cba5a02cbc</id>
<content type='text'>
It's time to get rid of IRDA.  It's long been broken, and no one seems
to use it anymore.  So move it to staging and after a while, we can
delete it from there.

To start, move the network irda core from net/irda to
drivers/staging/irda/net/

Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/irda: handle iriap_register_lsap() allocation failure</title>
<updated>2016-08-13T22:09:07+00:00</updated>
<author>
<name>Vegard Nossum</name>
<email>vegard.nossum@oracle.com</email>
</author>
<published>2016-08-12T08:29:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=5ba092efc7ddff040777ae7162f1d195f513571b'/>
<id>urn:sha1:5ba092efc7ddff040777ae7162f1d195f513571b</id>
<content type='text'>
If iriap_register_lsap() fails to allocate memory, self-&gt;lsap is
set to NULL. However, none of the callers handle the failure and
irlmp_connect_request() will happily dereference it:

    iriap_register_lsap: Unable to allocated LSAP!
    ================================================================================
    UBSAN: Undefined behaviour in net/irda/irlmp.c:378:2
    member access within null pointer of type 'struct lsap_cb'
    CPU: 1 PID: 15403 Comm: trinity-c0 Not tainted 4.8.0-rc1+ #81
    Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.9.3-0-ge2fc41e-prebuilt.qemu-project.org
    04/01/2014
     0000000000000000 ffff88010c7e78a8 ffffffff82344f40 0000000041b58ab3
     ffffffff84f98000 ffffffff82344e94 ffff88010c7e78d0 ffff88010c7e7880
     ffff88010630ad00 ffffffff84a5fae0 ffffffff84d3f5c0 000000000000017a
    Call Trace:
     [&lt;ffffffff82344f40&gt;] dump_stack+0xac/0xfc
     [&lt;ffffffff8242f5a8&gt;] ubsan_epilogue+0xd/0x8a
     [&lt;ffffffff824302bf&gt;] __ubsan_handle_type_mismatch+0x157/0x411
     [&lt;ffffffff83b7bdbc&gt;] irlmp_connect_request+0x7ac/0x970
     [&lt;ffffffff83b77cc0&gt;] iriap_connect_request+0xa0/0x160
     [&lt;ffffffff83b77f48&gt;] state_s_disconnect+0x88/0xd0
     [&lt;ffffffff83b78904&gt;] iriap_do_client_event+0x94/0x120
     [&lt;ffffffff83b77710&gt;] iriap_getvaluebyclass_request+0x3e0/0x6d0
     [&lt;ffffffff83ba6ebb&gt;] irda_find_lsap_sel+0x1eb/0x630
     [&lt;ffffffff83ba90c8&gt;] irda_connect+0x828/0x12d0
     [&lt;ffffffff833c0dfb&gt;] SYSC_connect+0x22b/0x340
     [&lt;ffffffff833c7e09&gt;] SyS_connect+0x9/0x10
     [&lt;ffffffff81007bd3&gt;] do_syscall_64+0x1b3/0x4b0
     [&lt;ffffffff845f946a&gt;] entry_SYSCALL64_slow_path+0x25/0x25
    ================================================================================

The bug seems to have been around since forever.

There's more problems with missing error checks in iriap_init() (and
indeed all of irda_init()), but that's a bigger problem that needs
very careful review and testing. This patch will fix the most serious
bug (as it's easily reached from unprivileged userspace).

I have tested my patch with a reproducer.

Signed-off-by: Vegard Nossum &lt;vegard.nossum@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>irda: Fix build failures after IRDA_DEBUG-&gt;pr_debug</title>
<updated>2014-11-13T03:01:14+00:00</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2014-11-13T02:15:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a768851f94dbf74d07b1a86af732f142753f4071'/>
<id>urn:sha1:a768851f94dbf74d07b1a86af732f142753f4071</id>
<content type='text'>
Fix the build failures that result from the use of pr_debug
without the referenced char * arrays being defined.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>irda: Convert IRDA_DEBUG to pr_debug</title>
<updated>2014-11-12T18:56:41+00:00</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2014-11-11T22:44:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=955a9d202f470019f42979f0d1caec98843e39ce'/>
<id>urn:sha1:955a9d202f470019f42979f0d1caec98843e39ce</id>
<content type='text'>
Use the normal kernel debugging mechanism which also
enables dynamic_debug at the same time.

Other miscellanea:

o Remove sysctl for irda_debug
o Remove function tracing like uses (use ftrace instead)
o Coalesce formats
o Realign arguments
o Remove unnecessary OOM messages

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>irda: Remove IRDA_&lt;TYPE&gt; logging macros</title>
<updated>2014-11-11T23:11:00+00:00</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2014-11-11T21:37:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=6c91023dc35c88d5e6aebe4bfe6f1ed5ec2b84be'/>
<id>urn:sha1:6c91023dc35c88d5e6aebe4bfe6f1ed5ec2b84be</id>
<content type='text'>
And use the more common mechanisms directly.

Other miscellanea:

o Coalesce formats
o Add missing newlines
o Realign arguments
o Remove unnecessary OOM message logging as
  there's a generic stack dump already on OOM.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>irda: small read past the end of array in debug code</title>
<updated>2013-04-19T21:32:31+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2013-04-16T21:10:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e15465e1808542743627f13d1c0cbb7eacc82b83'/>
<id>urn:sha1:e15465e1808542743627f13d1c0cbb7eacc82b83</id>
<content type='text'>
The "reason" can come from skb-&gt;data[] and it hasn't been capped so it
can be from 0-255 instead of just 0-6.  For example in irlmp_state_dtr()
the code does:

	reason = skb-&gt;data[3];
	...
	irlmp_disconnect_indication(self, reason, skb);

Also LMREASON has a couple other values which don't have entries in the
irlmp_reasons[] array.  And 0xff is a valid reason as well which means
"unknown".

So far as I can see we don't actually care about "reason" except for in
the debug code.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>irda: small read beyond end of array in debug code</title>
<updated>2013-02-27T18:10:35+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2013-02-26T19:15:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=90c7881ecee1f08e0a49172cf61371cf2509ee4a'/>
<id>urn:sha1:90c7881ecee1f08e0a49172cf61371cf2509ee4a</id>
<content type='text'>
charset comes from skb-&gt;data.  It's a number in the 0-255 range.
If we have debugging turned on then this could cause a read beyond
the end of the array.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2011-06-21T05:29:08+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-06-21T05:29:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9f6ec8d697c08963d83880ccd35c13c5ace716ea'/>
<id>urn:sha1:9f6ec8d697c08963d83880ccd35c13c5ace716ea</id>
<content type='text'>
Conflicts:
	drivers/net/wireless/iwlwifi/iwl-agn-rxon.c
	drivers/net/wireless/rtlwifi/pci.c
	net/netfilter/ipvs/ip_vs_core.c
</content>
</entry>
<entry>
<title>net: Remove casts of void *</title>
<updated>2011-06-17T03:19:27+00:00</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2011-06-13T16:21:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=ea110733874d5176cb56dcf612a629ffac09dbf0'/>
<id>urn:sha1:ea110733874d5176cb56dcf612a629ffac09dbf0</id>
<content type='text'>
Unnecessary casts of void * clutter the code.

These are the remainder casts after several specific
patches to remove netdev_priv and dev_priv.

Done via coccinelle script:

$ cat cast_void_pointer.cocci
@@
type T;
T *pt;
void *pv;
@@

- pt = (T *)pv;
+ pt = pv;

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Acked-by: Paul Moore &lt;paul.moore@hp.com&gt;
Signed-off-by: David S. Miller &lt;davem@conan.davemloft.net&gt;
</content>
</entry>
<entry>
<title>irda: iriap: Use seperate lockdep class for irias_objects-&gt;hb_spinlock</title>
<updated>2011-06-07T00:00:35+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-06-07T00:00:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=79b3891587741dfac72cdfead1f2764b56a567b0'/>
<id>urn:sha1:79b3891587741dfac72cdfead1f2764b56a567b0</id>
<content type='text'>
The SEQ output functions grab the obj-&gt;attrib-&gt;hb_spinlock lock of
sub-objects found in the hash traversal.  These locks are in a different
realm than the one used for the irias_objects hash table itself.

So put the latter into it's own lockdep class.

Reported-by: Dave Jones &lt;davej@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
