--- linux/ipc/shm.c~ Fri Mar 24 18:48:50 2000 +++ linux/ipc/shm.c Mon Mar 27 17:58:59 2000 @@ -1214,11 +1214,15 @@ static int shm_remove_name(int id) { int err; + kernel_cap_t save_cap = current->cap_effective; char name[SHM_FMT_LEN+1]; + sprintf (name, SHM_FMT, id); + cap_raise(current->cap_effective, CAP_FOWNER); lock_kernel(); err = do_unlink (name, dget(shm_sb->s_root)); unlock_kernel(); + current->cap_effective = save_cap; return err; }