<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/net/ethernet/microchip, branch v6.7</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>net: microchip: lan743x: improve throughput with rx timestamp config</title>
<updated>2023-10-24T07:16:08+00:00</updated>
<author>
<name>Vishvambar Panth S</name>
<email>vishvambarpanth.s@microchip.com</email>
</author>
<published>2023-10-20T18:58:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=169e0a5e43208fc5a6c5bc6476348cbd7203ae8a'/>
<id>169e0a5e43208fc5a6c5bc6476348cbd7203ae8a</id>
<content type='text'>
Currently all RX frames are timestamped which results in a performance
penalty when timestamping is not needed.  The default is now being
changed to not timestamp any Rx frames (HWTSTAMP_FILTER_NONE), but
support has been added to allow changing the desired RX timestamping
mode (HWTSTAMP_FILTER_ALL -  which was the previous setting and
HWTSTAMP_FILTER_PTP_V2_EVENT are now supported) using
SIOCSHWTSTAMP. All settings were tested using the hwstamp_ctl application.
It is also noted that ptp4l, when started, preconfigures the device to
timestamp using HWTSTAMP_FILTER_PTP_V2_EVENT, so this driver continues
to work properly "out of the box".

Test setup:  x64 PC with LAN7430 ---&gt; x64 PC as partner

iperf3 with - Timestamp all incoming packets:
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-5.05   sec   517 MBytes   859 Mbits/sec    0    sender
[  5]   0.00-5.00   sec   515 MBytes   864 Mbits/sec         receiver

iperf Done.

iperf3 with - Timestamp only PTP packets:
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-5.04   sec   563 MBytes   937 Mbits/sec    0    sender
[  5]   0.00-5.00   sec   561 MBytes   941 Mbits/sec         receiver

Signed-off-by: Vishvambar Panth S &lt;vishvambarpanth.s@microchip.com&gt;
Reviewed-by: Jacob Keller &lt;jacob.e.keller@intel.com&gt;
Link: https://lore.kernel.org/r/20231020185801.25649-1-vishvambarpanth.s@microchip.com
Signed-off-by: Paolo Abeni &lt;pabeni@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently all RX frames are timestamped which results in a performance
penalty when timestamping is not needed.  The default is now being
changed to not timestamp any Rx frames (HWTSTAMP_FILTER_NONE), but
support has been added to allow changing the desired RX timestamping
mode (HWTSTAMP_FILTER_ALL -  which was the previous setting and
HWTSTAMP_FILTER_PTP_V2_EVENT are now supported) using
SIOCSHWTSTAMP. All settings were tested using the hwstamp_ctl application.
It is also noted that ptp4l, when started, preconfigures the device to
timestamp using HWTSTAMP_FILTER_PTP_V2_EVENT, so this driver continues
to work properly "out of the box".

Test setup:  x64 PC with LAN7430 ---&gt; x64 PC as partner

iperf3 with - Timestamp all incoming packets:
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-5.05   sec   517 MBytes   859 Mbits/sec    0    sender
[  5]   0.00-5.00   sec   515 MBytes   864 Mbits/sec         receiver

iperf Done.

iperf3 with - Timestamp only PTP packets:
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-5.04   sec   563 MBytes   937 Mbits/sec    0    sender
[  5]   0.00-5.00   sec   561 MBytes   941 Mbits/sec         receiver

Signed-off-by: Vishvambar Panth S &lt;vishvambarpanth.s@microchip.com&gt;
Reviewed-by: Jacob Keller &lt;jacob.e.keller@intel.com&gt;
Link: https://lore.kernel.org/r/20231020185801.25649-1-vishvambarpanth.s@microchip.com
Signed-off-by: Paolo Abeni &lt;pabeni@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: lan966x: remove useless code in lan966x_xtr_irq_handler</title>
<updated>2023-10-23T08:56:05+00:00</updated>
<author>
<name>Su Hui</name>
<email>suhui@nfschina.com</email>
</author>
<published>2023-10-20T09:16:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=6e7ce2d71bb99096d811918341fde61e66bfff2c'/>
<id>6e7ce2d71bb99096d811918341fde61e66bfff2c</id>
<content type='text'>
'err' is useless after break, remove this to save space and
be more clear.

Signed-off-by: Su Hui &lt;suhui@nfschina.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
'err' is useless after break, remove this to save space and
be more clear.

Signed-off-by: Su Hui &lt;suhui@nfschina.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: sparx5: replace deprecated strncpy with ethtool_sprintf</title>
<updated>2023-10-14T00:10:32+00:00</updated>
<author>
<name>Justin Stitt</name>
<email>justinstitt@google.com</email>
</author>
<published>2023-10-11T21:37:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e343023e03d2bdadf6551298863c09b4cba5963d'/>
<id>e343023e03d2bdadf6551298863c09b4cba5963d</id>
<content type='text'>
strncpy() is deprecated for use on NUL-terminated destination strings
[1] and as such we should prefer more robust and less ambiguous string
interfaces.

ethtool_sprintf() is designed specifically for get_strings() usage.
Let's replace strncpy() in favor of this more robust and easier to
understand interface.

Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [1]
Link: https://manpages.debian.org/testing/linux-manual-4.8/strscpy.9.en.html [2]
Link: https://github.com/KSPP/linux/issues/90
Signed-off-by: Justin Stitt &lt;justinstitt@google.com&gt;
Reviewed-by: Kees Cook &lt;keescook@chromium.org&gt;
Link: https://lore.kernel.org/r/20231011-strncpy-drivers-net-ethernet-microchip-sparx5-sparx5_ethtool-c-v1-1-410953d07f42@google.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
strncpy() is deprecated for use on NUL-terminated destination strings
[1] and as such we should prefer more robust and less ambiguous string
interfaces.

ethtool_sprintf() is designed specifically for get_strings() usage.
Let's replace strncpy() in favor of this more robust and easier to
understand interface.

Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [1]
Link: https://manpages.debian.org/testing/linux-manual-4.8/strscpy.9.en.html [2]
Link: https://github.com/KSPP/linux/issues/90
Signed-off-by: Justin Stitt &lt;justinstitt@google.com&gt;
Reviewed-by: Kees Cook &lt;keescook@chromium.org&gt;
Link: https://lore.kernel.org/r/20231011-strncpy-drivers-net-ethernet-microchip-sparx5-sparx5_ethtool-c-v1-1-410953d07f42@google.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net</title>
<updated>2023-10-05T20:16:47+00:00</updated>
<author>
<name>Jakub Kicinski</name>
<email>kuba@kernel.org</email>
</author>
<published>2023-10-05T20:16:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=2606cf059c56bfb86d5d6bd0f41bd7eedefc8b0a'/>
<id>2606cf059c56bfb86d5d6bd0f41bd7eedefc8b0a</id>
<content type='text'>
Cross-merge networking fixes after downstream PR.

No conflicts (or adjacent changes of note).

Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Cross-merge networking fixes after downstream PR.

No conflicts (or adjacent changes of note).

Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: lan743x: also select PHYLIB</title>
<updated>2023-10-05T16:10:18+00:00</updated>
<author>
<name>Randy Dunlap</name>
<email>rdunlap@infradead.org</email>
</author>
<published>2023-10-02T19:35:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=566aeed6871ac2189b5bfe03e1a5b3b7be5eca38'/>
<id>566aeed6871ac2189b5bfe03e1a5b3b7be5eca38</id>
<content type='text'>
Since FIXED_PHY depends on PHYLIB, PHYLIB needs to be set to avoid
a kconfig warning:

WARNING: unmet direct dependencies detected for FIXED_PHY
  Depends on [n]: NETDEVICES [=y] &amp;&amp; PHYLIB [=n]
  Selected by [y]:
  - LAN743X [=y] &amp;&amp; NETDEVICES [=y] &amp;&amp; ETHERNET [=y] &amp;&amp; NET_VENDOR_MICROCHIP [=y] &amp;&amp; PCI [=y] &amp;&amp; PTP_1588_CLOCK_OPTIONAL [=y]

Fixes: 73c4d1b307ae ("net: lan743x: select FIXED_PHY")
Signed-off-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Closes: lore.kernel.org/r/202309261802.JPbRHwti-lkp@intel.com
Cc: Bryan Whitehead &lt;bryan.whitehead@microchip.com&gt;
Cc: UNGLinuxDriver@microchip.com
Reviewed-by: Simon Horman &lt;horms@kernel.org&gt;
Tested-by: Simon Horman &lt;horms@kernel.org&gt; # build-tested
Link: https://lore.kernel.org/r/20231002193544.14529-1-rdunlap@infradead.org
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since FIXED_PHY depends on PHYLIB, PHYLIB needs to be set to avoid
a kconfig warning:

WARNING: unmet direct dependencies detected for FIXED_PHY
  Depends on [n]: NETDEVICES [=y] &amp;&amp; PHYLIB [=n]
  Selected by [y]:
  - LAN743X [=y] &amp;&amp; NETDEVICES [=y] &amp;&amp; ETHERNET [=y] &amp;&amp; NET_VENDOR_MICROCHIP [=y] &amp;&amp; PCI [=y] &amp;&amp; PTP_1588_CLOCK_OPTIONAL [=y]

Fixes: 73c4d1b307ae ("net: lan743x: select FIXED_PHY")
Signed-off-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Closes: lore.kernel.org/r/202309261802.JPbRHwti-lkp@intel.com
Cc: Bryan Whitehead &lt;bryan.whitehead@microchip.com&gt;
Cc: UNGLinuxDriver@microchip.com
Reviewed-by: Simon Horman &lt;horms@kernel.org&gt;
Tested-by: Simon Horman &lt;horms@kernel.org&gt; # build-tested
Link: https://lore.kernel.org/r/20231002193544.14529-1-rdunlap@infradead.org
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: microchip: sparx5: clean up error checking in vcap_show_admin()</title>
<updated>2023-10-03T14:13:32+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@linaro.org</email>
</author>
<published>2023-09-08T07:03:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=788f63c4dc1780c84deb5fe820f6446c28364a0d'/>
<id>788f63c4dc1780c84deb5fe820f6446c28364a0d</id>
<content type='text'>
The vcap_decode_rule() never returns NULL.  There is no need to check
for that.  This code assumes that if it did return NULL we should
end abruptly and return success.  It is confusing.  Fix the check to
just be if (IS_ERR()) instead of if (IS_ERR_OR_NULL()).

Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Closes: https://lore.kernel.org/r/202309070831.hTvj9ekP-lkp@intel.com/
Signed-off-by: Dan Carpenter &lt;dan.carpenter@linaro.org&gt;
Reviewed-by: Simon Horman &lt;horms@kernel.org&gt;
Reviewed-by: Daniel Machon &lt;daniel.machon@microchip.com&gt;
Link: https://lore.kernel.org/r/b88eba86-9488-4749-a896-7c7050132e7b@moroto.mountain
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The vcap_decode_rule() never returns NULL.  There is no need to check
for that.  This code assumes that if it did return NULL we should
end abruptly and return success.  It is confusing.  Fix the check to
just be if (IS_ERR()) instead of if (IS_ERR_OR_NULL()).

Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Closes: https://lore.kernel.org/r/202309070831.hTvj9ekP-lkp@intel.com/
Signed-off-by: Dan Carpenter &lt;dan.carpenter@linaro.org&gt;
Reviewed-by: Simon Horman &lt;horms@kernel.org&gt;
Reviewed-by: Daniel Machon &lt;daniel.machon@microchip.com&gt;
Link: https://lore.kernel.org/r/b88eba86-9488-4749-a896-7c7050132e7b@moroto.mountain
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net</title>
<updated>2023-09-21T19:49:45+00:00</updated>
<author>
<name>Paolo Abeni</name>
<email>pabeni@redhat.com</email>
</author>
<published>2023-09-21T19:49:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e9cbc89067cce78211c8629c78e931c0fe64e29d'/>
<id>e9cbc89067cce78211c8629c78e931c0fe64e29d</id>
<content type='text'>
Cross-merge networking fixes after downstream PR.

No conflicts.

Signed-off-by: Paolo Abeni &lt;pabeni@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Cross-merge networking fixes after downstream PR.

No conflicts.

Signed-off-by: Paolo Abeni &lt;pabeni@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: ethernet: microchip: Convert to platform remove callback returning void</title>
<updated>2023-09-20T08:06:39+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2023-09-18T20:42:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=5253ae3a6223be467461d183c3836b6eb3e22258'/>
<id>5253ae3a6223be467461d183c3836b6eb3e22258</id>
<content type='text'>
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() is renamed to .remove().

Trivially convert these drivers from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() is renamed to .remove().

Trivially convert these drivers from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: microchip: lan743x: add fixed phy unregister support</title>
<updated>2023-09-17T10:52:58+00:00</updated>
<author>
<name>Pavithra Sathyanarayanan</name>
<email>Pavithra.Sathyanarayanan@microchip.com</email>
</author>
<published>2023-09-14T06:17:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=1e73cfe859523236e6e29167673fc2885f1b99c4'/>
<id>1e73cfe859523236e6e29167673fc2885f1b99c4</id>
<content type='text'>
When operating in fixed phy mode and if there is repeated open/close
phy test cases, everytime the fixed phy is registered as a new phy
which leads to overrun after 32 iterations. It is solved by adding
fixed_phy_unregister() in the phy_close path.

In phy_close path, netdev-&gt;phydev cannot be used directly in
fixed_phy_unregister() due to two reasons,
    - netdev-&gt;phydev is set to NULL in phy_disconnect()
    - fixed_phy_unregister() can be called only after phy_disconnect()
So saving the netdev-&gt;phydev in local variable 'phydev' and
passing it to phy_disconnect().

Signed-off-by: Pavithra Sathyanarayanan &lt;Pavithra.Sathyanarayanan@microchip.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When operating in fixed phy mode and if there is repeated open/close
phy test cases, everytime the fixed phy is registered as a new phy
which leads to overrun after 32 iterations. It is solved by adding
fixed_phy_unregister() in the phy_close path.

In phy_close path, netdev-&gt;phydev cannot be used directly in
fixed_phy_unregister() due to two reasons,
    - netdev-&gt;phydev is set to NULL in phy_disconnect()
    - fixed_phy_unregister() can be called only after phy_disconnect()
So saving the netdev-&gt;phydev in local variable 'phydev' and
passing it to phy_disconnect().

Signed-off-by: Pavithra Sathyanarayanan &lt;Pavithra.Sathyanarayanan@microchip.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: microchip: sparx5: Fix possible memory leaks in vcap_api_kunit</title>
<updated>2023-09-15T06:32:35+00:00</updated>
<author>
<name>Jinjie Ruan</name>
<email>ruanjinjie@huawei.com</email>
</author>
<published>2023-09-12T11:03:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=2a2dffd911d4139258b828b9c5056cb64b826758'/>
<id>2a2dffd911d4139258b828b9c5056cb64b826758</id>
<content type='text'>
Inject fault while probing kunit-example-test.ko, the duprule which
is allocated by kzalloc in vcap_dup_rule() of
test_vcap_xn_rule_creator() is not freed, and it cause the memory leaks
below. Use vcap_del_rule() to free them as other functions do it.

unreferenced object 0xffff6eb4846f6180 (size 192):
  comm "kunit_try_catch", pid 405, jiffies 4294895522 (age 880.004s)
  hex dump (first 32 bytes):
    10 27 00 00 04 00 00 00 0a 00 00 00 f4 01 00 00  .'..............
    00 00 00 00 00 00 00 00 98 61 6f 84 b4 6e ff ff  .........ao..n..
  backtrace:
    [&lt;00000000f1b5b86e&gt;] slab_post_alloc_hook+0xb8/0x368
    [&lt;00000000c56cdd9a&gt;] __kmem_cache_alloc_node+0x174/0x290
    [&lt;0000000046ef1b64&gt;] kmalloc_trace+0x40/0x164
    [&lt;000000008565145b&gt;] vcap_dup_rule+0x38/0x210
    [&lt;00000000bd9e1f12&gt;] vcap_add_rule+0x29c/0x32c
    [&lt;0000000070a539b1&gt;] test_vcap_xn_rule_creator.constprop.43+0x120/0x330
    [&lt;00000000d2ac4ccb&gt;] vcap_api_rule_insert_in_order_test+0xa4/0x114
    [&lt;000000000f88f9cb&gt;] kunit_try_run_case+0x50/0xac
    [&lt;00000000e848de5a&gt;] kunit_generic_run_threadfn_adapter+0x20/0x2c
    [&lt;0000000058a88b6b&gt;] kthread+0x124/0x130
    [&lt;00000000891cf28a&gt;] ret_from_fork+0x10/0x20
unreferenced object 0xffff6eb4846f6240 (size 192):
  comm "kunit_try_catch", pid 405, jiffies 4294895524 (age 879.996s)
  hex dump (first 32 bytes):
    10 27 00 00 04 00 00 00 14 00 00 00 90 01 00 00  .'..............
    00 00 00 00 00 00 00 00 58 62 6f 84 b4 6e ff ff  ........Xbo..n..
  backtrace:
    [&lt;00000000f1b5b86e&gt;] slab_post_alloc_hook+0xb8/0x368
    [&lt;00000000c56cdd9a&gt;] __kmem_cache_alloc_node+0x174/0x290
    [&lt;0000000046ef1b64&gt;] kmalloc_trace+0x40/0x164
    [&lt;000000008565145b&gt;] vcap_dup_rule+0x38/0x210
    [&lt;00000000bd9e1f12&gt;] vcap_add_rule+0x29c/0x32c
    [&lt;0000000070a539b1&gt;] test_vcap_xn_rule_creator.constprop.43+0x120/0x330
    [&lt;0000000052e6ad35&gt;] vcap_api_rule_insert_in_order_test+0xbc/0x114
    [&lt;000000000f88f9cb&gt;] kunit_try_run_case+0x50/0xac
    [&lt;00000000e848de5a&gt;] kunit_generic_run_threadfn_adapter+0x20/0x2c
    [&lt;0000000058a88b6b&gt;] kthread+0x124/0x130
    [&lt;00000000891cf28a&gt;] ret_from_fork+0x10/0x20
unreferenced object 0xffff6eb4846f6300 (size 192):
  comm "kunit_try_catch", pid 405, jiffies 4294895524 (age 879.996s)
  hex dump (first 32 bytes):
    10 27 00 00 04 00 00 00 1e 00 00 00 2c 01 00 00  .'..........,...
    00 00 00 00 00 00 00 00 18 63 6f 84 b4 6e ff ff  .........co..n..
  backtrace:
    [&lt;00000000f1b5b86e&gt;] slab_post_alloc_hook+0xb8/0x368
    [&lt;00000000c56cdd9a&gt;] __kmem_cache_alloc_node+0x174/0x290
    [&lt;0000000046ef1b64&gt;] kmalloc_trace+0x40/0x164
    [&lt;000000008565145b&gt;] vcap_dup_rule+0x38/0x210
    [&lt;00000000bd9e1f12&gt;] vcap_add_rule+0x29c/0x32c
    [&lt;0000000070a539b1&gt;] test_vcap_xn_rule_creator.constprop.43+0x120/0x330
    [&lt;000000001b0895d4&gt;] vcap_api_rule_insert_in_order_test+0xd4/0x114
    [&lt;000000000f88f9cb&gt;] kunit_try_run_case+0x50/0xac
    [&lt;00000000e848de5a&gt;] kunit_generic_run_threadfn_adapter+0x20/0x2c
    [&lt;0000000058a88b6b&gt;] kthread+0x124/0x130
    [&lt;00000000891cf28a&gt;] ret_from_fork+0x10/0x20
unreferenced object 0xffff6eb4846f63c0 (size 192):
  comm "kunit_try_catch", pid 405, jiffies 4294895524 (age 880.012s)
  hex dump (first 32 bytes):
    10 27 00 00 04 00 00 00 28 00 00 00 c8 00 00 00  .'......(.......
    00 00 00 00 00 00 00 00 d8 63 6f 84 b4 6e ff ff  .........co..n..
  backtrace:
    [&lt;00000000f1b5b86e&gt;] slab_post_alloc_hook+0xb8/0x368
    [&lt;00000000c56cdd9a&gt;] __kmem_cache_alloc_node+0x174/0x290
    [&lt;0000000046ef1b64&gt;] kmalloc_trace+0x40/0x164
    [&lt;000000008565145b&gt;] vcap_dup_rule+0x38/0x210
    [&lt;00000000bd9e1f12&gt;] vcap_add_rule+0x29c/0x32c
    [&lt;0000000070a539b1&gt;] test_vcap_xn_rule_creator.constprop.43+0x120/0x330
    [&lt;00000000134c151f&gt;] vcap_api_rule_insert_in_order_test+0xec/0x114
    [&lt;000000000f88f9cb&gt;] kunit_try_run_case+0x50/0xac
    [&lt;00000000e848de5a&gt;] kunit_generic_run_threadfn_adapter+0x20/0x2c
    [&lt;0000000058a88b6b&gt;] kthread+0x124/0x130
    [&lt;00000000891cf28a&gt;] ret_from_fork+0x10/0x20
unreferenced object 0xffff6eb4845fc180 (size 192):
  comm "kunit_try_catch", pid 407, jiffies 4294895527 (age 880.000s)
  hex dump (first 32 bytes):
    10 27 00 00 04 00 00 00 14 00 00 00 c8 00 00 00  .'..............
    00 00 00 00 00 00 00 00 98 c1 5f 84 b4 6e ff ff  .........._..n..
  backtrace:
    [&lt;00000000f1b5b86e&gt;] slab_post_alloc_hook+0xb8/0x368
    [&lt;00000000c56cdd9a&gt;] __kmem_cache_alloc_node+0x174/0x290
    [&lt;0000000046ef1b64&gt;] kmalloc_trace+0x40/0x164
    [&lt;000000008565145b&gt;] vcap_dup_rule+0x38/0x210
    [&lt;00000000bd9e1f12&gt;] vcap_add_rule+0x29c/0x32c
    [&lt;0000000070a539b1&gt;] test_vcap_xn_rule_creator.constprop.43+0x120/0x330
    [&lt;00000000fa5f64d3&gt;] vcap_api_rule_insert_reverse_order_test+0xc8/0x600
    [&lt;000000000f88f9cb&gt;] kunit_try_run_case+0x50/0xac
    [&lt;00000000e848de5a&gt;] kunit_generic_run_threadfn_adapter+0x20/0x2c
    [&lt;0000000058a88b6b&gt;] kthread+0x124/0x130
    [&lt;00000000891cf28a&gt;] ret_from_fork+0x10/0x20
unreferenced object 0xffff6eb4845fc240 (size 192):
  comm "kunit_try_catch", pid 407, jiffies 4294895527 (age 880.000s)
  hex dump (first 32 bytes):
    10 27 00 00 04 00 00 00 1e 00 00 00 2c 01 00 00  .'..........,...
    00 00 00 00 00 00 00 00 58 c2 5f 84 b4 6e ff ff  ........X._..n..
  backtrace:
    [&lt;00000000f1b5b86e&gt;] slab_post_alloc_hook+0xb8/0x368
    [&lt;00000000c56cdd9a&gt;] __kmem_cache_alloc_node+0x174/0x290
    [&lt;0000000046ef1b64&gt;] kmalloc_trace+0x40/0x164
    [&lt;000000008565145b&gt;] vcap_dup_rule+0x38/0x210
    [&lt;00000000453dcd80&gt;] vcap_add_rule+0x134/0x32c
    [&lt;0000000070a539b1&gt;] test_vcap_xn_rule_creator.constprop.43+0x120/0x330
    [&lt;00000000a7db42de&gt;] vcap_api_rule_insert_reverse_order_test+0x108/0x600
    [&lt;000000000f88f9cb&gt;] kunit_try_run_case+0x50/0xac
    [&lt;00000000e848de5a&gt;] kunit_generic_run_threadfn_adapter+0x20/0x2c
    [&lt;0000000058a88b6b&gt;] kthread+0x124/0x130
    [&lt;00000000891cf28a&gt;] ret_from_fork+0x10/0x20
unreferenced object 0xffff6eb4845fc300 (size 192):
  comm "kunit_try_catch", pid 407, jiffies 4294895527 (age 880.000s)
  hex dump (first 32 bytes):
    10 27 00 00 04 00 00 00 28 00 00 00 90 01 00 00  .'......(.......
    00 00 00 00 00 00 00 00 18 c3 5f 84 b4 6e ff ff  .........._..n..
  backtrace:
    [&lt;00000000f1b5b86e&gt;] slab_post_alloc_hook+0xb8/0x368
    [&lt;00000000c56cdd9a&gt;] __kmem_cache_alloc_node+0x174/0x290
    [&lt;0000000046ef1b64&gt;] kmalloc_trace+0x40/0x164
    [&lt;000000008565145b&gt;] vcap_dup_rule+0x38/0x210
    [&lt;00000000453dcd80&gt;] vcap_add_rule+0x134/0x32c
    [&lt;0000000070a539b1&gt;] test_vcap_xn_rule_creator.constprop.43+0x120/0x330
    [&lt;00000000ea416c94&gt;] vcap_api_rule_insert_reverse_order_test+0x150/0x600
    [&lt;000000000f88f9cb&gt;] kunit_try_run_case+0x50/0xac
    [&lt;00000000e848de5a&gt;] kunit_generic_run_threadfn_adapter+0x20/0x2c
    [&lt;0000000058a88b6b&gt;] kthread+0x124/0x130
    [&lt;00000000891cf28a&gt;] ret_from_fork+0x10/0x20
unreferenced object 0xffff6eb4845fc3c0 (size 192):
  comm "kunit_try_catch", pid 407, jiffies 4294895527 (age 880.020s)
  hex dump (first 32 bytes):
    10 27 00 00 04 00 00 00 32 00 00 00 f4 01 00 00  .'......2.......
    00 00 00 00 00 00 00 00 d8 c3 5f 84 b4 6e ff ff  .........._..n..
  backtrace:
    [&lt;00000000f1b5b86e&gt;] slab_post_alloc_hook+0xb8/0x368
    [&lt;00000000c56cdd9a&gt;] __kmem_cache_alloc_node+0x174/0x290
    [&lt;0000000046ef1b64&gt;] kmalloc_trace+0x40/0x164
    [&lt;000000008565145b&gt;] vcap_dup_rule+0x38/0x210
    [&lt;00000000453dcd80&gt;] vcap_add_rule+0x134/0x32c
    [&lt;0000000070a539b1&gt;] test_vcap_xn_rule_creator.constprop.43+0x120/0x330
    [&lt;00000000764a39b4&gt;] vcap_api_rule_insert_reverse_order_test+0x198/0x600
    [&lt;000000000f88f9cb&gt;] kunit_try_run_case+0x50/0xac
    [&lt;00000000e848de5a&gt;] kunit_generic_run_threadfn_adapter+0x20/0x2c
    [&lt;0000000058a88b6b&gt;] kthread+0x124/0x130
    [&lt;00000000891cf28a&gt;] ret_from_fork+0x10/0x20
unreferenced object 0xffff6eb484cd4240 (size 192):
  comm "kunit_try_catch", pid 413, jiffies 4294895543 (age 879.956s)
  hex dump (first 32 bytes):
    10 27 00 00 04 00 00 00 1e 00 00 00 2c 01 00 00  .'..........,...
    00 00 00 00 00 00 00 00 58 42 cd 84 b4 6e ff ff  ........XB...n..
  backtrace:
    [&lt;00000000f1b5b86e&gt;] slab_post_alloc_hook+0xb8/0x368
    [&lt;00000000c56cdd9a&gt;] __kmem_cache_alloc_node+0x174/0x290
    [&lt;0000000046ef1b64&gt;] kmalloc_trace+0x40/0x164
    [&lt;000000008565145b&gt;] vcap_dup_rule+0x38/0x210
    [&lt;00000000bd9e1f12&gt;] vcap_add_rule+0x29c/0x32c
    [&lt;0000000070a539b1&gt;] test_vcap_xn_rule_creator.constprop.43+0x120/0x330
    [&lt;0000000023976dd4&gt;] vcap_api_rule_remove_in_front_test+0x158/0x658
    [&lt;000000000f88f9cb&gt;] kunit_try_run_case+0x50/0xac
    [&lt;00000000e848de5a&gt;] kunit_generic_run_threadfn_adapter+0x20/0x2c
    [&lt;0000000058a88b6b&gt;] kthread+0x124/0x130
    [&lt;00000000891cf28a&gt;] ret_from_fork+0x10/0x20
unreferenced object 0xffff6eb484cd4300 (size 192):
  comm "kunit_try_catch", pid 413, jiffies 4294895543 (age 879.956s)
  hex dump (first 32 bytes):
    10 27 00 00 04 00 00 00 28 00 00 00 c8 00 00 00  .'......(.......
    00 00 00 00 00 00 00 00 18 43 cd 84 b4 6e ff ff  .........C...n..
  backtrace:
    [&lt;00000000f1b5b86e&gt;] slab_post_alloc_hook+0xb8/0x368
    [&lt;00000000c56cdd9a&gt;] __kmem_cache_alloc_node+0x174/0x290
    [&lt;0000000046ef1b64&gt;] kmalloc_trace+0x40/0x164
    [&lt;000000008565145b&gt;] vcap_dup_rule+0x38/0x210
    [&lt;00000000bd9e1f12&gt;] vcap_add_rule+0x29c/0x32c
    [&lt;0000000070a539b1&gt;] test_vcap_xn_rule_creator.constprop.43+0x120/0x330
    [&lt;000000000b4760ff&gt;] vcap_api_rule_remove_in_front_test+0x170/0x658
    [&lt;000000000f88f9cb&gt;] kunit_try_run_case+0x50/0xac
    [&lt;00000000e848de5a&gt;] kunit_generic_run_threadfn_adapter+0x20/0x2c
    [&lt;0000000058a88b6b&gt;] kthread+0x124/0x130
    [&lt;00000000891cf28a&gt;] ret_from_fork+0x10/0x20

Fixes: dccc30cc4906 ("net: microchip: sparx5: Add KUNIT test of counters and sorted rules")
Signed-off-by: Jinjie Ruan &lt;ruanjinjie@huawei.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Inject fault while probing kunit-example-test.ko, the duprule which
is allocated by kzalloc in vcap_dup_rule() of
test_vcap_xn_rule_creator() is not freed, and it cause the memory leaks
below. Use vcap_del_rule() to free them as other functions do it.

unreferenced object 0xffff6eb4846f6180 (size 192):
  comm "kunit_try_catch", pid 405, jiffies 4294895522 (age 880.004s)
  hex dump (first 32 bytes):
    10 27 00 00 04 00 00 00 0a 00 00 00 f4 01 00 00  .'..............
    00 00 00 00 00 00 00 00 98 61 6f 84 b4 6e ff ff  .........ao..n..
  backtrace:
    [&lt;00000000f1b5b86e&gt;] slab_post_alloc_hook+0xb8/0x368
    [&lt;00000000c56cdd9a&gt;] __kmem_cache_alloc_node+0x174/0x290
    [&lt;0000000046ef1b64&gt;] kmalloc_trace+0x40/0x164
    [&lt;000000008565145b&gt;] vcap_dup_rule+0x38/0x210
    [&lt;00000000bd9e1f12&gt;] vcap_add_rule+0x29c/0x32c
    [&lt;0000000070a539b1&gt;] test_vcap_xn_rule_creator.constprop.43+0x120/0x330
    [&lt;00000000d2ac4ccb&gt;] vcap_api_rule_insert_in_order_test+0xa4/0x114
    [&lt;000000000f88f9cb&gt;] kunit_try_run_case+0x50/0xac
    [&lt;00000000e848de5a&gt;] kunit_generic_run_threadfn_adapter+0x20/0x2c
    [&lt;0000000058a88b6b&gt;] kthread+0x124/0x130
    [&lt;00000000891cf28a&gt;] ret_from_fork+0x10/0x20
unreferenced object 0xffff6eb4846f6240 (size 192):
  comm "kunit_try_catch", pid 405, jiffies 4294895524 (age 879.996s)
  hex dump (first 32 bytes):
    10 27 00 00 04 00 00 00 14 00 00 00 90 01 00 00  .'..............
    00 00 00 00 00 00 00 00 58 62 6f 84 b4 6e ff ff  ........Xbo..n..
  backtrace:
    [&lt;00000000f1b5b86e&gt;] slab_post_alloc_hook+0xb8/0x368
    [&lt;00000000c56cdd9a&gt;] __kmem_cache_alloc_node+0x174/0x290
    [&lt;0000000046ef1b64&gt;] kmalloc_trace+0x40/0x164
    [&lt;000000008565145b&gt;] vcap_dup_rule+0x38/0x210
    [&lt;00000000bd9e1f12&gt;] vcap_add_rule+0x29c/0x32c
    [&lt;0000000070a539b1&gt;] test_vcap_xn_rule_creator.constprop.43+0x120/0x330
    [&lt;0000000052e6ad35&gt;] vcap_api_rule_insert_in_order_test+0xbc/0x114
    [&lt;000000000f88f9cb&gt;] kunit_try_run_case+0x50/0xac
    [&lt;00000000e848de5a&gt;] kunit_generic_run_threadfn_adapter+0x20/0x2c
    [&lt;0000000058a88b6b&gt;] kthread+0x124/0x130
    [&lt;00000000891cf28a&gt;] ret_from_fork+0x10/0x20
unreferenced object 0xffff6eb4846f6300 (size 192):
  comm "kunit_try_catch", pid 405, jiffies 4294895524 (age 879.996s)
  hex dump (first 32 bytes):
    10 27 00 00 04 00 00 00 1e 00 00 00 2c 01 00 00  .'..........,...
    00 00 00 00 00 00 00 00 18 63 6f 84 b4 6e ff ff  .........co..n..
  backtrace:
    [&lt;00000000f1b5b86e&gt;] slab_post_alloc_hook+0xb8/0x368
    [&lt;00000000c56cdd9a&gt;] __kmem_cache_alloc_node+0x174/0x290
    [&lt;0000000046ef1b64&gt;] kmalloc_trace+0x40/0x164
    [&lt;000000008565145b&gt;] vcap_dup_rule+0x38/0x210
    [&lt;00000000bd9e1f12&gt;] vcap_add_rule+0x29c/0x32c
    [&lt;0000000070a539b1&gt;] test_vcap_xn_rule_creator.constprop.43+0x120/0x330
    [&lt;000000001b0895d4&gt;] vcap_api_rule_insert_in_order_test+0xd4/0x114
    [&lt;000000000f88f9cb&gt;] kunit_try_run_case+0x50/0xac
    [&lt;00000000e848de5a&gt;] kunit_generic_run_threadfn_adapter+0x20/0x2c
    [&lt;0000000058a88b6b&gt;] kthread+0x124/0x130
    [&lt;00000000891cf28a&gt;] ret_from_fork+0x10/0x20
unreferenced object 0xffff6eb4846f63c0 (size 192):
  comm "kunit_try_catch", pid 405, jiffies 4294895524 (age 880.012s)
  hex dump (first 32 bytes):
    10 27 00 00 04 00 00 00 28 00 00 00 c8 00 00 00  .'......(.......
    00 00 00 00 00 00 00 00 d8 63 6f 84 b4 6e ff ff  .........co..n..
  backtrace:
    [&lt;00000000f1b5b86e&gt;] slab_post_alloc_hook+0xb8/0x368
    [&lt;00000000c56cdd9a&gt;] __kmem_cache_alloc_node+0x174/0x290
    [&lt;0000000046ef1b64&gt;] kmalloc_trace+0x40/0x164
    [&lt;000000008565145b&gt;] vcap_dup_rule+0x38/0x210
    [&lt;00000000bd9e1f12&gt;] vcap_add_rule+0x29c/0x32c
    [&lt;0000000070a539b1&gt;] test_vcap_xn_rule_creator.constprop.43+0x120/0x330
    [&lt;00000000134c151f&gt;] vcap_api_rule_insert_in_order_test+0xec/0x114
    [&lt;000000000f88f9cb&gt;] kunit_try_run_case+0x50/0xac
    [&lt;00000000e848de5a&gt;] kunit_generic_run_threadfn_adapter+0x20/0x2c
    [&lt;0000000058a88b6b&gt;] kthread+0x124/0x130
    [&lt;00000000891cf28a&gt;] ret_from_fork+0x10/0x20
unreferenced object 0xffff6eb4845fc180 (size 192):
  comm "kunit_try_catch", pid 407, jiffies 4294895527 (age 880.000s)
  hex dump (first 32 bytes):
    10 27 00 00 04 00 00 00 14 00 00 00 c8 00 00 00  .'..............
    00 00 00 00 00 00 00 00 98 c1 5f 84 b4 6e ff ff  .........._..n..
  backtrace:
    [&lt;00000000f1b5b86e&gt;] slab_post_alloc_hook+0xb8/0x368
    [&lt;00000000c56cdd9a&gt;] __kmem_cache_alloc_node+0x174/0x290
    [&lt;0000000046ef1b64&gt;] kmalloc_trace+0x40/0x164
    [&lt;000000008565145b&gt;] vcap_dup_rule+0x38/0x210
    [&lt;00000000bd9e1f12&gt;] vcap_add_rule+0x29c/0x32c
    [&lt;0000000070a539b1&gt;] test_vcap_xn_rule_creator.constprop.43+0x120/0x330
    [&lt;00000000fa5f64d3&gt;] vcap_api_rule_insert_reverse_order_test+0xc8/0x600
    [&lt;000000000f88f9cb&gt;] kunit_try_run_case+0x50/0xac
    [&lt;00000000e848de5a&gt;] kunit_generic_run_threadfn_adapter+0x20/0x2c
    [&lt;0000000058a88b6b&gt;] kthread+0x124/0x130
    [&lt;00000000891cf28a&gt;] ret_from_fork+0x10/0x20
unreferenced object 0xffff6eb4845fc240 (size 192):
  comm "kunit_try_catch", pid 407, jiffies 4294895527 (age 880.000s)
  hex dump (first 32 bytes):
    10 27 00 00 04 00 00 00 1e 00 00 00 2c 01 00 00  .'..........,...
    00 00 00 00 00 00 00 00 58 c2 5f 84 b4 6e ff ff  ........X._..n..
  backtrace:
    [&lt;00000000f1b5b86e&gt;] slab_post_alloc_hook+0xb8/0x368
    [&lt;00000000c56cdd9a&gt;] __kmem_cache_alloc_node+0x174/0x290
    [&lt;0000000046ef1b64&gt;] kmalloc_trace+0x40/0x164
    [&lt;000000008565145b&gt;] vcap_dup_rule+0x38/0x210
    [&lt;00000000453dcd80&gt;] vcap_add_rule+0x134/0x32c
    [&lt;0000000070a539b1&gt;] test_vcap_xn_rule_creator.constprop.43+0x120/0x330
    [&lt;00000000a7db42de&gt;] vcap_api_rule_insert_reverse_order_test+0x108/0x600
    [&lt;000000000f88f9cb&gt;] kunit_try_run_case+0x50/0xac
    [&lt;00000000e848de5a&gt;] kunit_generic_run_threadfn_adapter+0x20/0x2c
    [&lt;0000000058a88b6b&gt;] kthread+0x124/0x130
    [&lt;00000000891cf28a&gt;] ret_from_fork+0x10/0x20
unreferenced object 0xffff6eb4845fc300 (size 192):
  comm "kunit_try_catch", pid 407, jiffies 4294895527 (age 880.000s)
  hex dump (first 32 bytes):
    10 27 00 00 04 00 00 00 28 00 00 00 90 01 00 00  .'......(.......
    00 00 00 00 00 00 00 00 18 c3 5f 84 b4 6e ff ff  .........._..n..
  backtrace:
    [&lt;00000000f1b5b86e&gt;] slab_post_alloc_hook+0xb8/0x368
    [&lt;00000000c56cdd9a&gt;] __kmem_cache_alloc_node+0x174/0x290
    [&lt;0000000046ef1b64&gt;] kmalloc_trace+0x40/0x164
    [&lt;000000008565145b&gt;] vcap_dup_rule+0x38/0x210
    [&lt;00000000453dcd80&gt;] vcap_add_rule+0x134/0x32c
    [&lt;0000000070a539b1&gt;] test_vcap_xn_rule_creator.constprop.43+0x120/0x330
    [&lt;00000000ea416c94&gt;] vcap_api_rule_insert_reverse_order_test+0x150/0x600
    [&lt;000000000f88f9cb&gt;] kunit_try_run_case+0x50/0xac
    [&lt;00000000e848de5a&gt;] kunit_generic_run_threadfn_adapter+0x20/0x2c
    [&lt;0000000058a88b6b&gt;] kthread+0x124/0x130
    [&lt;00000000891cf28a&gt;] ret_from_fork+0x10/0x20
unreferenced object 0xffff6eb4845fc3c0 (size 192):
  comm "kunit_try_catch", pid 407, jiffies 4294895527 (age 880.020s)
  hex dump (first 32 bytes):
    10 27 00 00 04 00 00 00 32 00 00 00 f4 01 00 00  .'......2.......
    00 00 00 00 00 00 00 00 d8 c3 5f 84 b4 6e ff ff  .........._..n..
  backtrace:
    [&lt;00000000f1b5b86e&gt;] slab_post_alloc_hook+0xb8/0x368
    [&lt;00000000c56cdd9a&gt;] __kmem_cache_alloc_node+0x174/0x290
    [&lt;0000000046ef1b64&gt;] kmalloc_trace+0x40/0x164
    [&lt;000000008565145b&gt;] vcap_dup_rule+0x38/0x210
    [&lt;00000000453dcd80&gt;] vcap_add_rule+0x134/0x32c
    [&lt;0000000070a539b1&gt;] test_vcap_xn_rule_creator.constprop.43+0x120/0x330
    [&lt;00000000764a39b4&gt;] vcap_api_rule_insert_reverse_order_test+0x198/0x600
    [&lt;000000000f88f9cb&gt;] kunit_try_run_case+0x50/0xac
    [&lt;00000000e848de5a&gt;] kunit_generic_run_threadfn_adapter+0x20/0x2c
    [&lt;0000000058a88b6b&gt;] kthread+0x124/0x130
    [&lt;00000000891cf28a&gt;] ret_from_fork+0x10/0x20
unreferenced object 0xffff6eb484cd4240 (size 192):
  comm "kunit_try_catch", pid 413, jiffies 4294895543 (age 879.956s)
  hex dump (first 32 bytes):
    10 27 00 00 04 00 00 00 1e 00 00 00 2c 01 00 00  .'..........,...
    00 00 00 00 00 00 00 00 58 42 cd 84 b4 6e ff ff  ........XB...n..
  backtrace:
    [&lt;00000000f1b5b86e&gt;] slab_post_alloc_hook+0xb8/0x368
    [&lt;00000000c56cdd9a&gt;] __kmem_cache_alloc_node+0x174/0x290
    [&lt;0000000046ef1b64&gt;] kmalloc_trace+0x40/0x164
    [&lt;000000008565145b&gt;] vcap_dup_rule+0x38/0x210
    [&lt;00000000bd9e1f12&gt;] vcap_add_rule+0x29c/0x32c
    [&lt;0000000070a539b1&gt;] test_vcap_xn_rule_creator.constprop.43+0x120/0x330
    [&lt;0000000023976dd4&gt;] vcap_api_rule_remove_in_front_test+0x158/0x658
    [&lt;000000000f88f9cb&gt;] kunit_try_run_case+0x50/0xac
    [&lt;00000000e848de5a&gt;] kunit_generic_run_threadfn_adapter+0x20/0x2c
    [&lt;0000000058a88b6b&gt;] kthread+0x124/0x130
    [&lt;00000000891cf28a&gt;] ret_from_fork+0x10/0x20
unreferenced object 0xffff6eb484cd4300 (size 192):
  comm "kunit_try_catch", pid 413, jiffies 4294895543 (age 879.956s)
  hex dump (first 32 bytes):
    10 27 00 00 04 00 00 00 28 00 00 00 c8 00 00 00  .'......(.......
    00 00 00 00 00 00 00 00 18 43 cd 84 b4 6e ff ff  .........C...n..
  backtrace:
    [&lt;00000000f1b5b86e&gt;] slab_post_alloc_hook+0xb8/0x368
    [&lt;00000000c56cdd9a&gt;] __kmem_cache_alloc_node+0x174/0x290
    [&lt;0000000046ef1b64&gt;] kmalloc_trace+0x40/0x164
    [&lt;000000008565145b&gt;] vcap_dup_rule+0x38/0x210
    [&lt;00000000bd9e1f12&gt;] vcap_add_rule+0x29c/0x32c
    [&lt;0000000070a539b1&gt;] test_vcap_xn_rule_creator.constprop.43+0x120/0x330
    [&lt;000000000b4760ff&gt;] vcap_api_rule_remove_in_front_test+0x170/0x658
    [&lt;000000000f88f9cb&gt;] kunit_try_run_case+0x50/0xac
    [&lt;00000000e848de5a&gt;] kunit_generic_run_threadfn_adapter+0x20/0x2c
    [&lt;0000000058a88b6b&gt;] kthread+0x124/0x130
    [&lt;00000000891cf28a&gt;] ret_from_fork+0x10/0x20

Fixes: dccc30cc4906 ("net: microchip: sparx5: Add KUNIT test of counters and sorted rules")
Signed-off-by: Jinjie Ruan &lt;ruanjinjie@huawei.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
