Node panic OR possible memory corruption during vxupgrade 11/12/13/14

book

Article ID: 100046887

calendar_today

Updated On:

Description

Error Message

### from crash msgbuf .

Wed Jan  1 11:20:07 2019| kernel memory allocator:
Wed Jan  1 11:20:07 2019| buffer modified after being freed
Wed Jan  1 11:20:07 2019| modification occurred at offset 0x560 (0xdeadbeefdeadbeef replaced by 0xdeadbeef00000000)
Wed Jan  1 11:20:07 2019| buffer=c40279da4d00  bufctl=40945f3c868  cache: kmem_alloc_2688
Wed Jan  1 11:20:07 2019| previous transaction on buffer 0xc40279da4d00:    <<<<<
Wed Jan  1 11:20:07 2019| thread=c4027c4b5e00  time=T-0.002324580  slab=30011e97c98  cache: kmem_alloc_2688
Wed Jan  1 11:20:07 2019| kmem_cache_free+108
Wed Jan  1 11:20:07 2019| vx_free+30
Wed Jan  1 11:20:07 2019| vx_fs_free+1c
Wed Jan  1 11:20:07 2019| vx_detach_fs+2ec
Wed Jan  1 11:20:07 2019| vx_fs_reinit+1814
Wed Jan  1 11:20:07 2019| vx_fs_upgrade11+204
Wed Jan  1 11:20:07 2019| vx_upgrade11+264
Wed Jan  1 11:20:07 2019| vx_aioctl_common+6ac
Wed Jan  1 11:20:07 2019| vx_aioctl+14c
Wed Jan  1 11:20:07 2019| vx_ioctl+114
Wed Jan  1 11:20:07 2019| fop_ioctl+d0
Wed Jan  1 11:20:07 2019| ioctl+16c
Wed Jan  1 11:20:07 2019|
                        | panic[cpu175]/thread=c402718a8200:
Wed Jan  1 11:20:07 2019| kernel heap corruption detected    <<<<<

### previous transaction on buffer pointing our stack.

CAT(vmcore.4/11V)> panic kmem
kmem_panic_info @ 0x208a9a10
timestamp:  0x2a6dfabc47ac8 (0.020035320 seconds earlier)
error:      MODIFIED - buffer modified while on freelist
buffer:     0xc40279da4d00            <<<<<<<<
realbuf:    0xc40279da4d00            <<<<<
cache:      0x30000c1c000 (kmem_alloc_2688) size 2688
realcache:  0x30000c1c000 (kmem_alloc_2688) size 2688
slab:       0x30011e97c98
bufctl:     0x40945f3c868

kmem_buftag @ 0xc40279da5780
redzone:    0xfeedfacefeedface
bufctl:     0x40945f3c868
bxstat:     0x409e4e30085 (ALLOC)

kmem_bufctl_audit @ 0x40945f3c868
next:       0x4093eb07020
addr:       0xc40279da4d00
slab:       0x30011e97c98
cache:      0x30000c1c000 (kmem_alloc_2688) size 2688
timestamp:  0x2a6dfaba10264 (0.022359900 seconds earlier)
thread:     0xc4027c4b5e00
lastlog:    0x401eea58180
contents:   0x4048179c588
  genunix:kmem_cache_free+0x108
  vxfs:vx_free+0x30
  vxfs:vx_fs_free+0x1c
  vxfs:vx_detach_fs+0x2ec
  vxfs:vx_fs_reinit+0x1814
  vxfs:vx_fs_upgrade11+0x204
  vxfs:vx_upgrade11+0x264
  vxfs:vx_aioctl_common+0x6ac
  vxfs:vx_aioctl+0x14c
  vxfs:vx_ioctl+0x114
  genunix:fop_ioctl+0xd0
  genunix:ioctl+0x16c
 

Cause

When the vx_upgrade command is executed, VxFS incorrectly accesses the freed memory, and then it panics if the memory is paged-out.

Resolution

The code is modified to make sure that VXFS does not access the freed memory locations

HF Included in :
infoscale-rhel7_x86_64-Patch-7.4.1.1200
infoscale-rhel6_x86_64-Patch-7.4.1.1200
infoscale-sles12.4_x86_64-Patch-7.3.1.1100
infoscale-rhel7.7_x86_64-Patch-7.4.1.1300
For Solaris 11  vxfs - 7.3.1.2702 

Download from https://downloads.infoscale.com

Note : For solaris, only private HF available at the time of publishing this technote.

This HF VxFS 7.3.1.2702 contains cumulative of 7.3.1.2500 as well. So no need to upgrade to IS 7.3.1.200( VxFS 7.3.1.2500). You can directly upgrade from any VxFS version 7.3.1.00 to this patch."

Issue/Introduction

The vxupgrade command causes system to panic.

Additional Information

JIRA: STESC-3933