I got this warning on startup from rhel7 kernel (possible due to debug too, I guess):
May 23 19:43:15 centos6-0 kernel: ------------[ cut here ]------------
May 23 19:43:15 centos6-0 kernel: WARNING: at include/linux/slab_def.h:131 class_handle_init+0x2d6/0x4b0 [obdclass]()
May 23 19:43:15 centos6-0 kernel: Modules linked in: obdclass(OE+) ksocklnd(OE) lnet(OE) sha512_generic crypto_null libcfs(OE) rpcsec_gss_krb5 syscopyarea sysfillrect sysimgblt ttm ata_generic drm_kms_helper pata_acpi drm ata_piix i2c_piix4 virtio_console serio_raw virtio_balloon pcspkr i2c_core virtio_blk libata floppy nfsd ip_tables
May 23 19:43:15 centos6-0 kernel: CPU: 1 PID: 2911 Comm: insmod Tainted: G OE ------------ 3.10.0-debug #1
May 23 19:43:15 centos6-0 kernel: Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2011
May 23 19:43:15 centos6-0 kernel: 0000000000000000 00000000b0550638 ffff8800b07a7c50 ffffffff816fe7c0
May 23 19:43:15 centos6-0 kernel: ffff8800b07a7c88 ffffffff810773e0 ffffffff81c15020 ffff8800a9675940
May 23 19:43:15 centos6-0 kernel: ffffffffa04ef000 0000000000000000 ffffffffa03ad120 ffff8800b07a7c98
May 23 19:43:15 centos6-0 kernel: Call Trace:
May 23 19:43:15 centos6-0 kernel: [<ffffffff816fe7c0>] dump_stack+0x19/0x1b
May 23 19:43:15 centos6-0 kernel: [<ffffffff810773e0>] warn_slowpath_common+0x70/0xb0
May 23 19:43:15 centos6-0 kernel: [<ffffffffa04ef000>] ? 0xffffffffa04eefff
May 23 19:43:15 centos6-0 kernel: [<ffffffff8107752a>] warn_slowpath_null+0x1a/0x20
May 23 19:43:15 centos6-0 kernel: [<ffffffffa03278b6>] class_handle_init+0x2d6/0x4b0 [obdclass]
May 23 19:43:15 centos6-0 kernel: [<ffffffffa04ef000>] ? 0xffffffffa04eefff
May 23 19:43:15 centos6-0 kernel: [<ffffffffa04ef522>] obdclass_init+0x522/0x1000 [obdclass]
May 23 19:43:15 centos6-0 kernel: [<ffffffffa04ef000>] ? 0xffffffffa04eefff
May 23 19:43:15 centos6-0 kernel: [<ffffffff810020e8>] do_one_initcall+0xb8/0x230
May 23 19:43:15 centos6-0 kernel: [<ffffffff810f3e6e>] load_module+0x138e/0x1bc0
May 23 19:43:15 centos6-0 kernel: [<ffffffff8139de20>] ? ddebug_proc_write+0xf0/0xf0
May 23 19:43:15 centos6-0 kernel: [<ffffffff810eff23>] ? copy_module_from_fd.isra.40+0x53/0x150
May 23 19:43:15 centos6-0 kernel: [<ffffffff810f4876>] SyS_finit_module+0xa6/0xd0
May 23 19:43:15 centos6-0 kernel: [<ffffffff81711809>] system_call_fastpath+0x16/0x1b
May 23 19:43:15 centos6-0 kernel: ---[ end trace 3075995fdee801fd ]---
given that smatch complains about
/home/green/smt/git/lustre-release/lustre/obdclass/lustre_handles.c:261:9: warning: memset with byte count of 1572864
That must be it.
We probably should convert OBD_ALLOC_LARGE to go straight to vmalloc for >128k allocations as opposed to malloc fist since in rhel7 and probably other places it generates a warning:
0x308b0 is in class_handle_init (include/linux/slab_def.h:131).
126 int i;
127
128 if (!size)
129 return ZERO_SIZE_PTR;
130
131 if (WARN_ON_ONCE(size > KMALLOC_MAX_SIZE))
132 return NULL;
133
134 i = kmalloc_index(size);
135
patch has landed to master for 2.9