rem: if (!IS_USER_ADDRESS(userPath) || user_strlcpy(path, userPath, SYS_MAX_PATH_LEN) < B_OK)
add: if (!IS_USER_ADDRESS(userPath))
context: _user_read_stat(int fd, const char *userPath, bool traverseLink,	struct stat *userStat, size_t statSize){	struct stat stat;	int status;	if (statSize > sizeof(struct stat))		return B_BAD_VALUE;	if (!IS_USER_ADDRESS(userStat))		return B_BAD_ADDRESS;	if (userPath) {		// path given: get the stat of the node referred to by (fd, path)		char path[SYS_MAX_PATH_LEN + 1];		if (!IS_USER_ADDRESS(userPath)			|| user_strlcpy(path, userPath, SYS_MAX_PATH_LEN) < B_OK)			return B_BAD_ADDRESS;		status = common_path_read_stat(fd, path, traverseLink, &stat, false);	} else {		// no path given: get the FD and use the FD operation		struct file_descriptor *descriptor			= get_fd(get_current_io_context(false), fd);		if (descriptor == NULL)			return B_FILE_ERROR;		if (descriptor->ops->fd_read_stat)			status = descriptor->ops->fd_read_stat(descriptor, &stat);		else			status = EOPNOTSUPP;		put_fd(descriptor);	}	if (status < B_OK)		return status;	return user_memcpy(userStat, &stat, statSize);}