fdt->fd[fd] = NULL;
rcu_assign_pointer(fdt->fd[fd], NULL);
asmlinkage long sys_close(unsigned int fd){	struct file * filp;	struct files_struct *files = current->files;	struct fdtable *fdt;	spin_lock(&files->file_lock);	fdt = files_fdtable(files);	if (fd >= fdt->max_fds)		goto out_unlock;	filp = fdt->fd[fd];	if (!filp)		goto out_unlock;	fdt->fd[fd] = NULL;	FD_CLR(fd, fdt->close_on_exec);	__put_unused_fd(files, fd);	spin_unlock(&files->file_lock);	return filp_close(filp, files);out_unlock:	spin_unlock(&files->file_lock);	return -EBADF;}