linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@linaro.org>
To: Matthew Brost <matthew.brost@intel.com>
Cc: oe-kbuild@lists.linux.dev, lkp@intel.com,
	oe-kbuild-all@lists.linux.dev,
	Linux Memory Management List <linux-mm@kvack.org>,
	Nirmoy Das <nirmoy.das@intel.com>
Subject: Re: [linux-next:master 13298/13495] drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c:183 send_tlb_invalidation() warn: variable dereferenced before check 'fence' (see line 178)
Date: Tue, 23 Jul 2024 14:25:42 -0500	[thread overview]
Message-ID: <c8fd832d-c52e-4bfb-8448-b3bc4c5d8187@suswa.mountain> (raw)
In-Reply-To: <Zp/9e5rwvQNvk2hg@DUT025-TGLU.fm.intel.com>

On Tue, Jul 23, 2024 at 06:59:07PM +0000, Matthew Brost wrote:
> On Tue, Jul 23, 2024 at 01:52:46PM -0500, Dan Carpenter wrote:
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> > head:   dee7f101b64219f512bb2f842227bd04c14efe30
> > commit: 61ac035361ae555ee5a17a7667fe96afdde3d59a [13298/13495] drm/xe: Drop xe_gt_tlb_invalidation_wait
> > config: i386-randconfig-141-20240722 (https://download.01.org/0day-ci/archive/20240723/202407231049.esig0Fkb-lkp@intel.com/config)
> > compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
> > 
> > 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 <dan.carpenter@linaro.org>
> > | Closes: https://lore.kernel.org/r/202407231049.esig0Fkb-lkp@intel.com/
> > 
> > New smatch warnings:
> > drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c:183 send_tlb_invalidation() warn: variable dereferenced before check 'fence' (see line 178)
> > 
> > vim +/fence +183 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
> > 
> > fc108a8b759f52 Matthew Brost        2023-01-17  159  static int send_tlb_invalidation(struct xe_guc *guc,
> > 332dd0116c82a7 Matthew Brost        2023-01-24  160  				 struct xe_gt_tlb_invalidation_fence *fence,
> > 332dd0116c82a7 Matthew Brost        2023-01-24  161  				 u32 *action, int len)
> > a9351846d94568 Matthew Brost        2023-01-17  162  {
> > a9351846d94568 Matthew Brost        2023-01-17  163  	struct xe_gt *gt = guc_to_gt(guc);
> > 501c4255c40935 Radhakrishna Sripada 2024-06-07  164  	struct xe_device *xe = gt_to_xe(gt);
> > a9351846d94568 Matthew Brost        2023-01-17  165  	int seqno;
> > a9351846d94568 Matthew Brost        2023-01-17  166  	int ret;
> > a9351846d94568 Matthew Brost        2023-01-17  167  
> > 61ac035361ae55 Matthew Brost        2024-07-19  168  	xe_gt_assert(gt, fence);
> 
> We assert the fence is not NULL here. It is invalid call with a NULL fence.
> 

This assert just does a drm_WARN().  It doesn't call called BUG() or
do anything that affects flow analysis.  These type of asserts are
deliberately ignored by Smatch.

With Smatch, I generally try not to print warnings about inconsistent
NULL checking when I know the extra checks are harmless.  If you had
cross function analysis enabled then possibly that would silence the
warning.  (This code is too new for me to have tested it on my own
system yet so I can't be sure if Smatch parses the callers correctly).

Unfortunately, cross function stuff doesn't scale well enough so we
can't use it on in the kbuild bot.

regards,
dan carpenter



      reply	other threads:[~2024-07-23 19:25 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-23 18:52 Dan Carpenter
2024-07-23 18:59 ` Matthew Brost
2024-07-23 19:25   ` Dan Carpenter [this message]

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=c8fd832d-c52e-4bfb-8448-b3bc4c5d8187@suswa.mountain \
    --to=dan.carpenter@linaro.org \
    --cc=linux-mm@kvack.org \
    --cc=lkp@intel.com \
    --cc=matthew.brost@intel.com \
    --cc=nirmoy.das@intel.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=oe-kbuild@lists.linux.dev \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox