the returned buffer of register_sysctl() is stored into net_header
variable, but net_header is not used after, and compiler maybe
optimise the variable out, and lead kmemleak reported the below warning
	comm "swapper/0", pid 1, jiffies 
4294937448 (age 267.270s)
	hex dump (first 32 bytes):
	90 38 8b 01 c0 ff ff ff 00 00 00 00 01 00 00 00 .8..............
	01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
	backtrace:
	[<
ffffffc00020f134>] create_object+0x10c/0x2a0
	[<
ffffffc00070ff44>] kmemleak_alloc+0x54/0xa0
	[<
ffffffc0001fe378>] __kmalloc+0x1f8/0x4f8
	[<
ffffffc00028e984>] __register_sysctl_table+0x64/0x5a0
	[<
ffffffc00028eef0>] register_sysctl+0x30/0x40
	[<
ffffffc00099c304>] net_sysctl_init+0x20/0x58
	[<
ffffffc000994dd8>] sock_init+0x10/0xb0
	[<
ffffffc0000842e0>] do_one_initcall+0x90/0x1b8
	[<
ffffffc000966bac>] kernel_init_freeable+0x218/0x2f0
	[<
ffffffc00070ed6c>] kernel_init+0x1c/0xe8
	[<
ffffffc000083bfc>] ret_from_fork+0xc/0x50
	[<
ffffffffffffffff>] 0xffffffffffffffff <<end check kmemleak>>
Before fix, the objdump result on ARM64:
0000000000000000 <net_sysctl_init>:
   0:   
a9be7bfd        stp     x29, x30, [sp,#-32]!
   4:   
90000001        adrp    x1, 0 <net_sysctl_init>
   8:   
90000000        adrp    x0, 0 <net_sysctl_init>
   c:   
910003fd        mov     x29, sp
  10:   
91000021        add     x1, x1, #0x0
  14:   
91000000        add     x0, x0, #0x0
  18:   
a90153f3        stp     x19, x20, [sp,#16]
  1c:   
12800174        mov     w20, #0xfffffff4                // #-12
  20:   
94000000        bl      0 <register_sysctl>
  24:   
b4000120        cbz     x0, 48 <net_sysctl_init+0x48>
  28:   
90000013        adrp    x19, 0 <net_sysctl_init>
  2c:   
91000273        add     x19, x19, #0x0
  30:   
9101a260        add     x0, x19, #0x68
  34:   
94000000        bl      0 <register_pernet_subsys>
  38:   
2a0003f4        mov     w20, w0
  3c:   
35000060        cbnz    w0, 48 <net_sysctl_init+0x48>
  40:   
aa1303e0        mov     x0, x19
  44:   
94000000        bl      0 <register_sysctl_root>
  48:   
2a1403e0        mov     w0, w20
  4c:   
a94153f3        ldp     x19, x20, [sp,#16]
  50:   
a8c27bfd        ldp     x29, x30, [sp],#32
  54:   
d65f03c0        ret
After:
0000000000000000 <net_sysctl_init>:
   0:   
a9bd7bfd        stp     x29, x30, [sp,#-48]!
   4:   
90000000        adrp    x0, 0 <net_sysctl_init>
   8:   
910003fd        mov     x29, sp
   c:   
a90153f3        stp     x19, x20, [sp,#16]
  10:   
90000013        adrp    x19, 0 <net_sysctl_init>
  14:   
91000000        add     x0, x0, #0x0
  18:   
91000273        add     x19, x19, #0x0
  1c:   
f90013f5        str     x21, [sp,#32]
  20:   
aa1303e1        mov     x1, x19
  24:   
12800175        mov     w21, #0xfffffff4                // #-12
  28:   
94000000        bl      0 <register_sysctl>
  2c:   
f9002260        str     x0, [x19,#64]
  30:   
b40001a0        cbz     x0, 64 <net_sysctl_init+0x64>
  34:   
90000014        adrp    x20, 0 <net_sysctl_init>
  38:   
91000294        add     x20, x20, #0x0
  3c:   
9101a280        add     x0, x20, #0x68
  40:   
94000000        bl      0 <register_pernet_subsys>
  44:   
2a0003f5        mov     w21, w0
  48:   
35000080        cbnz    w0, 58 <net_sysctl_init+0x58>
  4c:   
aa1403e0        mov     x0, x20
  50:   
94000000        bl      0 <register_sysctl_root>
  54:   
14000004        b       64 <net_sysctl_init+0x64>
  58:   
f9402260        ldr     x0, [x19,#64]
  5c:   
94000000        bl      0 <unregister_sysctl_table>
  60:   
f900227f        str     xzr, [x19,#64]
  64:   
2a1503e0        mov     w0, w21
  68:   
f94013f5        ldr     x21, [sp,#32]
  6c:   
a94153f3        ldp     x19, x20, [sp,#16]
  70:   
a8c37bfd        ldp     x29, x30, [sp],#48
  74:   
d65f03c0        ret
Add the possible error handle to free the net_header to remove the
kmemleak warning
Signed-off-by: Li RongQing <roy.qing.li@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>