Re: [PATCH 6/6] drm: zynqmp_dp: Add debugfs interface for compliance testing

From: Sean Anderson
Date: Mon Mar 18 2024 - 15:06:14 EST


On 3/18/24 13:50, Laurent Pinchart wrote:
> On Mon, Mar 18, 2024 at 11:06:40AM -0400, Sean Anderson wrote:
>> On 3/16/24 06:14, kernel test robot wrote:
>> > Hi Sean,
>> >
>> > kernel test robot noticed the following build warnings:
>> >
>> > [auto build test WARNING on v6.8]
>> > [cannot apply to drm-misc/drm-misc-next linus/master next-20240315]
>> > [If your patch is applied to the wrong git tree, kindly drop us a note.
>> > And when submitting patch, we suggest to use '--base' as documented in
>> > https://git-scm.com/docs/git-format-patch#_base_tree_information]
>> >
>> > url: https://github.com/intel-lab-lkp/linux/commits/Sean-Anderson/drm-zynqmp_dp-Downgrade-log-level-for-aux-retries-message/20240316-071208
>> > base: v6.8
>> > patch link: https://lore.kernel.org/r/20240315230916.1759060-7-sean.anderson%40linux.dev
>> > patch subject: [PATCH 6/6] drm: zynqmp_dp: Add debugfs interface for compliance testing
>> > config: microblaze-allmodconfig (https://download.01.org/0day-ci/archive/20240316/202403161704.ACHJdSJG-lkp@xxxxxxxxx/config)
>> > compiler: microblaze-linux-gcc (GCC) 13.2.0
>> > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240316/202403161704.ACHJdSJG-lkp@xxxxxxxxx/reproduce)
>> >
>> > 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@xxxxxxxxx>
>> > | Closes: https://lore.kernel.org/oe-kbuild-all/202403161704.ACHJdSJG-lkp@xxxxxxxxx/
>> >
>> > All warnings (new ones prefixed by >>):
>> >
>> > drivers/gpu/drm/xlnx/zynqmp_dp.c: In function 'zynqmp_dp_bridge_debugfs_init':
>> >>> drivers/gpu/drm/xlnx/zynqmp_dp.c:2168:31: warning: 'sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=]
>> > 2168 | sprintf(name, fmt, i);
>> > | ^~~
>> > drivers/gpu/drm/xlnx/zynqmp_dp.c:2168:17: note: 'sprintf' output between 18 and 20 bytes into a destination of size 19
>> > 2168 | sprintf(name, fmt, i);
>> > | ^~~~~~~~~~~~~~~~~~~~~
>>
>> Not a bug, as i will be at most 4, which uses 1 digit.
>
> The compiler can't know that. Please fix this, there's a zero warning
> policy.

I cannot reproduce this with GCC 13.2.0. So given that this is not a bug and I can't reproduce
it, I don't see how I can verify any fix.

--Sean

>> > vim +/sprintf +2168 drivers/gpu/drm/xlnx/zynqmp_dp.c
>> >
>> > 2136
>> > 2137 DEFINE_DEBUGFS_ATTRIBUTE(fops_zynqmp_dp_rate, zynqmp_dp_rate_get,
>> > 2138 zynqmp_dp_rate_set, "%llu\n");
>> > 2139
>> > 2140 static void zynqmp_dp_bridge_debugfs_init(struct drm_bridge *bridge,
>> > 2141 struct dentry *root)
>> > 2142 {
>> > 2143 struct zynqmp_dp *dp = bridge_to_dp(bridge);
>> > 2144 struct dentry *test;
>> > 2145 int i;
>> > 2146
>> > 2147 dp->test.bw_code = DP_LINK_BW_5_4;
>> > 2148 dp->test.link_cnt = dp->num_lanes;
>> > 2149
>> > 2150 test = debugfs_create_dir("test", root);
>> > 2151 #define CREATE_FILE(name) \
>> > 2152 debugfs_create_file(#name, 0600, test, dp, &fops_zynqmp_dp_##name)
>> > 2153 CREATE_FILE(pattern);
>> > 2154 CREATE_FILE(enhanced);
>> > 2155 CREATE_FILE(downspread);
>> > 2156 CREATE_FILE(active);
>> > 2157 CREATE_FILE(custom);
>> > 2158 CREATE_FILE(rate);
>> > 2159 CREATE_FILE(lanes);
>> > 2160
>> > 2161 for (i = 0; i < dp->num_lanes; i++) {
>> > 2162 static const char fmt[] = "lane%d_preemphasis";
>> > 2163 char name[sizeof(fmt)];
>> > 2164
>> > 2165 dp->debugfs_train_set[i].dp = dp;
>> > 2166 dp->debugfs_train_set[i].lane = i;
>> > 2167
>> >> 2168 sprintf(name, fmt, i);
>> > 2169 debugfs_create_file(name, 0600, test,
>> > 2170 &dp->debugfs_train_set[i],
>> > 2171 &fops_zynqmp_dp_preemphasis);
>> > 2172
>> > 2173 sprintf(name, "lane%d_swing", i);
>> > 2174 debugfs_create_file(name, 0600, test,
>> > 2175 &dp->debugfs_train_set[i],
>> > 2176 &fops_zynqmp_dp_swing);
>> > 2177 }
>> > 2178 }
>> > 2179
>