- cfs_down_write(&kg_sem);
- cfs_list_for_each_entry_safe(reg, next, &kkuc_groups[group], kr_chain) {
- if ((uid == 0) || (uid == reg->kr_uid)) {
- cfs_list_del(®->kr_chain);
- CDEBUG(D_KUC, "Removed uid=%d fp=%p from group %d\n",
- reg->kr_uid, reg->kr_fp, group);
- if (reg->kr_fp != NULL)
- cfs_put_file(reg->kr_fp);
- cfs_free(reg);
- }
- }
- cfs_up_write(&kg_sem);
-
- RETURN(0);
+ down_write(&kg_sem);
+ list_for_each_entry_safe(reg, next, &kkuc_groups[group], kr_chain) {
+ if ((uid == 0) || (uid == reg->kr_uid)) {
+ list_del(®->kr_chain);
+ CDEBUG(D_KUC, "Removed uid=%d fp=%p from group %d\n",
+ reg->kr_uid, reg->kr_fp, group);
+ if (reg->kr_fp != NULL)
+ fput(reg->kr_fp);
+ if (pdata != NULL)
+ *pdata = reg->kr_data;
+ kfree(reg);
+ }
+ }
+ up_write(&kg_sem);
+
+ RETURN(0);