* [axboe-block:rw_iter 138/448] drivers/gpu/drm/i915/display/intel_hotplug.c:1040 i915_hpd_storm_ctl_write() warn: potential spectre issue 'tmp' [w]
@ 2024-09-22 15:17 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-09-22 15:17 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp, Dan Carpenter
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: Jens Axboe <axboe@kernel.dk>
Hi Jens,
FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git rw_iter
head: 7ef9d29ff0268d9fb68e3b1bf7548981d7a61307
commit: fb267b131a04cfdc7c70d3f067b7f8545ca8b4f3 [138/448] drm/i915: convert to read/write iterators
:::::: branch date: 8 hours ago
:::::: commit date: 2 days ago
config: i386-randconfig-141-20240922 (https://download.01.org/0day-ci/archive/20240922/202409222356.Id5VC2Ol-lkp@intel.com/config)
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202409222356.Id5VC2Ol-lkp@intel.com/
smatch warnings:
drivers/gpu/drm/i915/display/intel_hotplug.c:1040 i915_hpd_storm_ctl_write() warn: potential spectre issue 'tmp' [w]
drivers/gpu/drm/i915/display/intel_hotplug.c:1121 i915_hpd_short_storm_ctl_write() warn: potential spectre issue 'tmp' [w]
drivers/gpu/drm/i915/display/intel_wm.c:305 wm_latency_write() warn: potential spectre issue 'tmp' [w]
vim +/tmp +1040 drivers/gpu/drm/i915/display/intel_hotplug.c
1bed8b07342069 Jani Nikula 2022-09-16 1021
fb267b131a04cf Jens Axboe 2024-04-09 1022 static ssize_t i915_hpd_storm_ctl_write(struct kiocb *iocb,
fb267b131a04cf Jens Axboe 2024-04-09 1023 struct iov_iter *from)
1bed8b07342069 Jani Nikula 2022-09-16 1024 {
fb267b131a04cf Jens Axboe 2024-04-09 1025 struct seq_file *m = iocb->ki_filp->private_data;
1bed8b07342069 Jani Nikula 2022-09-16 1026 struct drm_i915_private *dev_priv = m->private;
1bed8b07342069 Jani Nikula 2022-09-16 1027 struct intel_hotplug *hotplug = &dev_priv->display.hotplug;
fb267b131a04cf Jens Axboe 2024-04-09 1028 size_t len = iov_iter_count(from);
1bed8b07342069 Jani Nikula 2022-09-16 1029 unsigned int new_threshold;
1bed8b07342069 Jani Nikula 2022-09-16 1030 int i;
1bed8b07342069 Jani Nikula 2022-09-16 1031 char *newline;
1bed8b07342069 Jani Nikula 2022-09-16 1032 char tmp[16];
1bed8b07342069 Jani Nikula 2022-09-16 1033
1bed8b07342069 Jani Nikula 2022-09-16 1034 if (len >= sizeof(tmp))
1bed8b07342069 Jani Nikula 2022-09-16 1035 return -EINVAL;
1bed8b07342069 Jani Nikula 2022-09-16 1036
fb267b131a04cf Jens Axboe 2024-04-09 1037 if (!copy_from_iter_full(tmp, len, from))
1bed8b07342069 Jani Nikula 2022-09-16 1038 return -EFAULT;
1bed8b07342069 Jani Nikula 2022-09-16 1039
1bed8b07342069 Jani Nikula 2022-09-16 @1040 tmp[len] = '\0';
1bed8b07342069 Jani Nikula 2022-09-16 1041
1bed8b07342069 Jani Nikula 2022-09-16 1042 /* Strip newline, if any */
1bed8b07342069 Jani Nikula 2022-09-16 1043 newline = strchr(tmp, '\n');
1bed8b07342069 Jani Nikula 2022-09-16 1044 if (newline)
1bed8b07342069 Jani Nikula 2022-09-16 1045 *newline = '\0';
1bed8b07342069 Jani Nikula 2022-09-16 1046
1bed8b07342069 Jani Nikula 2022-09-16 1047 if (strcmp(tmp, "reset") == 0)
1bed8b07342069 Jani Nikula 2022-09-16 1048 new_threshold = HPD_STORM_DEFAULT_THRESHOLD;
1bed8b07342069 Jani Nikula 2022-09-16 1049 else if (kstrtouint(tmp, 10, &new_threshold) != 0)
1bed8b07342069 Jani Nikula 2022-09-16 1050 return -EINVAL;
1bed8b07342069 Jani Nikula 2022-09-16 1051
1bed8b07342069 Jani Nikula 2022-09-16 1052 if (new_threshold > 0)
1bed8b07342069 Jani Nikula 2022-09-16 1053 drm_dbg_kms(&dev_priv->drm,
1bed8b07342069 Jani Nikula 2022-09-16 1054 "Setting HPD storm detection threshold to %d\n",
1bed8b07342069 Jani Nikula 2022-09-16 1055 new_threshold);
1bed8b07342069 Jani Nikula 2022-09-16 1056 else
1bed8b07342069 Jani Nikula 2022-09-16 1057 drm_dbg_kms(&dev_priv->drm, "Disabling HPD storm detection\n");
1bed8b07342069 Jani Nikula 2022-09-16 1058
1bed8b07342069 Jani Nikula 2022-09-16 1059 spin_lock_irq(&dev_priv->irq_lock);
1bed8b07342069 Jani Nikula 2022-09-16 1060 hotplug->hpd_storm_threshold = new_threshold;
1bed8b07342069 Jani Nikula 2022-09-16 1061 /* Reset the HPD storm stats so we don't accidentally trigger a storm */
1bed8b07342069 Jani Nikula 2022-09-16 1062 for_each_hpd_pin(i)
1bed8b07342069 Jani Nikula 2022-09-16 1063 hotplug->stats[i].count = 0;
1bed8b07342069 Jani Nikula 2022-09-16 1064 spin_unlock_irq(&dev_priv->irq_lock);
1bed8b07342069 Jani Nikula 2022-09-16 1065
1bed8b07342069 Jani Nikula 2022-09-16 1066 /* Re-enable hpd immediately if we were in an irq storm */
1bed8b07342069 Jani Nikula 2022-09-16 1067 flush_delayed_work(&dev_priv->display.hotplug.reenable_work);
1bed8b07342069 Jani Nikula 2022-09-16 1068
1bed8b07342069 Jani Nikula 2022-09-16 1069 return len;
1bed8b07342069 Jani Nikula 2022-09-16 1070 }
1bed8b07342069 Jani Nikula 2022-09-16 1071
1bed8b07342069 Jani Nikula 2022-09-16 1072 static int i915_hpd_storm_ctl_open(struct inode *inode, struct file *file)
1bed8b07342069 Jani Nikula 2022-09-16 1073 {
1bed8b07342069 Jani Nikula 2022-09-16 1074 return single_open(file, i915_hpd_storm_ctl_show, inode->i_private);
1bed8b07342069 Jani Nikula 2022-09-16 1075 }
1bed8b07342069 Jani Nikula 2022-09-16 1076
1bed8b07342069 Jani Nikula 2022-09-16 1077 static const struct file_operations i915_hpd_storm_ctl_fops = {
1bed8b07342069 Jani Nikula 2022-09-16 1078 .owner = THIS_MODULE,
1bed8b07342069 Jani Nikula 2022-09-16 1079 .open = i915_hpd_storm_ctl_open,
fb267b131a04cf Jens Axboe 2024-04-09 1080 .read_iter = seq_read_iter,
1bed8b07342069 Jani Nikula 2022-09-16 1081 .llseek = seq_lseek,
1bed8b07342069 Jani Nikula 2022-09-16 1082 .release = single_release,
fb267b131a04cf Jens Axboe 2024-04-09 1083 .write_iter = i915_hpd_storm_ctl_write
1bed8b07342069 Jani Nikula 2022-09-16 1084 };
1bed8b07342069 Jani Nikula 2022-09-16 1085
1bed8b07342069 Jani Nikula 2022-09-16 1086 static int i915_hpd_short_storm_ctl_show(struct seq_file *m, void *data)
1bed8b07342069 Jani Nikula 2022-09-16 1087 {
1bed8b07342069 Jani Nikula 2022-09-16 1088 struct drm_i915_private *dev_priv = m->private;
1bed8b07342069 Jani Nikula 2022-09-16 1089
1bed8b07342069 Jani Nikula 2022-09-16 1090 seq_printf(m, "Enabled: %s\n",
1bed8b07342069 Jani Nikula 2022-09-16 1091 str_yes_no(dev_priv->display.hotplug.hpd_short_storm_enabled));
1bed8b07342069 Jani Nikula 2022-09-16 1092
1bed8b07342069 Jani Nikula 2022-09-16 1093 return 0;
1bed8b07342069 Jani Nikula 2022-09-16 1094 }
1bed8b07342069 Jani Nikula 2022-09-16 1095
1bed8b07342069 Jani Nikula 2022-09-16 1096 static int
1bed8b07342069 Jani Nikula 2022-09-16 1097 i915_hpd_short_storm_ctl_open(struct inode *inode, struct file *file)
1bed8b07342069 Jani Nikula 2022-09-16 1098 {
1bed8b07342069 Jani Nikula 2022-09-16 1099 return single_open(file, i915_hpd_short_storm_ctl_show,
1bed8b07342069 Jani Nikula 2022-09-16 1100 inode->i_private);
1bed8b07342069 Jani Nikula 2022-09-16 1101 }
1bed8b07342069 Jani Nikula 2022-09-16 1102
fb267b131a04cf Jens Axboe 2024-04-09 1103 static ssize_t i915_hpd_short_storm_ctl_write(struct kiocb *iocb,
fb267b131a04cf Jens Axboe 2024-04-09 1104 struct iov_iter *from)
1bed8b07342069 Jani Nikula 2022-09-16 1105 {
fb267b131a04cf Jens Axboe 2024-04-09 1106 struct seq_file *m = iocb->ki_filp->private_data;
1bed8b07342069 Jani Nikula 2022-09-16 1107 struct drm_i915_private *dev_priv = m->private;
1bed8b07342069 Jani Nikula 2022-09-16 1108 struct intel_hotplug *hotplug = &dev_priv->display.hotplug;
fb267b131a04cf Jens Axboe 2024-04-09 1109 size_t len = iov_iter_count(from);
1bed8b07342069 Jani Nikula 2022-09-16 1110 char *newline;
1bed8b07342069 Jani Nikula 2022-09-16 1111 char tmp[16];
1bed8b07342069 Jani Nikula 2022-09-16 1112 int i;
1bed8b07342069 Jani Nikula 2022-09-16 1113 bool new_state;
1bed8b07342069 Jani Nikula 2022-09-16 1114
1bed8b07342069 Jani Nikula 2022-09-16 1115 if (len >= sizeof(tmp))
1bed8b07342069 Jani Nikula 2022-09-16 1116 return -EINVAL;
1bed8b07342069 Jani Nikula 2022-09-16 1117
fb267b131a04cf Jens Axboe 2024-04-09 1118 if (!copy_from_iter_full(tmp, len, from))
1bed8b07342069 Jani Nikula 2022-09-16 1119 return -EFAULT;
1bed8b07342069 Jani Nikula 2022-09-16 1120
1bed8b07342069 Jani Nikula 2022-09-16 @1121 tmp[len] = '\0';
1bed8b07342069 Jani Nikula 2022-09-16 1122
1bed8b07342069 Jani Nikula 2022-09-16 1123 /* Strip newline, if any */
1bed8b07342069 Jani Nikula 2022-09-16 1124 newline = strchr(tmp, '\n');
1bed8b07342069 Jani Nikula 2022-09-16 1125 if (newline)
1bed8b07342069 Jani Nikula 2022-09-16 1126 *newline = '\0';
1bed8b07342069 Jani Nikula 2022-09-16 1127
1bed8b07342069 Jani Nikula 2022-09-16 1128 /* Reset to the "default" state for this system */
1bed8b07342069 Jani Nikula 2022-09-16 1129 if (strcmp(tmp, "reset") == 0)
1bed8b07342069 Jani Nikula 2022-09-16 1130 new_state = !HAS_DP_MST(dev_priv);
1bed8b07342069 Jani Nikula 2022-09-16 1131 else if (kstrtobool(tmp, &new_state) != 0)
1bed8b07342069 Jani Nikula 2022-09-16 1132 return -EINVAL;
1bed8b07342069 Jani Nikula 2022-09-16 1133
1bed8b07342069 Jani Nikula 2022-09-16 1134 drm_dbg_kms(&dev_priv->drm, "%sabling HPD short storm detection\n",
1bed8b07342069 Jani Nikula 2022-09-16 1135 new_state ? "En" : "Dis");
1bed8b07342069 Jani Nikula 2022-09-16 1136
1bed8b07342069 Jani Nikula 2022-09-16 1137 spin_lock_irq(&dev_priv->irq_lock);
1bed8b07342069 Jani Nikula 2022-09-16 1138 hotplug->hpd_short_storm_enabled = new_state;
1bed8b07342069 Jani Nikula 2022-09-16 1139 /* Reset the HPD storm stats so we don't accidentally trigger a storm */
1bed8b07342069 Jani Nikula 2022-09-16 1140 for_each_hpd_pin(i)
1bed8b07342069 Jani Nikula 2022-09-16 1141 hotplug->stats[i].count = 0;
1bed8b07342069 Jani Nikula 2022-09-16 1142 spin_unlock_irq(&dev_priv->irq_lock);
1bed8b07342069 Jani Nikula 2022-09-16 1143
1bed8b07342069 Jani Nikula 2022-09-16 1144 /* Re-enable hpd immediately if we were in an irq storm */
1bed8b07342069 Jani Nikula 2022-09-16 1145 flush_delayed_work(&dev_priv->display.hotplug.reenable_work);
1bed8b07342069 Jani Nikula 2022-09-16 1146
1bed8b07342069 Jani Nikula 2022-09-16 1147 return len;
1bed8b07342069 Jani Nikula 2022-09-16 1148 }
1bed8b07342069 Jani Nikula 2022-09-16 1149
:::::: The code at line 1040 was first introduced by commit
:::::: 1bed8b07342069ebfbab6794e5ce3084c3eb9bc8 drm/i915/hotplug: move hotplug storm debugfs to intel_hotplug.c
:::::: TO: Jani Nikula <jani.nikula@intel.com>
:::::: CC: Jani Nikula <jani.nikula@intel.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-09-22 15:17 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-22 15:17 [axboe-block:rw_iter 138/448] drivers/gpu/drm/i915/display/intel_hotplug.c:1040 i915_hpd_storm_ctl_write() warn: potential spectre issue 'tmp' [w] kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.