All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Michael Bommarito <michael.bommarito@gmail.com>,
	Eric Van Hensbergen <ericvh@kernel.org>,
	Latchesar Ionkov <lucho@ionkov.net>,
	Dominique Martinet <asmadeus@codewreck.org>,
	Christian Schoenebeck <linux_oss@crudebyte.com>
Cc: oe-kbuild-all@lists.linux.dev, v9fs@lists.linux.dev,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3] 9p/trans_virtio: reject mount tags that cannot fit a sysfs page
Date: Mon, 29 Jun 2026 19:57:04 +0800	[thread overview]
Message-ID: <202606291938.9FOZRc5c-lkp@intel.com> (raw)
In-Reply-To: <20260626111906.801890-1-michael.bommarito@gmail.com>

Hi Michael,

kernel test robot noticed the following build warnings:

[auto build test WARNING on 4edcdefd4083ae04b1a5656f4be6cd83ae919ef4]

url:    https://github.com/intel-lab-lkp/linux/commits/Michael-Bommarito/9p-trans_virtio-reject-mount-tags-that-cannot-fit-a-sysfs-page/20260629-093057
base:   4edcdefd4083ae04b1a5656f4be6cd83ae919ef4
patch link:    https://lore.kernel.org/r/20260626111906.801890-1-michael.bommarito%40gmail.com
patch subject: [PATCH v3] 9p/trans_virtio: reject mount tags that cannot fit a sysfs page
config: arm64-randconfig-r063-20260629 (https://download.01.org/0day-ci/archive/20260629/202606291938.9FOZRc5c-lkp@intel.com/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260629/202606291938.9FOZRc5c-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202606291938.9FOZRc5c-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> net/9p/trans_virtio.c:636:14: warning: result of comparison of constant 65536 with expression of type '__u16' (aka 'unsigned short') is always false [-Wtautological-constant-out-of-range-compare]
     636 |         if (tag_len >= PAGE_SIZE) {
         |             ~~~~~~~ ^  ~~~~~~~~~
   1 warning generated.


vim +636 net/9p/trans_virtio.c

   587	
   588	/**
   589	 * p9_virtio_probe - probe for existence of 9P virtio channels
   590	 * @vdev: virtio device to probe
   591	 *
   592	 * This probes for existing virtio channels.
   593	 *
   594	 */
   595	
   596	static int p9_virtio_probe(struct virtio_device *vdev)
   597	{
   598		__u16 tag_len;
   599		char *tag;
   600		int err;
   601		struct virtio_chan *chan;
   602	
   603		if (!vdev->config->get) {
   604			dev_err(&vdev->dev, "%s failure: config access disabled\n",
   605				__func__);
   606			return -EINVAL;
   607		}
   608	
   609		chan = kmalloc_obj(struct virtio_chan);
   610		if (!chan) {
   611			pr_err("Failed to allocate virtio 9P channel\n");
   612			err = -ENOMEM;
   613			goto fail;
   614		}
   615	
   616		chan->vdev = vdev;
   617	
   618		/* We expect one virtqueue, for requests. */
   619		chan->vq = virtio_find_single_vq(vdev, req_done, "requests");
   620		if (IS_ERR(chan->vq)) {
   621			err = PTR_ERR(chan->vq);
   622			goto out_free_chan;
   623		}
   624		chan->vq->vdev->priv = chan;
   625		spin_lock_init(&chan->lock);
   626	
   627		sg_init_table(chan->sg, VIRTQUEUE_NUM);
   628	
   629		chan->inuse = false;
   630		if (virtio_has_feature(vdev, VIRTIO_9P_MOUNT_TAG)) {
   631			virtio_cread(vdev, struct virtio_9p_config, tag_len, &tag_len);
   632		} else {
   633			err = -EINVAL;
   634			goto out_free_vq;
   635		}
 > 636		if (tag_len >= PAGE_SIZE) {
   637			dev_err(&vdev->dev, "mount tag too long (%u bytes)\n", tag_len);
   638			err = -EINVAL;
   639			goto out_free_vq;
   640		}
   641		tag = kzalloc(tag_len + 1, GFP_KERNEL);
   642		if (!tag) {
   643			err = -ENOMEM;
   644			goto out_free_vq;
   645		}
   646	
   647		virtio_cread_bytes(vdev, offsetof(struct virtio_9p_config, tag),
   648				   tag, tag_len);
   649		chan->tag = tag;
   650		err = sysfs_create_file(&(vdev->dev.kobj), &dev_attr_mount_tag.attr);
   651		if (err) {
   652			goto out_free_tag;
   653		}
   654		chan->vc_wq = kmalloc_obj(wait_queue_head_t);
   655		if (!chan->vc_wq) {
   656			err = -ENOMEM;
   657			goto out_remove_file;
   658		}
   659		init_waitqueue_head(chan->vc_wq);
   660		chan->ring_bufs_avail = 1;
   661		/* Ceiling limit to avoid denial of service attacks */
   662		chan->p9_max_pages = nr_free_buffer_pages()/4;
   663	
   664		virtio_device_ready(vdev);
   665	
   666		mutex_lock(&virtio_9p_lock);
   667		list_add_tail(&chan->chan_list, &virtio_chan_list);
   668		mutex_unlock(&virtio_9p_lock);
   669	
   670		/* Let udev rules use the new mount_tag attribute. */
   671		kobject_uevent(&(vdev->dev.kobj), KOBJ_CHANGE);
   672	
   673		return 0;
   674	
   675	out_remove_file:
   676		sysfs_remove_file(&vdev->dev.kobj, &dev_attr_mount_tag.attr);
   677	out_free_tag:
   678		kfree(tag);
   679	out_free_vq:
   680		vdev->config->del_vqs(vdev);
   681	out_free_chan:
   682		kfree(chan);
   683	fail:
   684		return err;
   685	}
   686	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

      parent reply	other threads:[~2026-06-29 11:57 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-10 11:42 [PATCH] 9p/trans_virtio: bound mount_tag show copy to one page Michael Bommarito
2026-06-10 15:46 ` Christian Schoenebeck
2026-06-10 16:00   ` Michael Bommarito
2026-06-26 11:19 ` [PATCH v3] 9p/trans_virtio: reject mount tags that cannot fit a sysfs page Michael Bommarito
2026-06-26 12:34   ` Christian Schoenebeck
2026-06-27 21:10   ` [PATCH v4] 9p/trans_virtio: reject mount tags longer than NAME_MAX at probe Michael Bommarito
2026-07-03 15:14     ` Christian Schoenebeck
2026-06-29 11:57   ` kernel test robot [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=202606291938.9FOZRc5c-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=asmadeus@codewreck.org \
    --cc=ericvh@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux_oss@crudebyte.com \
    --cc=lucho@ionkov.net \
    --cc=michael.bommarito@gmail.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=v9fs@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 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.