···43#include <linux/cdev.h>44#include <linux/idr.h>45#include <linux/mutex.h>04647#include <asm/uaccess.h>48···1154 return mask;1155}11561157+/*1158+ * ib_ucm_open() does not need the BKL:1159+ *1160+ * - no global state is referred to;1161+ * - there is no ioctl method to race against;1162+ * - no further module initialization is required for open to work1163+ * after the device is registered.1164+ */1165static int ib_ucm_open(struct inode *inode, struct file *filp)1166{1167 struct ib_ucm_file *file;116801169 file = kmalloc(sizeof(*file), GFP_KERNEL);1170 if (!file)1171 return -ENOMEM;