···4343#include <linux/cdev.h>4444#include <linux/idr.h>4545#include <linux/mutex.h>4646-#include <linux/smp_lock.h>47464847#include <asm/uaccess.h>4948···11531154 return mask;11541155}1155115611571157+/*11581158+ * ib_ucm_open() does not need the BKL:11591159+ *11601160+ * - no global state is referred to;11611161+ * - there is no ioctl method to race against;11621162+ * - no further module initialization is required for open to work11631163+ * after the device is registered.11641164+ */11561165static int ib_ucm_open(struct inode *inode, struct file *filp)11571166{11581167 struct ib_ucm_file *file;1159116811601160- cycle_kernel_lock();11611169 file = kmalloc(sizeof(*file), GFP_KERNEL);11621170 if (!file)11631171 return -ENOMEM;