- ret = load_session_from_path(path, session_name,
- &validation_ctx, 0);
- if (!ret || (ret && ret != -LTTNG_ERR_LOAD_SESSION_NOENT)) {
- /* Session found or an error occured */
- free(path);
- goto end;
+ /*
+ * Credentials are only validated for the autoload in order to
+ * avoid any user session daemon to try to load kernel sessions
+ * automatically and failing all the times.
+ */
+ ret = validate_path_creds(path);
+ if (ret) {
+ path_ptr = path;
+ }
+ } else {
+ ret = snprintf(path, sizeof(path),
+ DEFAULT_SESSION_HOME_CONFIGPATH, home_path);
+ if (ret < 0) {
+ PERROR("snprintf session home config path");
+ goto end;
+ }
+ path_ptr = path;
+ }
+ if (path_ptr) {
+ ret = load_session_from_path(path_ptr, session_name,
+ &validation_ctx, override);
+ if (ret && ret != -LTTNG_ERR_LOAD_SESSION_NOENT) {
+ goto end;
+ }
+ /*
+ * Continue even if the session was found since we have to try
+ * the system wide sessions.
+ */