All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org, Anshuman Gupta <anshuman.gupta@intel.com>
Cc: kbuild-all@lists.01.org, Jani Nikula <jani.nikula@intel.com>,
	intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
Subject: [Intel-gfx] [drm-intel:drm-intel-next 3/4] drivers/gpu/drm/i915/display/intel_dp_hdcp.c:582 intel_dp_hdcp2_read_msg() error: uninitialized symbol 'msg_end'.
Date: Fri, 2 Apr 2021 13:43:48 +0300	[thread overview]
Message-ID: <20210402104348.GW2065@kadam> (raw)

[-- Attachment #1: Type: text/plain, Size: 5975 bytes --]

tree:   git://anongit.freedesktop.org/drm-intel drm-intel-next
head:   b29854ec3b9ca6512a783e2153465f27a777a654
commit: 989cf9a93892409cf8e84c30c0faaa522ac83807 [3/4] drm/i915/hdcp: Add DP HDCP2.2 timeout to read entire msg
config: i386-randconfig-m031-20210401 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/gpu/drm/i915/display/intel_dp_hdcp.c:582 intel_dp_hdcp2_read_msg() error: uninitialized symbol 'msg_end'.

vim +/msg_end +582 drivers/gpu/drm/i915/display/intel_dp_hdcp.c

d079b7e4b6389e Sean Paul      2020-08-18  526  static
d079b7e4b6389e Sean Paul      2020-08-18  527  int intel_dp_hdcp2_read_msg(struct intel_digital_port *dig_port,
d079b7e4b6389e Sean Paul      2020-08-18  528  			    u8 msg_id, void *buf, size_t size)
d079b7e4b6389e Sean Paul      2020-08-18  529  {
d079b7e4b6389e Sean Paul      2020-08-18  530  	struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
d079b7e4b6389e Sean Paul      2020-08-18  531  	unsigned int offset;
d079b7e4b6389e Sean Paul      2020-08-18  532  	u8 *byte = buf;
d079b7e4b6389e Sean Paul      2020-08-18  533  	ssize_t ret, bytes_to_recv, len;
d079b7e4b6389e Sean Paul      2020-08-18  534  	const struct hdcp2_dp_msg_data *hdcp2_msg_data;
989cf9a9389240 Anshuman Gupta 2021-03-24  535  	ktime_t msg_end;
                                                ^^^^^^^^^^^^^^^^

989cf9a9389240 Anshuman Gupta 2021-03-24  536  	bool msg_expired;
d079b7e4b6389e Sean Paul      2020-08-18  537  
d079b7e4b6389e Sean Paul      2020-08-18  538  	hdcp2_msg_data = get_hdcp2_dp_msg_data(msg_id);
d079b7e4b6389e Sean Paul      2020-08-18  539  	if (!hdcp2_msg_data)
d079b7e4b6389e Sean Paul      2020-08-18  540  		return -EINVAL;
d079b7e4b6389e Sean Paul      2020-08-18  541  	offset = hdcp2_msg_data->offset;
d079b7e4b6389e Sean Paul      2020-08-18  542  
d079b7e4b6389e Sean Paul      2020-08-18  543  	ret = intel_dp_hdcp2_wait_for_msg(dig_port, hdcp2_msg_data);
d079b7e4b6389e Sean Paul      2020-08-18  544  	if (ret < 0)
d079b7e4b6389e Sean Paul      2020-08-18  545  		return ret;
d079b7e4b6389e Sean Paul      2020-08-18  546  
d079b7e4b6389e Sean Paul      2020-08-18  547  	if (msg_id == HDCP_2_2_REP_SEND_RECVID_LIST) {
d079b7e4b6389e Sean Paul      2020-08-18  548  		ret = get_receiver_id_list_size(dig_port);
d079b7e4b6389e Sean Paul      2020-08-18  549  		if (ret < 0)
d079b7e4b6389e Sean Paul      2020-08-18  550  			return ret;
d079b7e4b6389e Sean Paul      2020-08-18  551  
d079b7e4b6389e Sean Paul      2020-08-18  552  		size = ret;
d079b7e4b6389e Sean Paul      2020-08-18  553  	}
d079b7e4b6389e Sean Paul      2020-08-18  554  	bytes_to_recv = size - 1;
                                                ^^^^^^^^^^^^^^^^^^^^^^^^
Is it possible to for "size" to be 1?

d079b7e4b6389e Sean Paul      2020-08-18  555  
d079b7e4b6389e Sean Paul      2020-08-18  556  	/* DP adaptation msgs has no msg_id */
d079b7e4b6389e Sean Paul      2020-08-18  557  	byte++;
d079b7e4b6389e Sean Paul      2020-08-18  558  
d079b7e4b6389e Sean Paul      2020-08-18  559  	while (bytes_to_recv) {

In that case, we would never enter this loop.

d079b7e4b6389e Sean Paul      2020-08-18  560  		len = bytes_to_recv > DP_AUX_MAX_PAYLOAD_BYTES ?
d079b7e4b6389e Sean Paul      2020-08-18  561  		      DP_AUX_MAX_PAYLOAD_BYTES : bytes_to_recv;
d079b7e4b6389e Sean Paul      2020-08-18  562  
989cf9a9389240 Anshuman Gupta 2021-03-24  563  		/* Entire msg read timeout since initiate of msg read */
989cf9a9389240 Anshuman Gupta 2021-03-24  564  		if (bytes_to_recv == size - 1 && hdcp2_msg_data->msg_read_timeout > 0)
989cf9a9389240 Anshuman Gupta 2021-03-24  565  			msg_end = ktime_add_ms(ktime_get_raw(),
989cf9a9389240 Anshuman Gupta 2021-03-24  566  					       hdcp2_msg_data->msg_read_timeout);
989cf9a9389240 Anshuman Gupta 2021-03-24  567  
d079b7e4b6389e Sean Paul      2020-08-18  568  		ret = drm_dp_dpcd_read(&dig_port->dp.aux, offset,
d079b7e4b6389e Sean Paul      2020-08-18  569  				       (void *)byte, len);
d079b7e4b6389e Sean Paul      2020-08-18  570  		if (ret < 0) {
d079b7e4b6389e Sean Paul      2020-08-18  571  			drm_dbg_kms(&i915->drm, "msg_id %d, ret %zd\n",
d079b7e4b6389e Sean Paul      2020-08-18  572  				    msg_id, ret);
d079b7e4b6389e Sean Paul      2020-08-18  573  			return ret;
d079b7e4b6389e Sean Paul      2020-08-18  574  		}
d079b7e4b6389e Sean Paul      2020-08-18  575  
d079b7e4b6389e Sean Paul      2020-08-18  576  		bytes_to_recv -= ret;
d079b7e4b6389e Sean Paul      2020-08-18  577  		byte += ret;
d079b7e4b6389e Sean Paul      2020-08-18  578  		offset += ret;
d079b7e4b6389e Sean Paul      2020-08-18  579  	}
989cf9a9389240 Anshuman Gupta 2021-03-24  580  
989cf9a9389240 Anshuman Gupta 2021-03-24  581  	if (hdcp2_msg_data->msg_read_timeout > 0) {
989cf9a9389240 Anshuman Gupta 2021-03-24 @582  		msg_expired = ktime_after(ktime_get_raw(), msg_end);
989cf9a9389240 Anshuman Gupta 2021-03-24  583  		if (msg_expired) {
989cf9a9389240 Anshuman Gupta 2021-03-24  584  			drm_dbg_kms(&i915->drm, "msg_id %d, entire msg read timeout(mSec): %d\n",
989cf9a9389240 Anshuman Gupta 2021-03-24  585  				    msg_id, hdcp2_msg_data->msg_read_timeout);
989cf9a9389240 Anshuman Gupta 2021-03-24  586  			return -ETIMEDOUT;
989cf9a9389240 Anshuman Gupta 2021-03-24  587  		}
989cf9a9389240 Anshuman Gupta 2021-03-24  588  	}
989cf9a9389240 Anshuman Gupta 2021-03-24  589  
d079b7e4b6389e Sean Paul      2020-08-18  590  	byte = buf;
d079b7e4b6389e Sean Paul      2020-08-18  591  	*byte = msg_id;
d079b7e4b6389e Sean Paul      2020-08-18  592  
d079b7e4b6389e Sean Paul      2020-08-18  593  	return size;
d079b7e4b6389e Sean Paul      2020-08-18  594  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 30429 bytes --]

[-- Attachment #3: Type: text/plain, Size: 160 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org
Subject: [drm-intel:drm-intel-next 3/4] drivers/gpu/drm/i915/display/intel_dp_hdcp.c:582 intel_dp_hdcp2_read_msg() error: uninitialized symbol 'msg_end'.
Date: Fri, 02 Apr 2021 13:43:48 +0300	[thread overview]
Message-ID: <20210402104348.GW2065@kadam> (raw)

[-- Attachment #1: Type: text/plain, Size: 6073 bytes --]

tree:   git://anongit.freedesktop.org/drm-intel drm-intel-next
head:   b29854ec3b9ca6512a783e2153465f27a777a654
commit: 989cf9a93892409cf8e84c30c0faaa522ac83807 [3/4] drm/i915/hdcp: Add DP HDCP2.2 timeout to read entire msg
config: i386-randconfig-m031-20210401 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/gpu/drm/i915/display/intel_dp_hdcp.c:582 intel_dp_hdcp2_read_msg() error: uninitialized symbol 'msg_end'.

vim +/msg_end +582 drivers/gpu/drm/i915/display/intel_dp_hdcp.c

d079b7e4b6389e Sean Paul      2020-08-18  526  static
d079b7e4b6389e Sean Paul      2020-08-18  527  int intel_dp_hdcp2_read_msg(struct intel_digital_port *dig_port,
d079b7e4b6389e Sean Paul      2020-08-18  528  			    u8 msg_id, void *buf, size_t size)
d079b7e4b6389e Sean Paul      2020-08-18  529  {
d079b7e4b6389e Sean Paul      2020-08-18  530  	struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
d079b7e4b6389e Sean Paul      2020-08-18  531  	unsigned int offset;
d079b7e4b6389e Sean Paul      2020-08-18  532  	u8 *byte = buf;
d079b7e4b6389e Sean Paul      2020-08-18  533  	ssize_t ret, bytes_to_recv, len;
d079b7e4b6389e Sean Paul      2020-08-18  534  	const struct hdcp2_dp_msg_data *hdcp2_msg_data;
989cf9a9389240 Anshuman Gupta 2021-03-24  535  	ktime_t msg_end;
                                                ^^^^^^^^^^^^^^^^

989cf9a9389240 Anshuman Gupta 2021-03-24  536  	bool msg_expired;
d079b7e4b6389e Sean Paul      2020-08-18  537  
d079b7e4b6389e Sean Paul      2020-08-18  538  	hdcp2_msg_data = get_hdcp2_dp_msg_data(msg_id);
d079b7e4b6389e Sean Paul      2020-08-18  539  	if (!hdcp2_msg_data)
d079b7e4b6389e Sean Paul      2020-08-18  540  		return -EINVAL;
d079b7e4b6389e Sean Paul      2020-08-18  541  	offset = hdcp2_msg_data->offset;
d079b7e4b6389e Sean Paul      2020-08-18  542  
d079b7e4b6389e Sean Paul      2020-08-18  543  	ret = intel_dp_hdcp2_wait_for_msg(dig_port, hdcp2_msg_data);
d079b7e4b6389e Sean Paul      2020-08-18  544  	if (ret < 0)
d079b7e4b6389e Sean Paul      2020-08-18  545  		return ret;
d079b7e4b6389e Sean Paul      2020-08-18  546  
d079b7e4b6389e Sean Paul      2020-08-18  547  	if (msg_id == HDCP_2_2_REP_SEND_RECVID_LIST) {
d079b7e4b6389e Sean Paul      2020-08-18  548  		ret = get_receiver_id_list_size(dig_port);
d079b7e4b6389e Sean Paul      2020-08-18  549  		if (ret < 0)
d079b7e4b6389e Sean Paul      2020-08-18  550  			return ret;
d079b7e4b6389e Sean Paul      2020-08-18  551  
d079b7e4b6389e Sean Paul      2020-08-18  552  		size = ret;
d079b7e4b6389e Sean Paul      2020-08-18  553  	}
d079b7e4b6389e Sean Paul      2020-08-18  554  	bytes_to_recv = size - 1;
                                                ^^^^^^^^^^^^^^^^^^^^^^^^
Is it possible to for "size" to be 1?

d079b7e4b6389e Sean Paul      2020-08-18  555  
d079b7e4b6389e Sean Paul      2020-08-18  556  	/* DP adaptation msgs has no msg_id */
d079b7e4b6389e Sean Paul      2020-08-18  557  	byte++;
d079b7e4b6389e Sean Paul      2020-08-18  558  
d079b7e4b6389e Sean Paul      2020-08-18  559  	while (bytes_to_recv) {

In that case, we would never enter this loop.

d079b7e4b6389e Sean Paul      2020-08-18  560  		len = bytes_to_recv > DP_AUX_MAX_PAYLOAD_BYTES ?
d079b7e4b6389e Sean Paul      2020-08-18  561  		      DP_AUX_MAX_PAYLOAD_BYTES : bytes_to_recv;
d079b7e4b6389e Sean Paul      2020-08-18  562  
989cf9a9389240 Anshuman Gupta 2021-03-24  563  		/* Entire msg read timeout since initiate of msg read */
989cf9a9389240 Anshuman Gupta 2021-03-24  564  		if (bytes_to_recv == size - 1 && hdcp2_msg_data->msg_read_timeout > 0)
989cf9a9389240 Anshuman Gupta 2021-03-24  565  			msg_end = ktime_add_ms(ktime_get_raw(),
989cf9a9389240 Anshuman Gupta 2021-03-24  566  					       hdcp2_msg_data->msg_read_timeout);
989cf9a9389240 Anshuman Gupta 2021-03-24  567  
d079b7e4b6389e Sean Paul      2020-08-18  568  		ret = drm_dp_dpcd_read(&dig_port->dp.aux, offset,
d079b7e4b6389e Sean Paul      2020-08-18  569  				       (void *)byte, len);
d079b7e4b6389e Sean Paul      2020-08-18  570  		if (ret < 0) {
d079b7e4b6389e Sean Paul      2020-08-18  571  			drm_dbg_kms(&i915->drm, "msg_id %d, ret %zd\n",
d079b7e4b6389e Sean Paul      2020-08-18  572  				    msg_id, ret);
d079b7e4b6389e Sean Paul      2020-08-18  573  			return ret;
d079b7e4b6389e Sean Paul      2020-08-18  574  		}
d079b7e4b6389e Sean Paul      2020-08-18  575  
d079b7e4b6389e Sean Paul      2020-08-18  576  		bytes_to_recv -= ret;
d079b7e4b6389e Sean Paul      2020-08-18  577  		byte += ret;
d079b7e4b6389e Sean Paul      2020-08-18  578  		offset += ret;
d079b7e4b6389e Sean Paul      2020-08-18  579  	}
989cf9a9389240 Anshuman Gupta 2021-03-24  580  
989cf9a9389240 Anshuman Gupta 2021-03-24  581  	if (hdcp2_msg_data->msg_read_timeout > 0) {
989cf9a9389240 Anshuman Gupta 2021-03-24 @582  		msg_expired = ktime_after(ktime_get_raw(), msg_end);
989cf9a9389240 Anshuman Gupta 2021-03-24  583  		if (msg_expired) {
989cf9a9389240 Anshuman Gupta 2021-03-24  584  			drm_dbg_kms(&i915->drm, "msg_id %d, entire msg read timeout(mSec): %d\n",
989cf9a9389240 Anshuman Gupta 2021-03-24  585  				    msg_id, hdcp2_msg_data->msg_read_timeout);
989cf9a9389240 Anshuman Gupta 2021-03-24  586  			return -ETIMEDOUT;
989cf9a9389240 Anshuman Gupta 2021-03-24  587  		}
989cf9a9389240 Anshuman Gupta 2021-03-24  588  	}
989cf9a9389240 Anshuman Gupta 2021-03-24  589  
d079b7e4b6389e Sean Paul      2020-08-18  590  	byte = buf;
d079b7e4b6389e Sean Paul      2020-08-18  591  	*byte = msg_id;
d079b7e4b6389e Sean Paul      2020-08-18  592  
d079b7e4b6389e Sean Paul      2020-08-18  593  	return size;
d079b7e4b6389e Sean Paul      2020-08-18  594  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 30429 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org, Anshuman Gupta <anshuman.gupta@intel.com>
Cc: kbuild-all@lists.01.org, lkp@intel.com,
	Jani Nikula <jani.nikula@intel.com>,
	intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
	Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Subject: [drm-intel:drm-intel-next 3/4] drivers/gpu/drm/i915/display/intel_dp_hdcp.c:582 intel_dp_hdcp2_read_msg() error: uninitialized symbol 'msg_end'.
Date: Fri, 2 Apr 2021 13:43:48 +0300	[thread overview]
Message-ID: <20210402104348.GW2065@kadam> (raw)

[-- Attachment #1: Type: text/plain, Size: 5975 bytes --]

tree:   git://anongit.freedesktop.org/drm-intel drm-intel-next
head:   b29854ec3b9ca6512a783e2153465f27a777a654
commit: 989cf9a93892409cf8e84c30c0faaa522ac83807 [3/4] drm/i915/hdcp: Add DP HDCP2.2 timeout to read entire msg
config: i386-randconfig-m031-20210401 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/gpu/drm/i915/display/intel_dp_hdcp.c:582 intel_dp_hdcp2_read_msg() error: uninitialized symbol 'msg_end'.

vim +/msg_end +582 drivers/gpu/drm/i915/display/intel_dp_hdcp.c

d079b7e4b6389e Sean Paul      2020-08-18  526  static
d079b7e4b6389e Sean Paul      2020-08-18  527  int intel_dp_hdcp2_read_msg(struct intel_digital_port *dig_port,
d079b7e4b6389e Sean Paul      2020-08-18  528  			    u8 msg_id, void *buf, size_t size)
d079b7e4b6389e Sean Paul      2020-08-18  529  {
d079b7e4b6389e Sean Paul      2020-08-18  530  	struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
d079b7e4b6389e Sean Paul      2020-08-18  531  	unsigned int offset;
d079b7e4b6389e Sean Paul      2020-08-18  532  	u8 *byte = buf;
d079b7e4b6389e Sean Paul      2020-08-18  533  	ssize_t ret, bytes_to_recv, len;
d079b7e4b6389e Sean Paul      2020-08-18  534  	const struct hdcp2_dp_msg_data *hdcp2_msg_data;
989cf9a9389240 Anshuman Gupta 2021-03-24  535  	ktime_t msg_end;
                                                ^^^^^^^^^^^^^^^^

989cf9a9389240 Anshuman Gupta 2021-03-24  536  	bool msg_expired;
d079b7e4b6389e Sean Paul      2020-08-18  537  
d079b7e4b6389e Sean Paul      2020-08-18  538  	hdcp2_msg_data = get_hdcp2_dp_msg_data(msg_id);
d079b7e4b6389e Sean Paul      2020-08-18  539  	if (!hdcp2_msg_data)
d079b7e4b6389e Sean Paul      2020-08-18  540  		return -EINVAL;
d079b7e4b6389e Sean Paul      2020-08-18  541  	offset = hdcp2_msg_data->offset;
d079b7e4b6389e Sean Paul      2020-08-18  542  
d079b7e4b6389e Sean Paul      2020-08-18  543  	ret = intel_dp_hdcp2_wait_for_msg(dig_port, hdcp2_msg_data);
d079b7e4b6389e Sean Paul      2020-08-18  544  	if (ret < 0)
d079b7e4b6389e Sean Paul      2020-08-18  545  		return ret;
d079b7e4b6389e Sean Paul      2020-08-18  546  
d079b7e4b6389e Sean Paul      2020-08-18  547  	if (msg_id == HDCP_2_2_REP_SEND_RECVID_LIST) {
d079b7e4b6389e Sean Paul      2020-08-18  548  		ret = get_receiver_id_list_size(dig_port);
d079b7e4b6389e Sean Paul      2020-08-18  549  		if (ret < 0)
d079b7e4b6389e Sean Paul      2020-08-18  550  			return ret;
d079b7e4b6389e Sean Paul      2020-08-18  551  
d079b7e4b6389e Sean Paul      2020-08-18  552  		size = ret;
d079b7e4b6389e Sean Paul      2020-08-18  553  	}
d079b7e4b6389e Sean Paul      2020-08-18  554  	bytes_to_recv = size - 1;
                                                ^^^^^^^^^^^^^^^^^^^^^^^^
Is it possible to for "size" to be 1?

d079b7e4b6389e Sean Paul      2020-08-18  555  
d079b7e4b6389e Sean Paul      2020-08-18  556  	/* DP adaptation msgs has no msg_id */
d079b7e4b6389e Sean Paul      2020-08-18  557  	byte++;
d079b7e4b6389e Sean Paul      2020-08-18  558  
d079b7e4b6389e Sean Paul      2020-08-18  559  	while (bytes_to_recv) {

In that case, we would never enter this loop.

d079b7e4b6389e Sean Paul      2020-08-18  560  		len = bytes_to_recv > DP_AUX_MAX_PAYLOAD_BYTES ?
d079b7e4b6389e Sean Paul      2020-08-18  561  		      DP_AUX_MAX_PAYLOAD_BYTES : bytes_to_recv;
d079b7e4b6389e Sean Paul      2020-08-18  562  
989cf9a9389240 Anshuman Gupta 2021-03-24  563  		/* Entire msg read timeout since initiate of msg read */
989cf9a9389240 Anshuman Gupta 2021-03-24  564  		if (bytes_to_recv == size - 1 && hdcp2_msg_data->msg_read_timeout > 0)
989cf9a9389240 Anshuman Gupta 2021-03-24  565  			msg_end = ktime_add_ms(ktime_get_raw(),
989cf9a9389240 Anshuman Gupta 2021-03-24  566  					       hdcp2_msg_data->msg_read_timeout);
989cf9a9389240 Anshuman Gupta 2021-03-24  567  
d079b7e4b6389e Sean Paul      2020-08-18  568  		ret = drm_dp_dpcd_read(&dig_port->dp.aux, offset,
d079b7e4b6389e Sean Paul      2020-08-18  569  				       (void *)byte, len);
d079b7e4b6389e Sean Paul      2020-08-18  570  		if (ret < 0) {
d079b7e4b6389e Sean Paul      2020-08-18  571  			drm_dbg_kms(&i915->drm, "msg_id %d, ret %zd\n",
d079b7e4b6389e Sean Paul      2020-08-18  572  				    msg_id, ret);
d079b7e4b6389e Sean Paul      2020-08-18  573  			return ret;
d079b7e4b6389e Sean Paul      2020-08-18  574  		}
d079b7e4b6389e Sean Paul      2020-08-18  575  
d079b7e4b6389e Sean Paul      2020-08-18  576  		bytes_to_recv -= ret;
d079b7e4b6389e Sean Paul      2020-08-18  577  		byte += ret;
d079b7e4b6389e Sean Paul      2020-08-18  578  		offset += ret;
d079b7e4b6389e Sean Paul      2020-08-18  579  	}
989cf9a9389240 Anshuman Gupta 2021-03-24  580  
989cf9a9389240 Anshuman Gupta 2021-03-24  581  	if (hdcp2_msg_data->msg_read_timeout > 0) {
989cf9a9389240 Anshuman Gupta 2021-03-24 @582  		msg_expired = ktime_after(ktime_get_raw(), msg_end);
989cf9a9389240 Anshuman Gupta 2021-03-24  583  		if (msg_expired) {
989cf9a9389240 Anshuman Gupta 2021-03-24  584  			drm_dbg_kms(&i915->drm, "msg_id %d, entire msg read timeout(mSec): %d\n",
989cf9a9389240 Anshuman Gupta 2021-03-24  585  				    msg_id, hdcp2_msg_data->msg_read_timeout);
989cf9a9389240 Anshuman Gupta 2021-03-24  586  			return -ETIMEDOUT;
989cf9a9389240 Anshuman Gupta 2021-03-24  587  		}
989cf9a9389240 Anshuman Gupta 2021-03-24  588  	}
989cf9a9389240 Anshuman Gupta 2021-03-24  589  
d079b7e4b6389e Sean Paul      2020-08-18  590  	byte = buf;
d079b7e4b6389e Sean Paul      2020-08-18  591  	*byte = msg_id;
d079b7e4b6389e Sean Paul      2020-08-18  592  
d079b7e4b6389e Sean Paul      2020-08-18  593  	return size;
d079b7e4b6389e Sean Paul      2020-08-18  594  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 30429 bytes --]

[-- Attachment #3: Type: text/plain, Size: 160 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild-all@lists.01.org
Subject: [drm-intel:drm-intel-next 3/4] drivers/gpu/drm/i915/display/intel_dp_hdcp.c:582 intel_dp_hdcp2_read_msg() error: uninitialized symbol 'msg_end'.
Date: Fri, 02 Apr 2021 13:43:48 +0300	[thread overview]
Message-ID: <20210402104348.GW2065@kadam> (raw)

[-- Attachment #1: Type: text/plain, Size: 6073 bytes --]

tree:   git://anongit.freedesktop.org/drm-intel drm-intel-next
head:   b29854ec3b9ca6512a783e2153465f27a777a654
commit: 989cf9a93892409cf8e84c30c0faaa522ac83807 [3/4] drm/i915/hdcp: Add DP HDCP2.2 timeout to read entire msg
config: i386-randconfig-m031-20210401 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/gpu/drm/i915/display/intel_dp_hdcp.c:582 intel_dp_hdcp2_read_msg() error: uninitialized symbol 'msg_end'.

vim +/msg_end +582 drivers/gpu/drm/i915/display/intel_dp_hdcp.c

d079b7e4b6389e Sean Paul      2020-08-18  526  static
d079b7e4b6389e Sean Paul      2020-08-18  527  int intel_dp_hdcp2_read_msg(struct intel_digital_port *dig_port,
d079b7e4b6389e Sean Paul      2020-08-18  528  			    u8 msg_id, void *buf, size_t size)
d079b7e4b6389e Sean Paul      2020-08-18  529  {
d079b7e4b6389e Sean Paul      2020-08-18  530  	struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
d079b7e4b6389e Sean Paul      2020-08-18  531  	unsigned int offset;
d079b7e4b6389e Sean Paul      2020-08-18  532  	u8 *byte = buf;
d079b7e4b6389e Sean Paul      2020-08-18  533  	ssize_t ret, bytes_to_recv, len;
d079b7e4b6389e Sean Paul      2020-08-18  534  	const struct hdcp2_dp_msg_data *hdcp2_msg_data;
989cf9a9389240 Anshuman Gupta 2021-03-24  535  	ktime_t msg_end;
                                                ^^^^^^^^^^^^^^^^

989cf9a9389240 Anshuman Gupta 2021-03-24  536  	bool msg_expired;
d079b7e4b6389e Sean Paul      2020-08-18  537  
d079b7e4b6389e Sean Paul      2020-08-18  538  	hdcp2_msg_data = get_hdcp2_dp_msg_data(msg_id);
d079b7e4b6389e Sean Paul      2020-08-18  539  	if (!hdcp2_msg_data)
d079b7e4b6389e Sean Paul      2020-08-18  540  		return -EINVAL;
d079b7e4b6389e Sean Paul      2020-08-18  541  	offset = hdcp2_msg_data->offset;
d079b7e4b6389e Sean Paul      2020-08-18  542  
d079b7e4b6389e Sean Paul      2020-08-18  543  	ret = intel_dp_hdcp2_wait_for_msg(dig_port, hdcp2_msg_data);
d079b7e4b6389e Sean Paul      2020-08-18  544  	if (ret < 0)
d079b7e4b6389e Sean Paul      2020-08-18  545  		return ret;
d079b7e4b6389e Sean Paul      2020-08-18  546  
d079b7e4b6389e Sean Paul      2020-08-18  547  	if (msg_id == HDCP_2_2_REP_SEND_RECVID_LIST) {
d079b7e4b6389e Sean Paul      2020-08-18  548  		ret = get_receiver_id_list_size(dig_port);
d079b7e4b6389e Sean Paul      2020-08-18  549  		if (ret < 0)
d079b7e4b6389e Sean Paul      2020-08-18  550  			return ret;
d079b7e4b6389e Sean Paul      2020-08-18  551  
d079b7e4b6389e Sean Paul      2020-08-18  552  		size = ret;
d079b7e4b6389e Sean Paul      2020-08-18  553  	}
d079b7e4b6389e Sean Paul      2020-08-18  554  	bytes_to_recv = size - 1;
                                                ^^^^^^^^^^^^^^^^^^^^^^^^
Is it possible to for "size" to be 1?

d079b7e4b6389e Sean Paul      2020-08-18  555  
d079b7e4b6389e Sean Paul      2020-08-18  556  	/* DP adaptation msgs has no msg_id */
d079b7e4b6389e Sean Paul      2020-08-18  557  	byte++;
d079b7e4b6389e Sean Paul      2020-08-18  558  
d079b7e4b6389e Sean Paul      2020-08-18  559  	while (bytes_to_recv) {

In that case, we would never enter this loop.

d079b7e4b6389e Sean Paul      2020-08-18  560  		len = bytes_to_recv > DP_AUX_MAX_PAYLOAD_BYTES ?
d079b7e4b6389e Sean Paul      2020-08-18  561  		      DP_AUX_MAX_PAYLOAD_BYTES : bytes_to_recv;
d079b7e4b6389e Sean Paul      2020-08-18  562  
989cf9a9389240 Anshuman Gupta 2021-03-24  563  		/* Entire msg read timeout since initiate of msg read */
989cf9a9389240 Anshuman Gupta 2021-03-24  564  		if (bytes_to_recv == size - 1 && hdcp2_msg_data->msg_read_timeout > 0)
989cf9a9389240 Anshuman Gupta 2021-03-24  565  			msg_end = ktime_add_ms(ktime_get_raw(),
989cf9a9389240 Anshuman Gupta 2021-03-24  566  					       hdcp2_msg_data->msg_read_timeout);
989cf9a9389240 Anshuman Gupta 2021-03-24  567  
d079b7e4b6389e Sean Paul      2020-08-18  568  		ret = drm_dp_dpcd_read(&dig_port->dp.aux, offset,
d079b7e4b6389e Sean Paul      2020-08-18  569  				       (void *)byte, len);
d079b7e4b6389e Sean Paul      2020-08-18  570  		if (ret < 0) {
d079b7e4b6389e Sean Paul      2020-08-18  571  			drm_dbg_kms(&i915->drm, "msg_id %d, ret %zd\n",
d079b7e4b6389e Sean Paul      2020-08-18  572  				    msg_id, ret);
d079b7e4b6389e Sean Paul      2020-08-18  573  			return ret;
d079b7e4b6389e Sean Paul      2020-08-18  574  		}
d079b7e4b6389e Sean Paul      2020-08-18  575  
d079b7e4b6389e Sean Paul      2020-08-18  576  		bytes_to_recv -= ret;
d079b7e4b6389e Sean Paul      2020-08-18  577  		byte += ret;
d079b7e4b6389e Sean Paul      2020-08-18  578  		offset += ret;
d079b7e4b6389e Sean Paul      2020-08-18  579  	}
989cf9a9389240 Anshuman Gupta 2021-03-24  580  
989cf9a9389240 Anshuman Gupta 2021-03-24  581  	if (hdcp2_msg_data->msg_read_timeout > 0) {
989cf9a9389240 Anshuman Gupta 2021-03-24 @582  		msg_expired = ktime_after(ktime_get_raw(), msg_end);
989cf9a9389240 Anshuman Gupta 2021-03-24  583  		if (msg_expired) {
989cf9a9389240 Anshuman Gupta 2021-03-24  584  			drm_dbg_kms(&i915->drm, "msg_id %d, entire msg read timeout(mSec): %d\n",
989cf9a9389240 Anshuman Gupta 2021-03-24  585  				    msg_id, hdcp2_msg_data->msg_read_timeout);
989cf9a9389240 Anshuman Gupta 2021-03-24  586  			return -ETIMEDOUT;
989cf9a9389240 Anshuman Gupta 2021-03-24  587  		}
989cf9a9389240 Anshuman Gupta 2021-03-24  588  	}
989cf9a9389240 Anshuman Gupta 2021-03-24  589  
d079b7e4b6389e Sean Paul      2020-08-18  590  	byte = buf;
d079b7e4b6389e Sean Paul      2020-08-18  591  	*byte = msg_id;
d079b7e4b6389e Sean Paul      2020-08-18  592  
d079b7e4b6389e Sean Paul      2020-08-18  593  	return size;
d079b7e4b6389e Sean Paul      2020-08-18  594  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 30429 bytes --]

             reply	other threads:[~2021-04-02 10:44 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-02 10:43 Dan Carpenter [this message]
2021-04-02 10:43 ` [drm-intel:drm-intel-next 3/4] drivers/gpu/drm/i915/display/intel_dp_hdcp.c:582 intel_dp_hdcp2_read_msg() error: uninitialized symbol 'msg_end' Dan Carpenter
2021-04-02 10:43 ` Dan Carpenter
2021-04-02 10:43 ` Dan Carpenter
2021-04-26 13:42 ` [Intel-gfx] " Jani Nikula
2021-04-26 13:42   ` Jani Nikula
2021-04-26 13:42   ` Jani Nikula

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210402104348.GW2065@kadam \
    --to=dan.carpenter@oracle.com \
    --cc=anshuman.gupta@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@intel.com \
    --cc=kbuild-all@lists.01.org \
    --cc=kbuild@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.