diff --git a/core/modules/update/update.module b/core/modules/update/update.module
index c445986..0619dbb 100644
--- a/core/modules/update/update.module
+++ b/core/modules/update/update.module
@@ -177,7 +177,7 @@ function update_page_top() {
  * It both enforces the 'administer software updates' permission and the global
  * kill switch for the authorize.php script.
  *
- * @return
+ * @return bool
  *   TRUE if the current user can access the updater menu items; FALSE
  *   otherwise.
  *
@@ -308,11 +308,11 @@ function _update_no_data() {
  * logic in update_calculate_project_data() will be wrong and produce confusing,
  * bogus results.
  *
- * @param $refresh
+ * @param bool $refresh
  *   (optional) Boolean to indicate if this method should refresh automatically
  *   if there's no data. Defaults to FALSE.
  *
- * @return
+ * @return array
  *   Array of data about available releases, keyed by project shortname.
  *
  * @see update_refresh()
@@ -374,13 +374,12 @@ function update_get_available($refresh = FALSE) {
  * We only create a new fetch task if there's no task already in the queue for
  * this particular project (based on 'update_fetch_task' key-value collection).
  *
- * @param $project
+ * @param array $project
  *   Associative array of information about a project as created by
  *   update_get_projects(), including keys such as 'name' (short name), and the
  *   'info' array with data from a .info.yml file for the project.
  *
  * @see \Drupal\update\UpdateFetcher::createFetchTask()
- *
  */
 function update_create_fetch_task($project) {
   \Drupal::service('update.processor')->createFetchTask($project);
@@ -437,11 +436,11 @@ function update_fetch_data_finished($success, $results) {
  *
  * Constructs the email notification message when the site is out of date.
  *
- * @param $key
+ * @param string $key
  *   Unique key to indicate what message to build, always 'status_notify'.
- * @param $message
+ * @param array $message
  *   Reference to the message array being built.
- * @param $params
+ * @param array $params
  *   Array of parameters to indicate what kind of text to include in the message
  *   body. This is a keyed array of message type ('core' or 'contrib') as the
  *   keys, and the status reason constant (UPDATE_NOT_SECURE, etc) for the
@@ -478,18 +477,18 @@ function update_mail($key, &$message, $params) {
  * site-wide status report at admin/reports/status and in the body of the
  * notification email messages generated by update_cron().
  *
- * @param $msg_type
+ * @param string $msg_type
  *   String to indicate what kind of message to generate. Can be either 'core'
  *   or 'contrib'.
- * @param $msg_reason
+ * @param int $msg_reason
  *   Integer constant specifying why message is generated.
- * @param $report_link
+ * @param bool $report_link
  *   (optional) Boolean that controls if a link to the updates report should be
  *   added. Defaults to FALSE.
- * @param $langcode
+ * @param string $langcode
  *   (optional) A language code to use. Defaults to NULL.
  *
- * @return
+ * @return string
  *   The properly translated error message for the given key.
  */
 function _update_message_text($msg_type, $msg_reason, $report_link = FALSE, $langcode = NULL) {
@@ -566,6 +565,17 @@ function _update_message_text($msg_type, $msg_reason, $report_link = FALSE, $lan
  * Orders projects based on their status.
  *
  * Callback for uasort() within update_requirements().
+ *
+ * @param array $a
+ *   Associative array of information about a project. See update_get_projects()
+ *   for the keys used.
+ * @param array $b
+ *   Associative array of information about a project. See update_get_projects()
+ *   for the keys used.
+ *
+ * @return int
+ *
+ * @see update_requirements()
  */
 function _update_project_status_sort($a, $b) {
   // The status constants are numerically in the right order, so we can
@@ -586,10 +596,13 @@ function _update_project_status_sort($a, $b) {
  * provides a "Check manually" link that refreshes the available update and
  * redirects back to the same page.
  *
- * @param $variables
+ * @param array $variables
  *   An associative array containing:
  *   - last: The timestamp when the site last checked for available updates.
  *
+ * @return string
+ *   Rendered HTML for the last time we checked for update data.
+ *
  * @see theme_update_report()
  */
 function template_preprocess_update_last_check(&$variables) {
@@ -674,7 +687,7 @@ function update_storage_clear() {
 /**
  * Returns a short unique identifier for this Drupal installation.
  *
- * @return
+ * @return string
  *   An eight character string uniquely identifying this Drupal installation.
  */
 function _update_manager_unique_identifier() {
@@ -688,11 +701,11 @@ function _update_manager_unique_identifier() {
 /**
  * Returns the directory where update archive files should be extracted.
  *
- * @param $create
+ * @param bool $create
  *   (optional) Whether to attempt to create the directory if it does not
  *   already exist. Defaults to TRUE.
  *
- * @return
+ * @return string
  *   The full path to the temporary directory where update file archives should
  *   be extracted.
  */
@@ -710,11 +723,11 @@ function _update_manager_extract_directory($create = TRUE) {
 /**
  * Returns the directory where update archive files should be cached.
  *
- * @param $create
+ * @param bool $create
  *   (optional) Whether to attempt to create the directory if it does not
  *   already exist. Defaults to TRUE.
  *
- * @return
+ * @return string
  *   The full path to the temporary directory where update file archives should
  *   be cached.
  */
@@ -761,7 +774,7 @@ function update_clear_update_disk_cache() {
  * left alone by tar and correctly set to the time the archive file was
  * unpacked.
  *
- * @param $path
+ * @param string $path
  *   A string containing a file path or (streamwrapper) URI.
  */
 function update_delete_file_if_stale($path) {
