<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/net/wireless/microchip, branch v6.3</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v6.3</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v6.3'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2023-01-17T11:36:25Z</updated>
<entry>
<title>Merge wireless into wireless-next</title>
<updated>2023-01-17T11:36:25Z</updated>
<author>
<name>Kalle Valo</name>
<email>kvalo@kernel.org</email>
</author>
<published>2023-01-17T11:36:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d0e99511834b6828c960e978d9a8cb6e5731250d'/>
<id>urn:sha1:d0e99511834b6828c960e978d9a8cb6e5731250d</id>
<content type='text'>
Due to the two cherry picked commits from wireless to wireless-next we have
several conflicts in mt76. To avoid any bugs with conflicts merge wireless into
wireless-next.

96f134dc1964 wifi: mt76: handle possible mt76_rx_token_consume failures
fe13dad8992b wifi: mt76: dma: do not increment queue head if mt76_dma_add_buf fails
</content>
</entry>
<entry>
<title>treewide: Convert del_timer*() to timer_shutdown*()</title>
<updated>2022-12-25T21:38:09Z</updated>
<author>
<name>Steven Rostedt (Google)</name>
<email>rostedt@goodmis.org</email>
</author>
<published>2022-12-20T18:45:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=292a089d78d3e2f7944e60bb897c977785a321e3'/>
<id>urn:sha1:292a089d78d3e2f7944e60bb897c977785a321e3</id>
<content type='text'>
Due to several bugs caused by timers being re-armed after they are
shutdown and just before they are freed, a new state of timers was added
called "shutdown".  After a timer is set to this state, then it can no
longer be re-armed.

The following script was run to find all the trivial locations where
del_timer() or del_timer_sync() is called in the same function that the
object holding the timer is freed.  It also ignores any locations where
the timer-&gt;function is modified between the del_timer*() and the free(),
as that is not considered a "trivial" case.

This was created by using a coccinelle script and the following
commands:

    $ cat timer.cocci
    @@
    expression ptr, slab;
    identifier timer, rfield;
    @@
    (
    -       del_timer(&amp;ptr-&gt;timer);
    +       timer_shutdown(&amp;ptr-&gt;timer);
    |
    -       del_timer_sync(&amp;ptr-&gt;timer);
    +       timer_shutdown_sync(&amp;ptr-&gt;timer);
    )
      ... when strict
          when != ptr-&gt;timer
    (
            kfree_rcu(ptr, rfield);
    |
            kmem_cache_free(slab, ptr);
    |
            kfree(ptr);
    )

    $ spatch timer.cocci . &gt; /tmp/t.patch
    $ patch -p1 &lt; /tmp/t.patch

Link: https://lore.kernel.org/lkml/20221123201306.823305113@linutronix.de/
Signed-off-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;
Acked-by: Pavel Machek &lt;pavel@ucw.cz&gt; [ LED ]
Acked-by: Kalle Valo &lt;kvalo@kernel.org&gt; [ wireless ]
Acked-by: Paolo Abeni &lt;pabeni@redhat.com&gt; [ networking ]
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>wifi: wilc1000: add missing unregister_netdev() in wilc_netdev_ifc_init()</title>
<updated>2022-12-22T16:06:26Z</updated>
<author>
<name>Wang Yufen</name>
<email>wangyufen@huawei.com</email>
</author>
<published>2022-11-24T11:38:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2b88974ecb358990e1c33fabcd0b9e142bab7f21'/>
<id>urn:sha1:2b88974ecb358990e1c33fabcd0b9e142bab7f21</id>
<content type='text'>
Fault injection test reports this issue:

kernel BUG at net/core/dev.c:10731!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI
Call Trace:
  &lt;TASK&gt;
  wilc_netdev_ifc_init+0x19f/0x220 [wilc1000 884bf126e9e98af6a708f266a8dffd53f99e4bf5]
  wilc_cfg80211_init+0x30c/0x380 [wilc1000 884bf126e9e98af6a708f266a8dffd53f99e4bf5]
  wilc_bus_probe+0xad/0x2b0 [wilc1000_spi 1520a7539b6589cc6cde2ae826a523a33f8bacff]
  spi_probe+0xe4/0x140
  really_probe+0x17e/0x3f0
  __driver_probe_device+0xe3/0x170
  driver_probe_device+0x49/0x120

The root case here is alloc_ordered_workqueue() fails, but
cfg80211_unregister_netdevice() or unregister_netdev() not be called in
error handling path. To fix add unregister_netdev goto lable to add the
unregister operation in error handling path.

Fixes: 09ed8bfc5215 ("wilc1000: Rename workqueue from "WILC_wq" to "NETDEV-wq"")
Signed-off-by: Wang Yufen &lt;wangyufen@huawei.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@kernel.org&gt;
Link: https://lore.kernel.org/r/1669289902-23639-1-git-send-email-wangyufen@huawei.com
</content>
</entry>
<entry>
<title>wifi: wilc1000: fix potential memory leak in wilc_mac_xmit()</title>
<updated>2022-12-22T16:05:57Z</updated>
<author>
<name>Zhang Changzhong</name>
<email>zhangchangzhong@huawei.com</email>
</author>
<published>2022-11-17T11:36:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=deb962ec9e1c9a81babd3d37542ad4bd6ac3396e'/>
<id>urn:sha1:deb962ec9e1c9a81babd3d37542ad4bd6ac3396e</id>
<content type='text'>
The wilc_mac_xmit() returns NETDEV_TX_OK without freeing skb, add
dev_kfree_skb() to fix it. Compile tested only.

Fixes: c5c77ba18ea6 ("staging: wilc1000: Add SDIO/SPI 802.11 driver")
Signed-off-by: Zhang Changzhong &lt;zhangchangzhong@huawei.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@kernel.org&gt;
Link: https://lore.kernel.org/r/1668684964-48622-1-git-send-email-zhangchangzhong@huawei.com
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net</title>
<updated>2022-11-29T21:04:52Z</updated>
<author>
<name>Jakub Kicinski</name>
<email>kuba@kernel.org</email>
</author>
<published>2022-11-29T21:04:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f2bb566f5c977ff010baaa9e5e14d9a75b06e5f2'/>
<id>urn:sha1:f2bb566f5c977ff010baaa9e5e14d9a75b06e5f2</id>
<content type='text'>
tools/lib/bpf/ringbuf.c
  927cbb478adf ("libbpf: Handle size overflow for ringbuf mmap")
  b486d19a0ab0 ("libbpf: checkpatch: Fixed code alignments in ringbuf.c")
https://lore.kernel.org/all/20221121122707.44d1446a@canb.auug.org.au/

Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>wifi: wilc1000: validate number of channels</title>
<updated>2022-11-24T16:11:23Z</updated>
<author>
<name>Phil Turnbull</name>
<email>philipturnbull@github.com</email>
</author>
<published>2022-11-23T15:35:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0cdfa9e6f0915e3d243e2393bfa8a22e12d553b0'/>
<id>urn:sha1:0cdfa9e6f0915e3d243e2393bfa8a22e12d553b0</id>
<content type='text'>
There is no validation of 'e-&gt;no_of_channels' which can trigger an
out-of-bounds write in the following 'memset' call. Validate that the
number of channels does not extends beyond the size of the channel list
element.

Signed-off-by: Phil Turnbull &lt;philipturnbull@github.com&gt;
Tested-by: Ajay Kathat &lt;ajay.kathat@microchip.com&gt;
Acked-by: Ajay Kathat &lt;ajay.kathat@microchip.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@kernel.org&gt;
Link: https://lore.kernel.org/r/20221123153543.8568-5-philipturnbull@github.com
</content>
</entry>
<entry>
<title>wifi: wilc1000: validate length of IEEE80211_P2P_ATTR_CHANNEL_LIST attribute</title>
<updated>2022-11-24T16:11:23Z</updated>
<author>
<name>Phil Turnbull</name>
<email>philipturnbull@github.com</email>
</author>
<published>2022-11-23T15:35:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f9b62f9843c7b0afdaecabbcebf1dbba18599408'/>
<id>urn:sha1:f9b62f9843c7b0afdaecabbcebf1dbba18599408</id>
<content type='text'>
Validate that the IEEE80211_P2P_ATTR_CHANNEL_LIST attribute contains
enough space for a 'struct wilc_attr_oper_ch'. If the attribute is too
small then it can trigger an out-of-bounds write later in the function.

'struct wilc_attr_oper_ch' is variable sized so also check 'attr_len'
does not extend beyond the end of 'buf'.

Signed-off-by: Phil Turnbull &lt;philipturnbull@github.com&gt;
Tested-by: Ajay Kathat &lt;ajay.kathat@microchip.com&gt;
Acked-by: Ajay Kathat &lt;ajay.kathat@microchip.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@kernel.org&gt;
Link: https://lore.kernel.org/r/20221123153543.8568-4-philipturnbull@github.com
</content>
</entry>
<entry>
<title>wifi: wilc1000: validate length of IEEE80211_P2P_ATTR_OPER_CHANNEL attribute</title>
<updated>2022-11-24T16:11:23Z</updated>
<author>
<name>Phil Turnbull</name>
<email>philipturnbull@github.com</email>
</author>
<published>2022-11-23T15:35:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=051ae669e4505abbe05165bebf6be7922de11f41'/>
<id>urn:sha1:051ae669e4505abbe05165bebf6be7922de11f41</id>
<content type='text'>
Validate that the IEEE80211_P2P_ATTR_OPER_CHANNEL attribute contains
enough space for a 'struct struct wilc_attr_oper_ch'. If the attribute is
too small then it triggers an out-of-bounds write later in the function.

Signed-off-by: Phil Turnbull &lt;philipturnbull@github.com&gt;
Tested-by: Ajay Kathat &lt;ajay.kathat@microchip.com&gt;
Acked-by: Ajay Kathat &lt;ajay.kathat@microchip.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@kernel.org&gt;
Link: https://lore.kernel.org/r/20221123153543.8568-3-philipturnbull@github.com
</content>
</entry>
<entry>
<title>wifi: wilc1000: validate pairwise and authentication suite offsets</title>
<updated>2022-11-24T16:11:23Z</updated>
<author>
<name>Phil Turnbull</name>
<email>philipturnbull@github.com</email>
</author>
<published>2022-11-23T15:35:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=cd21d99e595ec1d8721e1058dcdd4f1f7de1d793'/>
<id>urn:sha1:cd21d99e595ec1d8721e1058dcdd4f1f7de1d793</id>
<content type='text'>
There is no validation of 'offset' which can trigger an out-of-bounds
read when extracting RSN capabilities.

Signed-off-by: Phil Turnbull &lt;philipturnbull@github.com&gt;
Tested-by: Ajay Kathat &lt;ajay.kathat@microchip.com&gt;
Acked-by: Ajay Kathat &lt;ajay.kathat@microchip.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@kernel.org&gt;
Link: https://lore.kernel.org/r/20221123153543.8568-2-philipturnbull@github.com
</content>
</entry>
<entry>
<title>wifi: wilc1000: sdio: fix module autoloading</title>
<updated>2022-11-01T11:07:34Z</updated>
<author>
<name>Michael Walle</name>
<email>michael@walle.cc</email>
</author>
<published>2022-10-27T17:12:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=57d545b5a3d6ce3a8fb6b093f02bfcbb908973f3'/>
<id>urn:sha1:57d545b5a3d6ce3a8fb6b093f02bfcbb908973f3</id>
<content type='text'>
There are no SDIO module aliases included in the driver, therefore,
module autoloading isn't working. Add the proper MODULE_DEVICE_TABLE().

Cc: stable@vger.kernel.org
Signed-off-by: Michael Walle &lt;michael@walle.cc&gt;
Signed-off-by: Kalle Valo &lt;kvalo@kernel.org&gt;
Link: https://lore.kernel.org/r/20221027171221.491937-1-michael@walle.cc
</content>
</entry>
</feed>
