<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/net/handshake, branch v6.16</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>module: Convert symbol namespace to string literal</title>
<updated>2024-12-02T19:34:44+00:00</updated>
<author>
<name>Peter Zijlstra</name>
<email>peterz@infradead.org</email>
</author>
<published>2024-12-02T14:59:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=cdd30ebb1b9f36159d66f088b61aee264e649d7a'/>
<id>cdd30ebb1b9f36159d66f088b61aee264e649d7a</id>
<content type='text'>
Clean up the existing export namespace code along the same lines of
commit 33def8498fdd ("treewide: Convert macro and uses of __section(foo)
to __section("foo")") and for the same reason, it is not desired for the
namespace argument to be a macro expansion itself.

Scripted using

  git grep -l -e MODULE_IMPORT_NS -e EXPORT_SYMBOL_NS | while read file;
  do
    awk -i inplace '
      /^#define EXPORT_SYMBOL_NS/ {
        gsub(/__stringify\(ns\)/, "ns");
        print;
        next;
      }
      /^#define MODULE_IMPORT_NS/ {
        gsub(/__stringify\(ns\)/, "ns");
        print;
        next;
      }
      /MODULE_IMPORT_NS/ {
        $0 = gensub(/MODULE_IMPORT_NS\(([^)]*)\)/, "MODULE_IMPORT_NS(\"\\1\")", "g");
      }
      /EXPORT_SYMBOL_NS/ {
        if ($0 ~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+),/) {
  	if ($0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/ &amp;&amp;
  	    $0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(\)/ &amp;&amp;
  	    $0 !~ /^my/) {
  	  getline line;
  	  gsub(/[[:space:]]*\\$/, "");
  	  gsub(/[[:space:]]/, "", line);
  	  $0 = $0 " " line;
  	}

  	$0 = gensub(/(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/,
  		    "\\1(\\2, \"\\3\")", "g");
        }
      }
      { print }' $file;
  done

Requested-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;
Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Link: https://mail.google.com/mail/u/2/#inbox/FMfcgzQXKWgMmjdFwwdsfgxzKpVHWPlc
Acked-by: Greg KH &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Clean up the existing export namespace code along the same lines of
commit 33def8498fdd ("treewide: Convert macro and uses of __section(foo)
to __section("foo")") and for the same reason, it is not desired for the
namespace argument to be a macro expansion itself.

Scripted using

  git grep -l -e MODULE_IMPORT_NS -e EXPORT_SYMBOL_NS | while read file;
  do
    awk -i inplace '
      /^#define EXPORT_SYMBOL_NS/ {
        gsub(/__stringify\(ns\)/, "ns");
        print;
        next;
      }
      /^#define MODULE_IMPORT_NS/ {
        gsub(/__stringify\(ns\)/, "ns");
        print;
        next;
      }
      /MODULE_IMPORT_NS/ {
        $0 = gensub(/MODULE_IMPORT_NS\(([^)]*)\)/, "MODULE_IMPORT_NS(\"\\1\")", "g");
      }
      /EXPORT_SYMBOL_NS/ {
        if ($0 ~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+),/) {
  	if ($0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/ &amp;&amp;
  	    $0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(\)/ &amp;&amp;
  	    $0 !~ /^my/) {
  	  getline line;
  	  gsub(/[[:space:]]*\\$/, "");
  	  gsub(/[[:space:]]/, "", line);
  	  $0 = $0 " " line;
  	}

  	$0 = gensub(/(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/,
  		    "\\1(\\2, \"\\3\")", "g");
        }
      }
      { print }' $file;
  done

Requested-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;
Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Link: https://mail.google.com/mail/u/2/#inbox/FMfcgzQXKWgMmjdFwwdsfgxzKpVHWPlc
Acked-by: Greg KH &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>remove pointless includes of &lt;linux/fdtable.h&gt;</title>
<updated>2024-10-07T17:34:41+00:00</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2024-06-03T03:58:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=be5498cac2ddb112c5bd7433d5e834a1a2493427'/>
<id>be5498cac2ddb112c5bd7433d5e834a1a2493427</id>
<content type='text'>
some of those used to be needed, some had been cargo-culted for
no reason...

Reviewed-by: Christian Brauner &lt;brauner@kernel.org&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
some of those used to be needed, some had been cargo-culted for
no reason...

Reviewed-by: Christian Brauner &lt;brauner@kernel.org&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net/handshake: use sockfd_put() helper</title>
<updated>2024-08-27T23:09:25+00:00</updated>
<author>
<name>A K M Fazla Mehrab</name>
<email>a.mehrab@bytedance.com</email>
</author>
<published>2024-08-26T18:26:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=85d4cf56e95ae0bb381587f229420a0eb6ab1d0a'/>
<id>85d4cf56e95ae0bb381587f229420a0eb6ab1d0a</id>
<content type='text'>
Replace fput() with sockfd_put() in handshake_nl_done_doit().

Signed-off-by: A K M Fazla Mehrab &lt;a.mehrab@bytedance.com&gt;
Reviewed-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Link: https://patch.msgid.link/20240826182652.2449359-1-a.mehrab@bytedance.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace fput() with sockfd_put() in handshake_nl_done_doit().

Signed-off-by: A K M Fazla Mehrab &lt;a.mehrab@bytedance.com&gt;
Reviewed-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Link: https://patch.msgid.link/20240826182652.2449359-1-a.mehrab@bytedance.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net/handshake: remove redundant assignment to variable ret</title>
<updated>2024-04-17T00:14:55+00:00</updated>
<author>
<name>Colin Ian King</name>
<email>colin.i.king@gmail.com</email>
</author>
<published>2024-04-15T10:07:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c2b640529ec7595b4f82f1630da1ac9697a0c927'/>
<id>c2b640529ec7595b4f82f1630da1ac9697a0c927</id>
<content type='text'>
The variable is being assigned an value and then is being re-assigned
a new value in the next statement. The assignment is redundant and can
be removed.

Cleans up clang scan build warning:
net/handshake/tlshd.c:216:2: warning: Value stored to 'ret' is never
read [deadcode.DeadStores]

Signed-off-by: Colin Ian King &lt;colin.i.king@gmail.com&gt;
Reviewed-by: Jason Xing &lt;kerneljasonxing@gmail.com&gt;
Acked-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Link: https://lore.kernel.org/r/20240415100713.483399-1-colin.i.king@gmail.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The variable is being assigned an value and then is being re-assigned
a new value in the next statement. The assignment is redundant and can
be removed.

Cleans up clang scan build warning:
net/handshake/tlshd.c:216:2: warning: Value stored to 'ret' is never
read [deadcode.DeadStores]

Signed-off-by: Colin Ian King &lt;colin.i.king@gmail.com&gt;
Reviewed-by: Jason Xing &lt;kerneljasonxing@gmail.com&gt;
Acked-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Link: https://lore.kernel.org/r/20240415100713.483399-1-colin.i.king@gmail.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net/handshake: Fix handshake_req_destroy_test1</title>
<updated>2024-02-09T02:32:29+00:00</updated>
<author>
<name>Chuck Lever</name>
<email>chuck.lever@oracle.com</email>
</author>
<published>2024-02-06T19:16:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=4e1d71cabb19ec2586827adfc60d68689c68c194'/>
<id>4e1d71cabb19ec2586827adfc60d68689c68c194</id>
<content type='text'>
Recently, handshake_req_destroy_test1 started failing:

Expected handshake_req_destroy_test == req, but
    handshake_req_destroy_test == 0000000000000000
    req == 0000000060f99b40
not ok 11 req_destroy works

This is because "sock_release(sock)" was replaced with "fput(filp)"
to address a memory leak. Note that sock_release() is synchronous
but fput() usually delays the final close and clean-up.

The delay is not consequential in the other cases that were changed
but handshake_req_destroy_test1 is testing that handshake_req_cancel()
followed by closing the file actually does call the -&gt;hp_destroy
method. Thus the PTR_EQ test at the end has to be sure that the
final close is complete before it checks the pointer.

We cannot use a completion here because if -&gt;hp_destroy is never
called (ie, there is an API bug) then the test will hang.

Reported by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Closes: https://lore.kernel.org/netdev/ZcKDd1to4MPANCrn@tissot.1015granger.net/T/#mac5c6299f86799f1c71776f3a07f9c566c7c3c40
Fixes: 4a0f07d71b04 ("net/handshake: Fix memory leak in __sock_create() and sock_alloc_file()")
Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
Link: https://lore.kernel.org/r/170724699027.91401.7839730697326806733.stgit@oracle-102.nfsv4bat.org
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Recently, handshake_req_destroy_test1 started failing:

Expected handshake_req_destroy_test == req, but
    handshake_req_destroy_test == 0000000000000000
    req == 0000000060f99b40
not ok 11 req_destroy works

This is because "sock_release(sock)" was replaced with "fput(filp)"
to address a memory leak. Note that sock_release() is synchronous
but fput() usually delays the final close and clean-up.

The delay is not consequential in the other cases that were changed
but handshake_req_destroy_test1 is testing that handshake_req_cancel()
followed by closing the file actually does call the -&gt;hp_destroy
method. Thus the PTR_EQ test at the end has to be sure that the
final close is complete before it checks the pointer.

We cannot use a completion here because if -&gt;hp_destroy is never
called (ie, there is an API bug) then the test will hang.

Reported by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Closes: https://lore.kernel.org/netdev/ZcKDd1to4MPANCrn@tissot.1015granger.net/T/#mac5c6299f86799f1c71776f3a07f9c566c7c3c40
Fixes: 4a0f07d71b04 ("net/handshake: Fix memory leak in __sock_create() and sock_alloc_file()")
Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
Link: https://lore.kernel.org/r/170724699027.91401.7839730697326806733.stgit@oracle-102.nfsv4bat.org
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-26T20:46:28+00:00</updated>
<author>
<name>Jakub Kicinski</name>
<email>kuba@kernel.org</email>
</author>
<published>2023-10-26T20:42:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ec4c20ca09831ddba8fac10a7d82a9902e96e717'/>
<id>ec4c20ca09831ddba8fac10a7d82a9902e96e717</id>
<content type='text'>
Cross-merge networking fixes after downstream PR.

Conflicts:

net/mac80211/rx.c
  91535613b609 ("wifi: mac80211: don't drop all unprotected public action frames")
  6c02fab72429 ("wifi: mac80211: split ieee80211_drop_unencrypted_mgmt() return value")

Adjacent changes:

drivers/net/ethernet/apm/xgene/xgene_enet_main.c
  61471264c018 ("net: ethernet: apm: Convert to platform remove callback returning void")
  d2ca43f30611 ("net: xgene: Fix unused xgene_enet_of_match warning for !CONFIG_OF")

net/vmw_vsock/virtio_transport.c
  64c99d2d6ada ("vsock/virtio: support to send non-linear skb")
  53b08c498515 ("vsock/virtio: initialize the_virtio_vsock before using VQs")

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.

Conflicts:

net/mac80211/rx.c
  91535613b609 ("wifi: mac80211: don't drop all unprotected public action frames")
  6c02fab72429 ("wifi: mac80211: split ieee80211_drop_unencrypted_mgmt() return value")

Adjacent changes:

drivers/net/ethernet/apm/xgene/xgene_enet_main.c
  61471264c018 ("net: ethernet: apm: Convert to platform remove callback returning void")
  d2ca43f30611 ("net: xgene: Fix unused xgene_enet_of_match warning for !CONFIG_OF")

net/vmw_vsock/virtio_transport.c
  64c99d2d6ada ("vsock/virtio: support to send non-linear skb")
  53b08c498515 ("vsock/virtio: initialize the_virtio_vsock before using VQs")

Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net/handshake: fix file ref count in handshake_nl_accept_doit()</title>
<updated>2023-10-23T17:19:33+00:00</updated>
<author>
<name>Moritz Wanzenböck</name>
<email>moritz.wanzenboeck@linbit.com</email>
</author>
<published>2023-10-19T12:58:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=7798b59409c345d4a6034a4326bceb9f7e2e8b58'/>
<id>7798b59409c345d4a6034a4326bceb9f7e2e8b58</id>
<content type='text'>
If req-&gt;hr_proto-&gt;hp_accept() fail, we call fput() twice:
Once in the error path, but also a second time because sock-&gt;file
is at that point already associated with the file descriptor. Once
the task exits, as it would probably do after receiving an error
reading from netlink, the fd is closed, calling fput() a second time.

To fix, we move installing the file after the error path for the
hp_accept() call. In the case of errors we simply put the unused fd.
In case of success we can use fd_install() to link the sock-&gt;file
to the reserved fd.

Fixes: 7ea9c1ec66bc ("net/handshake: Fix handshake_dup() ref counting")
Signed-off-by: Moritz Wanzenböck &lt;moritz.wanzenboeck@linbit.com&gt;
Reviewed-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Link: https://lore.kernel.org/r/20231019125847.276443-1-moritz.wanzenboeck@linbit.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If req-&gt;hr_proto-&gt;hp_accept() fail, we call fput() twice:
Once in the error path, but also a second time because sock-&gt;file
is at that point already associated with the file descriptor. Once
the task exits, as it would probably do after receiving an error
reading from netlink, the fd is closed, calling fput() a second time.

To fix, we move installing the file after the error path for the
hp_accept() call. In the case of errors we simply put the unused fd.
In case of success we can use fd_install() to link the sock-&gt;file
to the reserved fd.

Fixes: 7ea9c1ec66bc ("net/handshake: Fix handshake_dup() ref counting")
Signed-off-by: Moritz Wanzenböck &lt;moritz.wanzenboeck@linbit.com&gt;
Reviewed-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Link: https://lore.kernel.org/r/20231019125847.276443-1-moritz.wanzenboeck@linbit.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>handshake: Fix sign of key_serial_t fields</title>
<updated>2023-10-02T19:34:21+00:00</updated>
<author>
<name>Chuck Lever</name>
<email>chuck.lever@oracle.com</email>
</author>
<published>2023-09-21T13:08:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=160f404495aa9282cac99b518d1b379e31ef1bdd'/>
<id>160f404495aa9282cac99b518d1b379e31ef1bdd</id>
<content type='text'>
key_serial_t fields are signed integers. Use nla_get/put_s32 for
those to avoid implicit signed conversion in the netlink protocol.

Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Reviewed-by: Simon Horman &lt;horms@kernel.org&gt;
Link: https://lore.kernel.org/r/169530167716.8905.645746457741372879.stgit@oracle-102.nfsv4bat.org
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
key_serial_t fields are signed integers. Use nla_get/put_s32 for
those to avoid implicit signed conversion in the netlink protocol.

Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Reviewed-by: Simon Horman &lt;horms@kernel.org&gt;
Link: https://lore.kernel.org/r/169530167716.8905.645746457741372879.stgit@oracle-102.nfsv4bat.org
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>handshake: Fix sign of socket file descriptor fields</title>
<updated>2023-10-02T19:34:21+00:00</updated>
<author>
<name>Chuck Lever</name>
<email>chuck.lever@oracle.com</email>
</author>
<published>2023-09-21T13:07:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=a6b07a51b161ba1ad3d81919955fe77b697f9d48'/>
<id>a6b07a51b161ba1ad3d81919955fe77b697f9d48</id>
<content type='text'>
Socket file descriptors are signed integers. Use nla_get/put_s32 for
those to avoid implicit signed conversion in the netlink protocol.

Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Reviewed-by: Simon Horman &lt;horms@kernel.org&gt;
Link: https://lore.kernel.org/r/169530165057.8905.8650469415145814828.stgit@oracle-102.nfsv4bat.org
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Socket file descriptors are signed integers. Use nla_get/put_s32 for
those to avoid implicit signed conversion in the netlink protocol.

Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Reviewed-by: Simon Horman &lt;horms@kernel.org&gt;
Link: https://lore.kernel.org/r/169530165057.8905.8650469415145814828.stgit@oracle-102.nfsv4bat.org
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net/handshake: Fix memory leak in __sock_create() and sock_alloc_file()</title>
<updated>2023-09-20T10:54:49+00:00</updated>
<author>
<name>Jinjie Ruan</name>
<email>ruanjinjie@huawei.com</email>
</author>
<published>2023-09-19T10:44:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=4a0f07d71b0483cc08c03cefa7c85749e187c214'/>
<id>4a0f07d71b0483cc08c03cefa7c85749e187c214</id>
<content type='text'>
When making CONFIG_DEBUG_KMEMLEAK=y and CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN=y,
modprobe handshake-test and then rmmmod handshake-test, the below memory
leak is detected.

The struct socket_alloc which is allocated by alloc_inode_sb() in
__sock_create() is not freed. And the struct dentry which is allocated
by __d_alloc() in sock_alloc_file() is not freed.

Since fput() will call file-&gt;f_op-&gt;release() which is sock_close() here and
it will call __sock_release(). and fput() will call dput(dentry) to free
the struct dentry. So replace sock_release() with fput() to fix the
below memory leak. After applying this patch, the following memory leak is
never detected.

unreferenced object 0xffff888109165840 (size 768):
  comm "kunit_try_catch", pid 1852, jiffies 4294685807 (age 976.262s)
  hex dump (first 32 bytes):
    01 00 00 00 01 00 5a 5a 20 00 00 00 00 00 00 00  ......ZZ .......
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff8397993f&gt;] sock_alloc_inode+0x1f/0x1b0
    [&lt;ffffffff81a2cb5b&gt;] alloc_inode+0x5b/0x1a0
    [&lt;ffffffff81a32bed&gt;] new_inode_pseudo+0xd/0x70
    [&lt;ffffffff8397889c&gt;] sock_alloc+0x3c/0x260
    [&lt;ffffffff83979b46&gt;] __sock_create+0x66/0x3d0
    [&lt;ffffffffa0209ba2&gt;] 0xffffffffa0209ba2
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff88810f472008 (size 192):
  comm "kunit_try_catch", pid 1852, jiffies 4294685808 (age 976.261s)
  hex dump (first 32 bytes):
    00 00 50 40 02 00 00 00 00 00 00 00 00 00 00 00  ..P@............
    00 00 00 00 00 00 00 00 08 20 47 0f 81 88 ff ff  ......... G.....
  backtrace:
    [&lt;ffffffff81a1ff11&gt;] __d_alloc+0x31/0x8a0
    [&lt;ffffffff81a2910e&gt;] d_alloc_pseudo+0xe/0x50
    [&lt;ffffffff819d549e&gt;] alloc_file_pseudo+0xce/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa0209bbb&gt;] 0xffffffffa0209bbb
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff88810958e580 (size 224):
  comm "kunit_try_catch", pid 1852, jiffies 4294685808 (age 976.261s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 03 00 2e 08 01 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff819d4b90&gt;] alloc_empty_file+0x50/0x160
    [&lt;ffffffff819d4cf9&gt;] alloc_file+0x59/0x730
    [&lt;ffffffff819d5524&gt;] alloc_file_pseudo+0x154/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa0209bbb&gt;] 0xffffffffa0209bbb
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff88810926dc88 (size 192):
  comm "kunit_try_catch", pid 1854, jiffies 4294685809 (age 976.271s)
  hex dump (first 32 bytes):
    00 00 50 40 02 00 00 00 00 00 00 00 00 00 00 00  ..P@............
    00 00 00 00 00 00 00 00 88 dc 26 09 81 88 ff ff  ..........&amp;.....
  backtrace:
    [&lt;ffffffff81a1ff11&gt;] __d_alloc+0x31/0x8a0
    [&lt;ffffffff81a2910e&gt;] d_alloc_pseudo+0xe/0x50
    [&lt;ffffffff819d549e&gt;] alloc_file_pseudo+0xce/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa0208fdc&gt;] 0xffffffffa0208fdc
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff88810a241380 (size 224):
  comm "kunit_try_catch", pid 1854, jiffies 4294685809 (age 976.271s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 03 00 2e 08 01 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff819d4b90&gt;] alloc_empty_file+0x50/0x160
    [&lt;ffffffff819d4cf9&gt;] alloc_file+0x59/0x730
    [&lt;ffffffff819d5524&gt;] alloc_file_pseudo+0x154/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa0208fdc&gt;] 0xffffffffa0208fdc
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff888109165040 (size 768):
  comm "kunit_try_catch", pid 1856, jiffies 4294685811 (age 976.269s)
  hex dump (first 32 bytes):
    01 00 00 00 01 00 5a 5a 20 00 00 00 00 00 00 00  ......ZZ .......
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff8397993f&gt;] sock_alloc_inode+0x1f/0x1b0
    [&lt;ffffffff81a2cb5b&gt;] alloc_inode+0x5b/0x1a0
    [&lt;ffffffff81a32bed&gt;] new_inode_pseudo+0xd/0x70
    [&lt;ffffffff8397889c&gt;] sock_alloc+0x3c/0x260
    [&lt;ffffffff83979b46&gt;] __sock_create+0x66/0x3d0
    [&lt;ffffffffa0208860&gt;] 0xffffffffa0208860
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff88810926d568 (size 192):
  comm "kunit_try_catch", pid 1856, jiffies 4294685811 (age 976.269s)
  hex dump (first 32 bytes):
    00 00 50 40 02 00 00 00 00 00 00 00 00 00 00 00  ..P@............
    00 00 00 00 00 00 00 00 68 d5 26 09 81 88 ff ff  ........h.&amp;.....
  backtrace:
    [&lt;ffffffff81a1ff11&gt;] __d_alloc+0x31/0x8a0
    [&lt;ffffffff81a2910e&gt;] d_alloc_pseudo+0xe/0x50
    [&lt;ffffffff819d549e&gt;] alloc_file_pseudo+0xce/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa0208879&gt;] 0xffffffffa0208879
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff88810a240580 (size 224):
  comm "kunit_try_catch", pid 1856, jiffies 4294685811 (age 976.347s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 03 00 2e 08 01 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff819d4b90&gt;] alloc_empty_file+0x50/0x160
    [&lt;ffffffff819d4cf9&gt;] alloc_file+0x59/0x730
    [&lt;ffffffff819d5524&gt;] alloc_file_pseudo+0x154/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa0208879&gt;] 0xffffffffa0208879
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff888109164c40 (size 768):
  comm "kunit_try_catch", pid 1858, jiffies 4294685816 (age 976.342s)
  hex dump (first 32 bytes):
    01 00 00 00 01 00 5a 5a 20 00 00 00 00 00 00 00  ......ZZ .......
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff8397993f&gt;] sock_alloc_inode+0x1f/0x1b0
    [&lt;ffffffff81a2cb5b&gt;] alloc_inode+0x5b/0x1a0
    [&lt;ffffffff81a32bed&gt;] new_inode_pseudo+0xd/0x70
    [&lt;ffffffff8397889c&gt;] sock_alloc+0x3c/0x260
    [&lt;ffffffff83979b46&gt;] __sock_create+0x66/0x3d0
    [&lt;ffffffffa0208541&gt;] 0xffffffffa0208541
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff88810926cd18 (size 192):
  comm "kunit_try_catch", pid 1858, jiffies 4294685816 (age 976.342s)
  hex dump (first 32 bytes):
    00 00 50 40 02 00 00 00 00 00 00 00 00 00 00 00  ..P@............
    00 00 00 00 00 00 00 00 18 cd 26 09 81 88 ff ff  ..........&amp;.....
  backtrace:
    [&lt;ffffffff81a1ff11&gt;] __d_alloc+0x31/0x8a0
    [&lt;ffffffff81a2910e&gt;] d_alloc_pseudo+0xe/0x50
    [&lt;ffffffff819d549e&gt;] alloc_file_pseudo+0xce/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa020855a&gt;] 0xffffffffa020855a
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff88810a240200 (size 224):
  comm "kunit_try_catch", pid 1858, jiffies 4294685816 (age 976.342s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 03 00 2e 08 01 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff819d4b90&gt;] alloc_empty_file+0x50/0x160
    [&lt;ffffffff819d4cf9&gt;] alloc_file+0x59/0x730
    [&lt;ffffffff819d5524&gt;] alloc_file_pseudo+0x154/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa020855a&gt;] 0xffffffffa020855a
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff888109164840 (size 768):
  comm "kunit_try_catch", pid 1860, jiffies 4294685817 (age 976.416s)
  hex dump (first 32 bytes):
    01 00 00 00 01 00 5a 5a 20 00 00 00 00 00 00 00  ......ZZ .......
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff8397993f&gt;] sock_alloc_inode+0x1f/0x1b0
    [&lt;ffffffff81a2cb5b&gt;] alloc_inode+0x5b/0x1a0
    [&lt;ffffffff81a32bed&gt;] new_inode_pseudo+0xd/0x70
    [&lt;ffffffff8397889c&gt;] sock_alloc+0x3c/0x260
    [&lt;ffffffff83979b46&gt;] __sock_create+0x66/0x3d0
    [&lt;ffffffffa02093e2&gt;] 0xffffffffa02093e2
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff88810926cab8 (size 192):
  comm "kunit_try_catch", pid 1860, jiffies 4294685817 (age 976.416s)
  hex dump (first 32 bytes):
    00 00 50 40 02 00 00 00 00 00 00 00 00 00 00 00  ..P@............
    00 00 00 00 00 00 00 00 b8 ca 26 09 81 88 ff ff  ..........&amp;.....
  backtrace:
    [&lt;ffffffff81a1ff11&gt;] __d_alloc+0x31/0x8a0
    [&lt;ffffffff81a2910e&gt;] d_alloc_pseudo+0xe/0x50
    [&lt;ffffffff819d549e&gt;] alloc_file_pseudo+0xce/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa02093fb&gt;] 0xffffffffa02093fb
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff88810a240040 (size 224):
  comm "kunit_try_catch", pid 1860, jiffies 4294685817 (age 976.416s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 03 00 2e 08 01 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff819d4b90&gt;] alloc_empty_file+0x50/0x160
    [&lt;ffffffff819d4cf9&gt;] alloc_file+0x59/0x730
    [&lt;ffffffff819d5524&gt;] alloc_file_pseudo+0x154/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa02093fb&gt;] 0xffffffffa02093fb
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff888109166440 (size 768):
  comm "kunit_try_catch", pid 1862, jiffies 4294685819 (age 976.489s)
  hex dump (first 32 bytes):
    01 00 00 00 01 00 5a 5a 20 00 00 00 00 00 00 00  ......ZZ .......
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff8397993f&gt;] sock_alloc_inode+0x1f/0x1b0
    [&lt;ffffffff81a2cb5b&gt;] alloc_inode+0x5b/0x1a0
    [&lt;ffffffff81a32bed&gt;] new_inode_pseudo+0xd/0x70
    [&lt;ffffffff8397889c&gt;] sock_alloc+0x3c/0x260
    [&lt;ffffffff83979b46&gt;] __sock_create+0x66/0x3d0
    [&lt;ffffffffa02097c1&gt;] 0xffffffffa02097c1
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff88810926c398 (size 192):
  comm "kunit_try_catch", pid 1862, jiffies 4294685819 (age 976.489s)
  hex dump (first 32 bytes):
    00 00 50 40 02 00 00 00 00 00 00 00 00 00 00 00  ..P@............
    00 00 00 00 00 00 00 00 98 c3 26 09 81 88 ff ff  ..........&amp;.....
  backtrace:
    [&lt;ffffffff81a1ff11&gt;] __d_alloc+0x31/0x8a0
    [&lt;ffffffff81a2910e&gt;] d_alloc_pseudo+0xe/0x50
    [&lt;ffffffff819d549e&gt;] alloc_file_pseudo+0xce/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa02097da&gt;] 0xffffffffa02097da
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff888107e0b8c0 (size 224):
  comm "kunit_try_catch", pid 1862, jiffies 4294685819 (age 976.489s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 03 00 2e 08 01 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff819d4b90&gt;] alloc_empty_file+0x50/0x160
    [&lt;ffffffff819d4cf9&gt;] alloc_file+0x59/0x730
    [&lt;ffffffff819d5524&gt;] alloc_file_pseudo+0x154/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa02097da&gt;] 0xffffffffa02097da
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff888109164440 (size 768):
  comm "kunit_try_catch", pid 1864, jiffies 4294685821 (age 976.487s)
  hex dump (first 32 bytes):
    01 00 00 00 01 00 5a 5a 20 00 00 00 00 00 00 00  ......ZZ .......
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff8397993f&gt;] sock_alloc_inode+0x1f/0x1b0
    [&lt;ffffffff81a2cb5b&gt;] alloc_inode+0x5b/0x1a0
    [&lt;ffffffff81a32bed&gt;] new_inode_pseudo+0xd/0x70
    [&lt;ffffffff8397889c&gt;] sock_alloc+0x3c/0x260
    [&lt;ffffffff83979b46&gt;] __sock_create+0x66/0x3d0
    [&lt;ffffffffa020824e&gt;] 0xffffffffa020824e
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff88810f4cf698 (size 192):
  comm "kunit_try_catch", pid 1864, jiffies 4294685821 (age 976.501s)
  hex dump (first 32 bytes):
    00 00 50 40 02 00 00 00 00 00 00 00 00 00 00 00  ..P@............
    00 00 00 00 00 00 00 00 98 f6 4c 0f 81 88 ff ff  ..........L.....
  backtrace:
    [&lt;ffffffff81a1ff11&gt;] __d_alloc+0x31/0x8a0
    [&lt;ffffffff81a2910e&gt;] d_alloc_pseudo+0xe/0x50
    [&lt;ffffffff819d549e&gt;] alloc_file_pseudo+0xce/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa0208267&gt;] 0xffffffffa0208267
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff888107e0b000 (size 224):
  comm "kunit_try_catch", pid 1864, jiffies 4294685821 (age 976.501s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 03 00 2e 08 01 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff819d4b90&gt;] alloc_empty_file+0x50/0x160
    [&lt;ffffffff819d4cf9&gt;] alloc_file+0x59/0x730
    [&lt;ffffffff819d5524&gt;] alloc_file_pseudo+0x154/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa0208267&gt;] 0xffffffffa0208267
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20

Fixes: 88232ec1ec5e ("net/handshake: Add Kunit tests for the handshake consumer API")
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>
When making CONFIG_DEBUG_KMEMLEAK=y and CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN=y,
modprobe handshake-test and then rmmmod handshake-test, the below memory
leak is detected.

The struct socket_alloc which is allocated by alloc_inode_sb() in
__sock_create() is not freed. And the struct dentry which is allocated
by __d_alloc() in sock_alloc_file() is not freed.

Since fput() will call file-&gt;f_op-&gt;release() which is sock_close() here and
it will call __sock_release(). and fput() will call dput(dentry) to free
the struct dentry. So replace sock_release() with fput() to fix the
below memory leak. After applying this patch, the following memory leak is
never detected.

unreferenced object 0xffff888109165840 (size 768):
  comm "kunit_try_catch", pid 1852, jiffies 4294685807 (age 976.262s)
  hex dump (first 32 bytes):
    01 00 00 00 01 00 5a 5a 20 00 00 00 00 00 00 00  ......ZZ .......
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff8397993f&gt;] sock_alloc_inode+0x1f/0x1b0
    [&lt;ffffffff81a2cb5b&gt;] alloc_inode+0x5b/0x1a0
    [&lt;ffffffff81a32bed&gt;] new_inode_pseudo+0xd/0x70
    [&lt;ffffffff8397889c&gt;] sock_alloc+0x3c/0x260
    [&lt;ffffffff83979b46&gt;] __sock_create+0x66/0x3d0
    [&lt;ffffffffa0209ba2&gt;] 0xffffffffa0209ba2
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff88810f472008 (size 192):
  comm "kunit_try_catch", pid 1852, jiffies 4294685808 (age 976.261s)
  hex dump (first 32 bytes):
    00 00 50 40 02 00 00 00 00 00 00 00 00 00 00 00  ..P@............
    00 00 00 00 00 00 00 00 08 20 47 0f 81 88 ff ff  ......... G.....
  backtrace:
    [&lt;ffffffff81a1ff11&gt;] __d_alloc+0x31/0x8a0
    [&lt;ffffffff81a2910e&gt;] d_alloc_pseudo+0xe/0x50
    [&lt;ffffffff819d549e&gt;] alloc_file_pseudo+0xce/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa0209bbb&gt;] 0xffffffffa0209bbb
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff88810958e580 (size 224):
  comm "kunit_try_catch", pid 1852, jiffies 4294685808 (age 976.261s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 03 00 2e 08 01 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff819d4b90&gt;] alloc_empty_file+0x50/0x160
    [&lt;ffffffff819d4cf9&gt;] alloc_file+0x59/0x730
    [&lt;ffffffff819d5524&gt;] alloc_file_pseudo+0x154/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa0209bbb&gt;] 0xffffffffa0209bbb
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff88810926dc88 (size 192):
  comm "kunit_try_catch", pid 1854, jiffies 4294685809 (age 976.271s)
  hex dump (first 32 bytes):
    00 00 50 40 02 00 00 00 00 00 00 00 00 00 00 00  ..P@............
    00 00 00 00 00 00 00 00 88 dc 26 09 81 88 ff ff  ..........&amp;.....
  backtrace:
    [&lt;ffffffff81a1ff11&gt;] __d_alloc+0x31/0x8a0
    [&lt;ffffffff81a2910e&gt;] d_alloc_pseudo+0xe/0x50
    [&lt;ffffffff819d549e&gt;] alloc_file_pseudo+0xce/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa0208fdc&gt;] 0xffffffffa0208fdc
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff88810a241380 (size 224):
  comm "kunit_try_catch", pid 1854, jiffies 4294685809 (age 976.271s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 03 00 2e 08 01 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff819d4b90&gt;] alloc_empty_file+0x50/0x160
    [&lt;ffffffff819d4cf9&gt;] alloc_file+0x59/0x730
    [&lt;ffffffff819d5524&gt;] alloc_file_pseudo+0x154/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa0208fdc&gt;] 0xffffffffa0208fdc
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff888109165040 (size 768):
  comm "kunit_try_catch", pid 1856, jiffies 4294685811 (age 976.269s)
  hex dump (first 32 bytes):
    01 00 00 00 01 00 5a 5a 20 00 00 00 00 00 00 00  ......ZZ .......
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff8397993f&gt;] sock_alloc_inode+0x1f/0x1b0
    [&lt;ffffffff81a2cb5b&gt;] alloc_inode+0x5b/0x1a0
    [&lt;ffffffff81a32bed&gt;] new_inode_pseudo+0xd/0x70
    [&lt;ffffffff8397889c&gt;] sock_alloc+0x3c/0x260
    [&lt;ffffffff83979b46&gt;] __sock_create+0x66/0x3d0
    [&lt;ffffffffa0208860&gt;] 0xffffffffa0208860
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff88810926d568 (size 192):
  comm "kunit_try_catch", pid 1856, jiffies 4294685811 (age 976.269s)
  hex dump (first 32 bytes):
    00 00 50 40 02 00 00 00 00 00 00 00 00 00 00 00  ..P@............
    00 00 00 00 00 00 00 00 68 d5 26 09 81 88 ff ff  ........h.&amp;.....
  backtrace:
    [&lt;ffffffff81a1ff11&gt;] __d_alloc+0x31/0x8a0
    [&lt;ffffffff81a2910e&gt;] d_alloc_pseudo+0xe/0x50
    [&lt;ffffffff819d549e&gt;] alloc_file_pseudo+0xce/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa0208879&gt;] 0xffffffffa0208879
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff88810a240580 (size 224):
  comm "kunit_try_catch", pid 1856, jiffies 4294685811 (age 976.347s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 03 00 2e 08 01 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff819d4b90&gt;] alloc_empty_file+0x50/0x160
    [&lt;ffffffff819d4cf9&gt;] alloc_file+0x59/0x730
    [&lt;ffffffff819d5524&gt;] alloc_file_pseudo+0x154/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa0208879&gt;] 0xffffffffa0208879
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff888109164c40 (size 768):
  comm "kunit_try_catch", pid 1858, jiffies 4294685816 (age 976.342s)
  hex dump (first 32 bytes):
    01 00 00 00 01 00 5a 5a 20 00 00 00 00 00 00 00  ......ZZ .......
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff8397993f&gt;] sock_alloc_inode+0x1f/0x1b0
    [&lt;ffffffff81a2cb5b&gt;] alloc_inode+0x5b/0x1a0
    [&lt;ffffffff81a32bed&gt;] new_inode_pseudo+0xd/0x70
    [&lt;ffffffff8397889c&gt;] sock_alloc+0x3c/0x260
    [&lt;ffffffff83979b46&gt;] __sock_create+0x66/0x3d0
    [&lt;ffffffffa0208541&gt;] 0xffffffffa0208541
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff88810926cd18 (size 192):
  comm "kunit_try_catch", pid 1858, jiffies 4294685816 (age 976.342s)
  hex dump (first 32 bytes):
    00 00 50 40 02 00 00 00 00 00 00 00 00 00 00 00  ..P@............
    00 00 00 00 00 00 00 00 18 cd 26 09 81 88 ff ff  ..........&amp;.....
  backtrace:
    [&lt;ffffffff81a1ff11&gt;] __d_alloc+0x31/0x8a0
    [&lt;ffffffff81a2910e&gt;] d_alloc_pseudo+0xe/0x50
    [&lt;ffffffff819d549e&gt;] alloc_file_pseudo+0xce/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa020855a&gt;] 0xffffffffa020855a
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff88810a240200 (size 224):
  comm "kunit_try_catch", pid 1858, jiffies 4294685816 (age 976.342s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 03 00 2e 08 01 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff819d4b90&gt;] alloc_empty_file+0x50/0x160
    [&lt;ffffffff819d4cf9&gt;] alloc_file+0x59/0x730
    [&lt;ffffffff819d5524&gt;] alloc_file_pseudo+0x154/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa020855a&gt;] 0xffffffffa020855a
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff888109164840 (size 768):
  comm "kunit_try_catch", pid 1860, jiffies 4294685817 (age 976.416s)
  hex dump (first 32 bytes):
    01 00 00 00 01 00 5a 5a 20 00 00 00 00 00 00 00  ......ZZ .......
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff8397993f&gt;] sock_alloc_inode+0x1f/0x1b0
    [&lt;ffffffff81a2cb5b&gt;] alloc_inode+0x5b/0x1a0
    [&lt;ffffffff81a32bed&gt;] new_inode_pseudo+0xd/0x70
    [&lt;ffffffff8397889c&gt;] sock_alloc+0x3c/0x260
    [&lt;ffffffff83979b46&gt;] __sock_create+0x66/0x3d0
    [&lt;ffffffffa02093e2&gt;] 0xffffffffa02093e2
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff88810926cab8 (size 192):
  comm "kunit_try_catch", pid 1860, jiffies 4294685817 (age 976.416s)
  hex dump (first 32 bytes):
    00 00 50 40 02 00 00 00 00 00 00 00 00 00 00 00  ..P@............
    00 00 00 00 00 00 00 00 b8 ca 26 09 81 88 ff ff  ..........&amp;.....
  backtrace:
    [&lt;ffffffff81a1ff11&gt;] __d_alloc+0x31/0x8a0
    [&lt;ffffffff81a2910e&gt;] d_alloc_pseudo+0xe/0x50
    [&lt;ffffffff819d549e&gt;] alloc_file_pseudo+0xce/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa02093fb&gt;] 0xffffffffa02093fb
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff88810a240040 (size 224):
  comm "kunit_try_catch", pid 1860, jiffies 4294685817 (age 976.416s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 03 00 2e 08 01 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff819d4b90&gt;] alloc_empty_file+0x50/0x160
    [&lt;ffffffff819d4cf9&gt;] alloc_file+0x59/0x730
    [&lt;ffffffff819d5524&gt;] alloc_file_pseudo+0x154/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa02093fb&gt;] 0xffffffffa02093fb
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff888109166440 (size 768):
  comm "kunit_try_catch", pid 1862, jiffies 4294685819 (age 976.489s)
  hex dump (first 32 bytes):
    01 00 00 00 01 00 5a 5a 20 00 00 00 00 00 00 00  ......ZZ .......
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff8397993f&gt;] sock_alloc_inode+0x1f/0x1b0
    [&lt;ffffffff81a2cb5b&gt;] alloc_inode+0x5b/0x1a0
    [&lt;ffffffff81a32bed&gt;] new_inode_pseudo+0xd/0x70
    [&lt;ffffffff8397889c&gt;] sock_alloc+0x3c/0x260
    [&lt;ffffffff83979b46&gt;] __sock_create+0x66/0x3d0
    [&lt;ffffffffa02097c1&gt;] 0xffffffffa02097c1
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff88810926c398 (size 192):
  comm "kunit_try_catch", pid 1862, jiffies 4294685819 (age 976.489s)
  hex dump (first 32 bytes):
    00 00 50 40 02 00 00 00 00 00 00 00 00 00 00 00  ..P@............
    00 00 00 00 00 00 00 00 98 c3 26 09 81 88 ff ff  ..........&amp;.....
  backtrace:
    [&lt;ffffffff81a1ff11&gt;] __d_alloc+0x31/0x8a0
    [&lt;ffffffff81a2910e&gt;] d_alloc_pseudo+0xe/0x50
    [&lt;ffffffff819d549e&gt;] alloc_file_pseudo+0xce/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa02097da&gt;] 0xffffffffa02097da
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff888107e0b8c0 (size 224):
  comm "kunit_try_catch", pid 1862, jiffies 4294685819 (age 976.489s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 03 00 2e 08 01 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff819d4b90&gt;] alloc_empty_file+0x50/0x160
    [&lt;ffffffff819d4cf9&gt;] alloc_file+0x59/0x730
    [&lt;ffffffff819d5524&gt;] alloc_file_pseudo+0x154/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa02097da&gt;] 0xffffffffa02097da
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff888109164440 (size 768):
  comm "kunit_try_catch", pid 1864, jiffies 4294685821 (age 976.487s)
  hex dump (first 32 bytes):
    01 00 00 00 01 00 5a 5a 20 00 00 00 00 00 00 00  ......ZZ .......
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff8397993f&gt;] sock_alloc_inode+0x1f/0x1b0
    [&lt;ffffffff81a2cb5b&gt;] alloc_inode+0x5b/0x1a0
    [&lt;ffffffff81a32bed&gt;] new_inode_pseudo+0xd/0x70
    [&lt;ffffffff8397889c&gt;] sock_alloc+0x3c/0x260
    [&lt;ffffffff83979b46&gt;] __sock_create+0x66/0x3d0
    [&lt;ffffffffa020824e&gt;] 0xffffffffa020824e
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff88810f4cf698 (size 192):
  comm "kunit_try_catch", pid 1864, jiffies 4294685821 (age 976.501s)
  hex dump (first 32 bytes):
    00 00 50 40 02 00 00 00 00 00 00 00 00 00 00 00  ..P@............
    00 00 00 00 00 00 00 00 98 f6 4c 0f 81 88 ff ff  ..........L.....
  backtrace:
    [&lt;ffffffff81a1ff11&gt;] __d_alloc+0x31/0x8a0
    [&lt;ffffffff81a2910e&gt;] d_alloc_pseudo+0xe/0x50
    [&lt;ffffffff819d549e&gt;] alloc_file_pseudo+0xce/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa0208267&gt;] 0xffffffffa0208267
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20
unreferenced object 0xffff888107e0b000 (size 224):
  comm "kunit_try_catch", pid 1864, jiffies 4294685821 (age 976.501s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 03 00 2e 08 01 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;ffffffff819d4b90&gt;] alloc_empty_file+0x50/0x160
    [&lt;ffffffff819d4cf9&gt;] alloc_file+0x59/0x730
    [&lt;ffffffff819d5524&gt;] alloc_file_pseudo+0x154/0x210
    [&lt;ffffffff83978582&gt;] sock_alloc_file+0x42/0x1b0
    [&lt;ffffffffa0208267&gt;] 0xffffffffa0208267
    [&lt;ffffffff829cf03a&gt;] kunit_generic_run_threadfn_adapter+0x4a/0x90
    [&lt;ffffffff81236fc6&gt;] kthread+0x2b6/0x380
    [&lt;ffffffff81096afd&gt;] ret_from_fork+0x2d/0x70
    [&lt;ffffffff81003511&gt;] ret_from_fork_asm+0x11/0x20

Fixes: 88232ec1ec5e ("net/handshake: Add Kunit tests for the handshake consumer API")
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>
