From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: samples/vfio-mdev/mtty.c:930:14: warning: Dereference of null pointer [clang-analyzer-core.NullDereference]
Date: Sat, 06 Nov 2021 15:32:20 +0800 [thread overview]
Message-ID: <202111061506.7suosGhE-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 21237 bytes --]
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Jason Gunthorpe <jgg@nvidia.com>
CC: Alex Williamson <alex.williamson@redhat.com>
CC: Christoph Hellwig <hch@lst.de>
CC: Cornelia Huck <cohuck@redhat.com>
CC: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
CC: Kirti Wankhede <kwankhede@nvidia.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fe91c4725aeed35023ba4f7a1e1adfebb6878c23
commit: af3ab3f9b986cdbc1b97b8a3341ce78851edb0dd vfio/mdev: Remove CONFIG_VFIO_MDEV_DEVICE
date: 5 months ago
:::::: branch date: 16 hours ago
:::::: commit date: 5 months ago
config: i386-randconfig-c001-20211013 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project adf55ac6657693f7bfbe3087b599b4031a765a44)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=af3ab3f9b986cdbc1b97b8a3341ce78851edb0dd
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout af3ab3f9b986cdbc1b97b8a3341ce78851edb0dd
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=i386 clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
include/linux/compiler_types.h:328:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:316:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:308:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/greybus/manifest.c:196:2: note: Loop condition is false. Exiting loop
list_for_each_entry(descriptor, &intf->manifest_descs, links) {
^
include/linux/list.h:630:13: note: expanded from macro 'list_for_each_entry'
pos = list_next_entry(pos, member))
^
include/linux/list.h:555:2: note: expanded from macro 'list_next_entry'
list_entry((pos)->member.next, typeof(*(pos)), member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:328:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:316:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/greybus/manifest.c:196:2: note: Loop condition is true. Entering loop body
list_for_each_entry(descriptor, &intf->manifest_descs, links) {
^
include/linux/list.h:628:2: note: expanded from macro 'list_for_each_entry'
for (pos = list_first_entry(head, typeof(*pos), member); \
^
drivers/greybus/manifest.c:197:7: note: Use of memory after it is freed
if (descriptor->type != GREYBUS_TYPE_STRING)
^~~~~~~~~~~~~~~~
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
5 warnings generated.
>> samples/vfio-mdev/mtty.c:930:14: warning: Dereference of null pointer [clang-analyzer-core.NullDereference]
int fd = *(int *)data;
^
samples/vfio-mdev/mtty.c:1118:6: note: Assuming 'mdev' is non-null
if (!mdev)
^~~~~
samples/vfio-mdev/mtty.c:1118:2: note: Taking false branch
if (!mdev)
^
samples/vfio-mdev/mtty.c:1121:15: note: Calling 'mdev_get_drvdata'
mdev_state = mdev_get_drvdata(mdev);
^~~~~~~~~~~~~~~~~~~~~~
include/linux/mdev.h:159:2: note: Returning without writing to 'mdev->driver_data', which participates in a condition later
return mdev->driver_data;
^
include/linux/mdev.h:159:2: note: Returning pointer, which participates in a condition later
return mdev->driver_data;
^~~~~~~~~~~~~~~~~~~~~~~~
samples/vfio-mdev/mtty.c:1121:15: note: Returning from 'mdev_get_drvdata'
mdev_state = mdev_get_drvdata(mdev);
^~~~~~~~~~~~~~~~~~~~~~
samples/vfio-mdev/mtty.c:1122:6: note: Assuming 'mdev_state' is non-null
if (!mdev_state)
^~~~~~~~~~~
samples/vfio-mdev/mtty.c:1122:2: note: Taking false branch
if (!mdev_state)
^
samples/vfio-mdev/mtty.c:1125:2: note: Control jumps to 'case 15214:' at line 1196
switch (cmd) {
^
samples/vfio-mdev/mtty.c:1199:7: note: 'data' initialized to a null pointer value
u8 *data = NULL, *ptr = NULL;
^~~~
samples/vfio-mdev/mtty.c:1204:7: note: Calling 'copy_from_user'
if (copy_from_user(&hdr, (void __user *)arg, minsz))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/uaccess.h:191:2: note: Taking true branch
if (likely(check_copy_size(to, n, false)))
^
include/linux/uaccess.h:193:2: note: Returning value (loaded from 'n'), which participates in a condition later
return n;
^~~~~~~~
samples/vfio-mdev/mtty.c:1204:7: note: Returning from 'copy_from_user'
if (copy_from_user(&hdr, (void __user *)arg, minsz))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
samples/vfio-mdev/mtty.c:1204:7: note: Assuming the condition is false
if (copy_from_user(&hdr, (void __user *)arg, minsz))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
samples/vfio-mdev/mtty.c:1204:3: note: Taking false branch
if (copy_from_user(&hdr, (void __user *)arg, minsz))
^
samples/vfio-mdev/mtty.c:1211:7: note: Assuming 'ret' is 0
if (ret)
^~~
samples/vfio-mdev/mtty.c:1211:3: note: Taking false branch
if (ret)
^
samples/vfio-mdev/mtty.c:1214:7: note: Assuming 'data_size' is 0
if (data_size) {
^~~~~~~~~
samples/vfio-mdev/mtty.c:1214:3: note: Taking false branch
if (data_size) {
^
samples/vfio-mdev/mtty.c:1222:20: note: Passing null pointer value via 6th parameter 'data'
hdr.count, data);
^~~~
samples/vfio-mdev/mtty.c:1221:9: note: Calling 'mtty_set_irqs'
ret = mtty_set_irqs(mdev, hdr.flags, hdr.index, hdr.start,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
samples/vfio-mdev/mtty.c:906:7: note: 'mdev' is non-null
if (!mdev)
^~~~
samples/vfio-mdev/mtty.c:906:2: note: Taking false branch
if (!mdev)
^
samples/vfio-mdev/mtty.c:909:15: note: Calling 'mdev_get_drvdata'
mdev_state = mdev_get_drvdata(mdev);
^~~~~~~~~~~~~~~~~~~~~~
include/linux/mdev.h:159:2: note: Returning without writing to 'mdev->driver_data', which participates in a condition later
return mdev->driver_data;
^
include/linux/mdev.h:159:2: note: Returning pointer, which participates in a condition later
return mdev->driver_data;
^~~~~~~~~~~~~~~~~~~~~~~~
samples/vfio-mdev/mtty.c:909:15: note: Returning from 'mdev_get_drvdata'
mdev_state = mdev_get_drvdata(mdev);
^~~~~~~~~~~~~~~~~~~~~~
samples/vfio-mdev/mtty.c:910:7: note: 'mdev_state' is non-null
if (!mdev_state)
^~~~~~~~~~
samples/vfio-mdev/mtty.c:910:2: note: Taking false branch
if (!mdev_state)
^
samples/vfio-mdev/mtty.c:914:2: note: Control jumps to 'case VFIO_PCI_INTX_IRQ_INDEX:' at line 915
switch (index) {
^
samples/vfio-mdev/mtty.c:916:3: note: Control jumps to 'case 32:' at line 920
switch (flags & VFIO_IRQ_SET_ACTION_TYPE_MASK) {
^
samples/vfio-mdev/mtty.c:922:8: note: Assuming the condition is false
if (flags & VFIO_IRQ_SET_DATA_NONE) {
vim +930 samples/vfio-mdev/mtty.c
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 898
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 899 static int mtty_set_irqs(struct mdev_device *mdev, uint32_t flags,
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 900 unsigned int index, unsigned int start,
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 901 unsigned int count, void *data)
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 902 {
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 903 int ret = 0;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 904 struct mdev_state *mdev_state;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 905
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 906 if (!mdev)
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 907 return -EINVAL;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 908
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 909 mdev_state = mdev_get_drvdata(mdev);
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 910 if (!mdev_state)
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 911 return -EINVAL;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 912
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 913 mutex_lock(&mdev_state->ops_lock);
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 914 switch (index) {
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 915 case VFIO_PCI_INTX_IRQ_INDEX:
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 916 switch (flags & VFIO_IRQ_SET_ACTION_TYPE_MASK) {
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 917 case VFIO_IRQ_SET_ACTION_MASK:
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 918 case VFIO_IRQ_SET_ACTION_UNMASK:
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 919 break;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 920 case VFIO_IRQ_SET_ACTION_TRIGGER:
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 921 {
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 922 if (flags & VFIO_IRQ_SET_DATA_NONE) {
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 923 pr_info("%s: disable INTx\n", __func__);
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 924 if (mdev_state->intx_evtfd)
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 925 eventfd_ctx_put(mdev_state->intx_evtfd);
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 926 break;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 927 }
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 928
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 929 if (flags & VFIO_IRQ_SET_DATA_EVENTFD) {
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 @930 int fd = *(int *)data;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 931
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 932 if (fd > 0) {
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 933 struct eventfd_ctx *evt;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 934
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 935 evt = eventfd_ctx_fdget(fd);
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 936 if (IS_ERR(evt)) {
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 937 ret = PTR_ERR(evt);
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 938 break;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 939 }
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 940 mdev_state->intx_evtfd = evt;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 941 mdev_state->irq_fd = fd;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 942 mdev_state->irq_index = index;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 943 break;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 944 }
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 945 }
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 946 break;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 947 }
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 948 }
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 949 break;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 950 case VFIO_PCI_MSI_IRQ_INDEX:
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 951 switch (flags & VFIO_IRQ_SET_ACTION_TYPE_MASK) {
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 952 case VFIO_IRQ_SET_ACTION_MASK:
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 953 case VFIO_IRQ_SET_ACTION_UNMASK:
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 954 break;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 955 case VFIO_IRQ_SET_ACTION_TRIGGER:
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 956 if (flags & VFIO_IRQ_SET_DATA_NONE) {
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 957 if (mdev_state->msi_evtfd)
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 958 eventfd_ctx_put(mdev_state->msi_evtfd);
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 959 pr_info("%s: disable MSI\n", __func__);
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 960 mdev_state->irq_index = VFIO_PCI_INTX_IRQ_INDEX;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 961 break;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 962 }
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 963 if (flags & VFIO_IRQ_SET_DATA_EVENTFD) {
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 964 int fd = *(int *)data;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 965 struct eventfd_ctx *evt;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 966
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 967 if (fd <= 0)
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 968 break;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 969
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 970 if (mdev_state->msi_evtfd)
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 971 break;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 972
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 973 evt = eventfd_ctx_fdget(fd);
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 974 if (IS_ERR(evt)) {
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 975 ret = PTR_ERR(evt);
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 976 break;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 977 }
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 978 mdev_state->msi_evtfd = evt;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 979 mdev_state->irq_fd = fd;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 980 mdev_state->irq_index = index;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 981 }
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 982 break;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 983 }
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 984 break;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 985 case VFIO_PCI_MSIX_IRQ_INDEX:
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 986 pr_info("%s: MSIX_IRQ\n", __func__);
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 987 break;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 988 case VFIO_PCI_ERR_IRQ_INDEX:
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 989 pr_info("%s: ERR_IRQ\n", __func__);
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 990 break;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 991 case VFIO_PCI_REQ_IRQ_INDEX:
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 992 pr_info("%s: REQ_IRQ\n", __func__);
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 993 break;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 994 }
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 995
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 996 mutex_unlock(&mdev_state->ops_lock);
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 997 return ret;
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 998 }
9d1a546c53b4c1c Kirti Wankhede 2016-11-17 999
:::::: The code at line 930 was first introduced by commit
:::::: 9d1a546c53b4c1c378b0f34de84ddee2c7d4c90c docs: Sample driver to demonstrate how to use Mediated device framework.
:::::: TO: Kirti Wankhede <kwankhede@nvidia.com>
:::::: CC: Alex Williamson <alex.williamson@redhat.com>
---
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: 26988 bytes --]
next reply other threads:[~2021-11-06 7:32 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-06 7:32 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2021-11-07 18:48 samples/vfio-mdev/mtty.c:930:14: warning: Dereference of null pointer [clang-analyzer-core.NullDereference] kernel test robot
2022-01-06 14:24 kernel test robot
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=202111061506.7suosGhE-lkp@intel.com \
--to=lkp@intel.com \
--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.