make -C tools/testing/selftests TARGETS=net TEST_PROGS=rtnetlink.sh TEST_GGEN_PROGS="" run_tests make: Entering directory '/home/virtme/testing-3/tools/testing/selftests' make[1]: Entering directory '/home/virtme/testing-3/tools/testing/selftests/net' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/home/virtme/testing-3/tools/testing/selftests/net' make[1]: Entering directory '/home/virtme/testing-3/tools/testing/selftests/net' TAP version 13 1..1 # timeout set to 6000 # selftests: net: rtnetlink.sh # PASS: policy routing # PASS: route get # PASS: preferred_lft addresses have expired # PASS: promote_secondaries complete [ 329.430004][ T1130] u32 classifier [ 329.430308][ T1130] input device check on [ 329.430586][ T1130] Actions configured # PASS: tc htb hierarchy [ 330.425809][ T1149] gre: GRE over IPv4 demultiplexor driver [ 330.439584][ T1149] ip_gre: GRE over IPv4 tunneling driver # PASS: gre tunnel endpoint # PASS: gretap [ 333.543412][ T1209] ip6_gre: GRE over IPv6 tunneling driver [ 333.775163][ T50] ip6_tunnel: ip6gretap00 xmit: Local address not yet configured! # PASS: ip6gretap # PASS: erspan [ 336.776216][ T8] ip6_tunnel: ip6erspan00 xmit: Local address not yet configured! [ 337.222216][ T8] ip6_tunnel: ip6erspan00 xmit: Local address not yet configured! # PASS: ip6erspan [ 337.841024][ T1283] test-br0: port 1(test-dummy0) entered blocking state [ 337.841547][ T1283] test-br0: port 1(test-dummy0) entered disabled state [ 337.841952][ T1283] test-dummy0: entered allmulticast mode [ 337.843268][ T1283] test-dummy0: entered promiscuous mode [ 337.960758][ T1287] test-br0: port 1(test-dummy0) entered blocking state [ 337.961224][ T1287] test-br0: port 1(test-dummy0) entered forwarding state [ 339.659389][ T1323] test-dummy0: left allmulticast mode [ 339.659726][ T1323] test-dummy0: left promiscuous mode [ 339.660722][ T1323] test-br0: port 1(test-dummy0) entered disabled state # PASS: bridge setup # PASS: ipv6 addrlabel # PASS: set ifalias fd11a913-af79-43f4-9ca7-22d0bc39973c for test-dummy0 # PASS: vrf [ 430.829232][ T3484] ip (3484) used greatest stack depth: 23328 bytes left [ 434.302720][ T3549] MACsec IEEE 802.1AE # PASS: macsec [ 435.709545][ T3464] netdevsim netdevsim0 eni0np1: renamed from eth0 # PASS: macsec_offload [ 438.202780][ T3613] Initializing XFRM netlink socket # PASS: ipsec [ 441.247175][ T3470] netdevsim netdevsim0 eni0np1: renamed from eth0 # PASS: ipsec_offload [ 445.123972][ T3729] test-br0: port 1(vxlan10) entered blocking state [ 445.124804][ T3729] test-br0: port 1(vxlan10) entered disabled state [ 445.125222][ T3729] vxlan10: entered allmulticast mode [ 445.126512][ T3729] vxlan10: entered promiscuous mode [ 445.741159][ T11] vxlan10: left allmulticast mode [ 445.741560][ T11] vxlan10: left promiscuous mode [ 445.741983][ T11] test-br0: port 1(vxlan10) entered disabled state # PASS: bridge fdb get [ 445.760341][ T11] ================================================================== [ 445.760820][ T11] BUG: KASAN: slab-use-after-free in kobject_put+0xc7/0xe0 [ 445.761282][ T11] Read of size 1 at addr ffff8880039a15bc by task kworker/u8:0/11 [ 445.761729][ T11] [ 445.761880][ T11] CPU: 1 PID: 11 Comm: kworker/u8:0 Not tainted 6.8.0-rc2-virtme #1 [ 445.762317][ T11] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 445.762996][ T11] Workqueue: netns cleanup_net [ 445.763276][ T11] Call Trace: [ 445.763459][ T11] [ 445.763641][ T11] dump_stack_lvl+0x64/0xb0 [ 445.763906][ T11] print_address_description.constprop.0+0x2c/0x3b0 [ 445.764280][ T11] ? kobject_put+0xc7/0xe0 [ 445.764539][ T11] print_report+0xb5/0x270 [ 445.764806][ T11] ? kasan_addr_to_slab+0x4e/0x90 [ 445.765105][ T11] kasan_report+0xbe/0xf0 [ 445.765348][ T11] ? kobject_put+0xc7/0xe0 [ 445.765589][ T11] kobject_put+0xc7/0xe0 [ 445.765831][ T11] br_sysfs_delbr+0x3f/0x70 [ 445.766088][ T11] br_dev_delete+0x10d/0x190 [ 445.766347][ T11] br_net_exit_batch_rtnl+0xd6/0x190 [ 445.766633][ T11] cleanup_net+0x499/0xb50 [ 445.766885][ T11] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 445.767230][ T11] ? __pfx_cleanup_net+0x10/0x10 [ 445.767548][ T11] ? lock_acquire+0x1c1/0x220 [ 445.767829][ T11] ? process_one_work+0x714/0x1310 [ 445.768140][ T11] process_one_work+0x78f/0x1310 [ 445.768441][ T11] ? hlock_class+0x4e/0x130 [ 445.768713][ T11] ? __pfx_process_one_work+0x10/0x10 [ 445.769035][ T11] ? assign_work+0x16c/0x240 [ 445.769335][ T11] worker_thread+0x73d/0x1010 [ 445.769624][ T11] ? __pfx_worker_thread+0x10/0x10 [ 445.769930][ T11] kthread+0x292/0x360 [ 445.770198][ T11] ? __pfx_kthread+0x10/0x10 [ 445.770477][ T11] ret_from_fork+0x34/0x70 [ 445.770727][ T11] ? __pfx_kthread+0x10/0x10 [ 445.771007][ T11] ret_from_fork_asm+0x1b/0x30 [ 445.771296][ T11] [ 445.771494][ T11] [ 445.771632][ T11] Allocated by task 3727: [ 445.771886][ T11] kasan_save_stack+0x24/0x50 [ 445.772162][ T11] kasan_save_track+0x14/0x30 [ 445.772442][ T11] __kasan_kmalloc+0x7f/0x90 [ 445.772717][ T11] kobject_create_and_add+0x44/0xc0 [ 445.773016][ T11] br_sysfs_addbr+0x57/0x160 [ 445.773288][ T11] br_device_event+0x1ff/0x740 [ 445.773567][ T11] notifier_call_chain+0x9d/0x290 [ 445.773883][ T11] register_netdevice+0x116d/0x17a0 [ 445.774191][ T11] br_dev_newlink+0x2b/0x100 [ 445.774457][ T11] rtnl_newlink_create+0x344/0x850 [ 445.774734][ T11] __rtnl_newlink+0xad2/0xd60 [ 445.774999][ T11] rtnl_newlink+0x63/0xa0 [ 445.775251][ T11] rtnetlink_rcv_msg+0x2fe/0xb80 [ 445.775532][ T11] netlink_rcv_skb+0x133/0x360 [ 445.775796][ T11] netlink_unicast+0x44c/0x710 [ 445.776073][ T11] netlink_sendmsg+0x726/0xbe0 [ 445.776349][ T11] ____sys_sendmsg+0x7b5/0xa10 [ 445.776614][ T11] ___sys_sendmsg+0xee/0x170 [ 445.776867][ T11] __sys_sendmsg+0xcd/0x170 [ 445.777106][ T11] do_syscall_64+0xcc/0x1e0 [ 445.777373][ T11] entry_SYSCALL_64_after_hwframe+0x6f/0x77 [ 445.777707][ T11] [ 445.777851][ T11] Freed by task 11: [ 445.778066][ T11] kasan_save_stack+0x24/0x50 [ 445.778328][ T11] kasan_save_track+0x14/0x30 [ 445.778587][ T11] kasan_save_free_info+0x3f/0x60 [ 445.778876][ T11] __kasan_slab_free+0xfc/0x1c0 [ 445.779151][ T11] kfree+0xf2/0x2d0 [ 445.779358][ T11] kobject_cleanup+0xe2/0x280 [ 445.779615][ T11] br_sysfs_delbr+0x3f/0x70 [ 445.779856][ T11] br_dev_delete+0x10d/0x190 [ 445.780109][ T11] default_device_exit_batch_rtnl+0x112/0x210 [ 445.780444][ T11] cleanup_net+0x499/0xb50 [ 445.780745][ T11] process_one_work+0x78f/0x1310 [ 445.781043][ T11] worker_thread+0x73d/0x1010 [ 445.781309][ T11] kthread+0x292/0x360 [ 445.781536][ T11] ret_from_fork+0x34/0x70 [ 445.781808][ T11] ret_from_fork_asm+0x1b/0x30 [ 445.782110][ T11] [ 445.782262][ T11] The buggy address belongs to the object at ffff8880039a1580 [ 445.782262][ T11] which belongs to the cache kmalloc-64 of size 64 [ 445.783078][ T11] The buggy address is located 60 bytes inside of [ 445.783078][ T11] freed 64-byte region [ffff8880039a1580, ffff8880039a15c0) [ 445.783848][ T11] [ 445.783985][ T11] The buggy address belongs to the physical page: [ 445.784322][ T11] page:ffffea00000e6800 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x39a0 [ 445.784931][ T11] head:ffffea00000e6800 order:1 entire_mapcount:0 nr_pages_mapped:0 pincount:0 [ 445.785441][ T11] flags: 0x80000000000840(slab|head|node=0|zone=1) [ 445.785847][ T11] page_type: 0xffffffff() [ 445.786103][ T11] raw: 0080000000000840 ffff888001042900 ffffea0000077010 ffffea0000082110 [ 445.786639][ T11] raw: 0000000000000000 0000000000190019 00000001ffffffff 0000000000000000 [ 445.787108][ T11] page dumped because: kasan: bad access detected [ 445.787455][ T11] [ 445.787580][ T11] Memory state around the buggy address: [ 445.787907][ T11] ffff8880039a1480: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 445.788354][ T11] ffff8880039a1500: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 445.788817][ T11] >ffff8880039a1580: fa fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc [ 445.789296][ T11] ^ [ 445.789649][ T11] ffff8880039a1600: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 445.790160][ T11] ffff8880039a1680: fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb fb [ 445.790617][ T11] ================================================================== [ 445.791091][ T11] Disabling lock debugging due to kernel taint [ 445.791460][ T11] ------------[ cut here ]------------ [ 445.791842][ T11] refcount_t: underflow; use-after-free. [ 445.792282][ T11] WARNING: CPU: 1 PID: 11 at lib/refcount.c:28 refcount_warn_saturate+0x173/0x1b0 [ 445.792809][ T11] Modules linked in: xfrm_user psample macsec fou vxlan ip6_udp_tunnel udp_tunnel ip6_gre ip_gre gre cls_u32 sch_htb [last unloaded: netdevsim] [ 445.793841][ T11] CPU: 1 PID: 11 Comm: kworker/u8:0 Tainted: G B 6.8.0-rc2-virtme #1 [ 445.794476][ T11] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 445.795232][ T11] Workqueue: netns cleanup_net [ 445.795511][ T11] RIP: 0010:refcount_warn_saturate+0x173/0x1b0 [ 445.795878][ T11] Code: f9 82 03 80 fb 01 0f 87 ee 02 b1 01 83 e3 01 0f 85 4d ff ff ff c6 05 9a f9 82 03 01 90 48 c7 c7 20 7a e2 9a e8 3e 05 2a ff 90 <0f> 0b 90 90 e9 2f ff ff ff 48 89 df e8 8c 68 a6 ff e9 b6 fe ff ff [ 445.797072][ T11] RSP: 0018:ffffc900000bfb98 EFLAGS: 00010282 [ 445.797473][ T11] RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff9811056f [ 445.797979][ T11] RDX: 0000000000000000 RSI: 0000000000000008 RDI: 0000000000000001 [ 445.798422][ T11] RBP: 0000000000000003 R08: 0000000000000000 R09: fffff52000017f18 [ 445.798908][ T11] R10: ffffc900000bf8c7 R11: 205d313154202020 R12: ffff88800921a000 [ 445.799358][ T11] R13: ffff88800921adf8 R14: ffffc900000bfc98 R15: ffff88800921abc0 [ 445.799782][ T11] FS: 0000000000000000(0000) GS:ffff888035600000(0000) knlGS:0000000000000000 [ 445.800303][ T11] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 445.800682][ T11] CR2: 0000556f8816c0f0 CR3: 000000001e134004 CR4: 00000000001706f0 [ 445.801132][ T11] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 445.801551][ T11] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 445.801993][ T11] Call Trace: [ 445.802203][ T11] [ 445.802380][ T11] ? __warn+0xcd/0x2d0 [ 445.802611][ T11] ? refcount_warn_saturate+0x173/0x1b0 [ 445.802927][ T11] ? report_bug+0x291/0x2e0 [ 445.803246][ T11] ? vprintk_emit+0xff/0x1d0 [ 445.803563][ T11] ? handle_bug+0x3d/0x80 [ 445.803824][ T11] ? exc_invalid_op+0x18/0x50 [ 445.804109][ T11] ? asm_exc_invalid_op+0x1a/0x20 [ 445.804466][ T11] ? desc_read+0x2af/0x440 [ 445.804705][ T11] ? refcount_warn_saturate+0x173/0x1b0 [ 445.805040][ T11] ? refcount_warn_saturate+0x172/0x1b0 [ 445.805381][ T11] br_sysfs_delbr+0x3f/0x70 [ 445.805667][ T11] br_dev_delete+0x10d/0x190 [ 445.805978][ T11] br_net_exit_batch_rtnl+0xd6/0x190 [ 445.806304][ T11] cleanup_net+0x499/0xb50 [ 445.806572][ T11] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 445.806962][ T11] ? __pfx_cleanup_net+0x10/0x10 [ 445.807256][ T11] ? lock_acquire+0x1c1/0x220 [ 445.807534][ T11] ? process_one_work+0x714/0x1310 [ 445.807878][ T11] process_one_work+0x78f/0x1310 [ 445.808164][ T11] ? hlock_class+0x4e/0x130 [ 445.808416][ T11] ? __pfx_process_one_work+0x10/0x10 [ 445.808727][ T11] ? assign_work+0x16c/0x240 [ 445.808998][ T11] worker_thread+0x73d/0x1010 [ 445.809320][ T11] ? __pfx_worker_thread+0x10/0x10 [ 445.809615][ T11] kthread+0x292/0x360 [ 445.809875][ T11] ? __pfx_kthread+0x10/0x10 [ 445.810169][ T11] ret_from_fork+0x34/0x70 [ 445.810438][ T11] ? __pfx_kthread+0x10/0x10 [ 445.810723][ T11] ret_from_fork_asm+0x1b/0x30 [ 445.811024][ T11] [ 445.811209][ T11] irq event stamp: 330191 [ 445.811436][ T11] hardirqs last enabled at (330191): [] irqentry_exit+0x3b/0x90 [ 445.812002][ T11] hardirqs last disabled at (330190): [] __do_softirq+0x670/0x7ff [ 445.812593][ T11] softirqs last enabled at (330174): [] br_dev_delete+0xd8/0x190 [ 445.813093][ T11] softirqs last disabled at (330172): [] br_fdb_delete_by_port+0x36/0x260 [ 445.813677][ T11] ---[ end trace 0000000000000000 ]--- [ 445.813985][ T11] ------------[ cut here ]------------ [ 445.814303][ T11] sysfs group 'bridge' not found for kobject 'test-br0' [ 445.814723][ T11] WARNING: CPU: 1 PID: 11 at fs/sysfs/group.c:282 sysfs_remove_group+0x101/0x160 [ 445.815855][ T11] Modules linked in: xfrm_user psample macsec fou vxlan ip6_udp_tunnel udp_tunnel ip6_gre ip_gre gre cls_u32 sch_htb [last unloaded: netdevsim] [ 445.816775][ T11] CPU: 1 PID: 11 Comm: kworker/u8:0 Tainted: G B W 6.8.0-rc2-virtme #1 [ 445.817415][ T11] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 445.818121][ T11] Workqueue: netns cleanup_net [ 445.818381][ T11] RIP: 0010:sysfs_remove_group+0x101/0x160 [ 445.818718][ T11] Code: 89 d9 49 8b 14 24 48 b8 00 00 00 00 00 fc ff df 48 c1 e9 03 80 3c 01 00 75 45 48 8b 33 48 c7 c7 a0 a7 dc 9a e8 60 65 5e ff 90 <0f> 0b 90 90 48 83 c4 08 5b 5d 41 5c c3 cc cc cc cc e8 e9 c7 da ff [ 445.819908][ T11] RSP: 0018:ffffc900000bfba0 EFLAGS: 00010282 [ 445.820307][ T11] RAX: 0000000000000000 RBX: ffffffff9b1be220 RCX: ffffffff9811056f [ 445.820783][ T11] RDX: 0000000000000000 RSI: 0000000000000008 RDI: 0000000000000001 [ 445.821266][ T11] RBP: 0000000000000000 R08: 0000000000000000 R09: fffff52000017f19 [ 445.821733][ T11] R10: ffffc900000bf8cf R11: 205d313154202020 R12: ffff88800921a628 [ 445.822212][ T11] R13: ffff88800921adf8 R14: ffffc900000bfc98 R15: ffff88800921abc0 [ 445.822684][ T11] FS: 0000000000000000(0000) GS:ffff888035600000(0000) knlGS:0000000000000000 [ 445.823212][ T11] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 445.823599][ T11] CR2: 0000556f8816c0f0 CR3: 000000001e134004 CR4: 00000000001706f0 [ 445.824063][ T11] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 445.824537][ T11] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 445.825001][ T11] Call Trace: [ 445.825185][ T11] [ 445.825361][ T11] ? __warn+0xcd/0x2d0 [ 445.825587][ T11] ? console_trylock+0x61/0xf0 [ 445.825863][ T11] ? sysfs_remove_group+0x101/0x160 [ 445.826212][ T11] ? report_bug+0x291/0x2e0 [ 445.826474][ T11] ? handle_bug+0x3d/0x80 [ 445.826752][ T11] ? exc_invalid_op+0x18/0x50 [ 445.827035][ T11] ? asm_exc_invalid_op+0x1a/0x20 [ 445.827357][ T11] ? desc_read+0x2af/0x440 [ 445.827611][ T11] ? sysfs_remove_group+0x101/0x160 [ 445.827923][ T11] br_dev_delete+0x10d/0x190 [ 445.828220][ T11] br_net_exit_batch_rtnl+0xd6/0x190 [ 445.828512][ T11] cleanup_net+0x499/0xb50 [ 445.828780][ T11] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 445.829084][ T11] ? __pfx_cleanup_net+0x10/0x10 [ 445.829346][ T11] ? lock_acquire+0x1c1/0x220 [ 445.829606][ T11] ? process_one_work+0x714/0x1310 [ 445.829903][ T11] process_one_work+0x78f/0x1310 [ 445.830196][ T11] ? hlock_class+0x4e/0x130 [ 445.830451][ T11] ? __pfx_process_one_work+0x10/0x10 [ 445.830783][ T11] ? assign_work+0x16c/0x240 [ 445.831047][ T11] worker_thread+0x73d/0x1010 [ 445.831343][ T11] ? __pfx_worker_thread+0x10/0x10 [ 445.831655][ T11] kthread+0x292/0x360 [ 445.831896][ T11] ? __pfx_kthread+0x10/0x10 [ 445.832183][ T11] ret_from_fork+0x34/0x70 [ 445.832466][ T11] ? __pfx_kthread+0x10/0x10 [ 445.832728][ T11] ret_from_fork_asm+0x1b/0x30 [ 445.833009][ T11] [ 445.833286][ T11] irq event stamp: 330191 [ 445.833552][ T11] hardirqs last enabled at (330191): [] irqentry_exit+0x3b/0x90 [ 445.834094][ T11] hardirqs last disabled at (330190): [] __do_softirq+0x670/0x7ff [ 445.834600][ T11] softirqs last enabled at (330174): [] br_dev_delete+0xd8/0x190 [ 445.835154][ T11] softirqs last disabled at (330172): [] br_fdb_delete_by_port+0x36/0x260 [ 445.835693][ T11] ---[ end trace 0000000000000000 ]--- # PASS: neigh get [ 446.873751][ T3464] netdevsim netdevsim10 eni10np1: renamed from eth0 [ 446.916779][ T3470] netdevsim netdevsim20 eni20np1: renamed from eth1 [ 447.497824][ T3790] test-bond0: (slave eni10np1): Enslaving as a backup interface with an up link [ 447.564054][ T3793] test-bond0: (slave eni20np1): Enslaving as a backup interface with an up link [ 447.721780][ T3804] test-br0: port 1(test-bond0) entered blocking state [ 447.722220][ T3804] test-br0: port 1(test-bond0) entered disabled state [ 447.722673][ T3804] test-bond0: entered allmulticast mode [ 447.722978][ T3804] netdevsim netdevsim10 eni10np1: entered allmulticast mode [ 447.723375][ T3804] netdevsim netdevsim20 eni20np1: entered allmulticast mode [ 447.724673][ T3804] test-bond0: entered promiscuous mode [ 447.724975][ T3804] netdevsim netdevsim10 eni10np1: entered promiscuous mode [ 447.726384][ T3804] netdevsim netdevsim20 eni20np1: entered promiscuous mode [ 447.798684][ T3806] test-bond0: left allmulticast mode [ 447.799012][ T3806] netdevsim netdevsim10 eni10np1: left allmulticast mode [ 447.799397][ T3806] netdevsim netdevsim20 eni20np1: left allmulticast mode [ 447.799769][ T3806] test-bond0: left promiscuous mode [ 447.800061][ T3806] netdevsim netdevsim10 eni10np1: left promiscuous mode [ 447.800511][ T3806] netdevsim netdevsim20 eni20np1: left promiscuous mode [ 447.801022][ T3806] test-br0: port 1(test-bond0) entered disabled state [ 447.902473][ T3807] test-bond0 (unregistering): (slave eni10np1): Releasing backup interface [ 447.913433][ T3807] test-bond0 (unregistering): (slave eni20np1): Releasing backup interface [ 447.923593][ T3807] test-bond0 (unregistering): Released all slaves # PASS: bridge_parent_id # PASS: address proto IPv4 # PASS: address proto IPv6 [ 451.108612][ T3884] bond123: (slave test-dummy0): Enslaving as an active interface with an up link # PASS: enslave interface in a bond [ 451.204859][ T11] bond123 (unregistering): (slave test-dummy0): Releasing backup interface [ 451.214247][ T11] bond123 (unregistering): Released all slaves ok 1 selftests: net: rtnetlink.sh make[1]: Leaving directory '/home/virtme/testing-3/tools/testing/selftests/net' make: Leaving directory '/home/virtme/testing-3/tools/testing/selftests' xx__-> echo $? 0 xx__->