From: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
To: "Ruhl, Michael J" <michael.j.ruhl@intel.com>
Cc: "platform-driver-x86@vger.kernel.org"
<platform-driver-x86@vger.kernel.org>,
"intel-xe@lists.freedesktop.org"
<intel-xe@lists.freedesktop.org>,
Hans de Goede <hdegoede@redhat.com>,
"De Marchi, Lucas" <lucas.demarchi@intel.com>,
"Vivi, Rodrigo" <rodrigo.vivi@intel.com>,
"thomas.hellstrom@linux.intel.com"
<thomas.hellstrom@linux.intel.com>,
"airlied@gmail.com" <airlied@gmail.com>,
"simona@ffwll.ch" <simona@ffwll.ch>,
"david.e.box@linux.intel.com" <david.e.box@linux.intel.com>,
"stable@vger.kernel.org" <stable@vger.kernel.org>
Subject: RE: [PATCH v4 01/10] platform/x86/intel/pmt: fix a crashlog NULL pointer access
Date: Wed, 11 Jun 2025 16:29:21 +0300 (EEST) [thread overview]
Message-ID: <1530a75b-fe92-b6de-6c97-bf8de20241be@linux.intel.com> (raw)
In-Reply-To: <IA1PR11MB6418026EFDD6B6EAD882CA95C175A@IA1PR11MB6418.namprd11.prod.outlook.com>
[-- Attachment #1: Type: text/plain, Size: 3860 bytes --]
On Wed, 11 Jun 2025, Ruhl, Michael J wrote:
> >-----Original Message-----
> >From: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> >Sent: Wednesday, June 11, 2025 6:42 AM
> >To: Ruhl, Michael J <michael.j.ruhl@intel.com>
> >Cc: platform-driver-x86@vger.kernel.org; intel-xe@lists.freedesktop.org; Hans
> >de Goede <hdegoede@redhat.com>; De Marchi, Lucas
> ><lucas.demarchi@intel.com>; Vivi, Rodrigo <rodrigo.vivi@intel.com>;
> >thomas.hellstrom@linux.intel.com; airlied@gmail.com; simona@ffwll.ch;
> >david.e.box@linux.intel.com; stable@vger.kernel.org
> >Subject: Re: [PATCH v4 01/10] platform/x86/intel/pmt: fix a crashlog NULL
> >pointer access
> >
> >On Tue, 10 Jun 2025, Michael J. Ruhl wrote:
> >
> >> Usage of the intel_pmt_read() for binary sysfs, requires a pcidev. The
> >> current use of the endpoint value is only valid for telemetry endpoint
> >> usage.
> >>
> >> Without the ep, the crashlog usage causes the following NULL pointer
> >> exception:
> >>
> >> BUG: kernel NULL pointer dereference, address: 0000000000000000
> >> Oops: Oops: 0000 [#1] SMP NOPTI
> >> RIP: 0010:intel_pmt_read+0x3b/0x70 [pmt_class]
> >> Code:
> >> Call Trace:
> >> <TASK>
> >> ? sysfs_kf_bin_read+0xc0/0xe0
> >> kernfs_fop_read_iter+0xac/0x1a0
> >> vfs_read+0x26d/0x350
> >> ksys_read+0x6b/0xe0
> >> __x64_sys_read+0x1d/0x30
> >> x64_sys_call+0x1bc8/0x1d70
> >> do_syscall_64+0x6d/0x110
> >>
> >> Augment the inte_pmt_entry to include the pcidev to allow for access to
> >
> >intel_pmt_entry
>
> I have also been told that should be "intel_pmt_entry()".... when I redo, is that
> more correct?
?? For structs, don't use (). Use () after any name that refers to a
C function or a function like macro.
You could also say the struct intel_pmt_entry to indicate unambiguously to
the reader what kind of object sits behind the name.
> Thanks,
>
> M
>
> >> the pcidev and avoid the NULL pointer exception.
> >>
> >> Fixes: 416eeb2e1fc7 ("platform/x86/intel/pmt: telemetry: Export API to read
> >telemetry")
> >> Cc: <stable@vger.kernel.org>
> >> Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
> >> ---
> >> drivers/platform/x86/intel/pmt/class.c | 3 ++-
> >> drivers/platform/x86/intel/pmt/class.h | 1 +
> >> 2 files changed, 3 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/platform/x86/intel/pmt/class.c
> >b/drivers/platform/x86/intel/pmt/class.c
> >> index 7233b654bbad..d046e8752173 100644
> >> --- a/drivers/platform/x86/intel/pmt/class.c
> >> +++ b/drivers/platform/x86/intel/pmt/class.c
> >> @@ -97,7 +97,7 @@ intel_pmt_read(struct file *filp, struct kobject *kobj,
> >> if (count > entry->size - off)
> >> count = entry->size - off;
> >>
> >> - count = pmt_telem_read_mmio(entry->ep->pcidev, entry->cb, entry-
> >>header.guid, buf,
> >> + count = pmt_telem_read_mmio(entry->pcidev, entry->cb, entry-
> >>header.guid, buf,
> >> entry->base, off, count);
> >>
> >> return count;
> >> @@ -252,6 +252,7 @@ static int intel_pmt_populate_entry(struct
> >intel_pmt_entry *entry,
> >> return -EINVAL;
> >> }
> >>
> >> + entry->pcidev = pci_dev;
> >> entry->guid = header->guid;
> >> entry->size = header->size;
> >> entry->cb = ivdev->priv_data;
> >> diff --git a/drivers/platform/x86/intel/pmt/class.h
> >b/drivers/platform/x86/intel/pmt/class.h
> >> index b2006d57779d..f6ce80c4e051 100644
> >> --- a/drivers/platform/x86/intel/pmt/class.h
> >> +++ b/drivers/platform/x86/intel/pmt/class.h
> >> @@ -39,6 +39,7 @@ struct intel_pmt_header {
> >>
> >> struct intel_pmt_entry {
> >> struct telem_endpoint *ep;
> >> + struct pci_dev *pcidev;
> >> struct intel_pmt_header header;
> >> struct bin_attribute pmt_bin_attr;
> >> struct kobject *kobj;
> >>
> >
> >--
> > i.
>
--
i.
next prev parent reply other threads:[~2025-06-11 13:29 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-10 21:12 [PATCH v4 00/10] Crashlog Type1 Version2 support Michael J. Ruhl
2025-06-10 21:12 ` [PATCH v4 01/10] platform/x86/intel/pmt: fix a crashlog NULL pointer access Michael J. Ruhl
2025-06-11 8:12 ` Upadhyay, Tejas
2025-06-11 8:12 ` Upadhyay, Tejas
2025-06-11 10:42 ` Ilpo Järvinen
2025-06-11 12:40 ` Ruhl, Michael J
2025-06-11 13:29 ` Ilpo Järvinen [this message]
2025-06-10 21:12 ` [PATCH v4 02/10] drm/xe: Correct BMG VSEC header sizing Michael J. Ruhl
2025-06-10 21:12 ` [PATCH v4 03/10] platform/x86/intel/pmt: white space cleanup Michael J. Ruhl
2025-06-10 21:12 ` [PATCH v4 04/10] platform/x86/intel/pmt: use guard(mutex) Michael J. Ruhl
2025-06-10 21:12 ` [PATCH v4 05/10] platform/x86/intel/pmt: re-order trigger logic Michael J. Ruhl
2025-06-11 10:46 ` Ilpo Järvinen
2025-06-10 21:12 ` [PATCH v4 06/10] platform/x86/intel/pmt: correct types Michael J. Ruhl
2025-06-11 10:46 ` Ilpo Järvinen
2025-06-10 21:12 ` [PATCH v4 07/10] platform/x86/intel/pmt: decouple sysfs and namespace Michael J. Ruhl
2025-06-10 21:12 ` [PATCH v4 08/10] platform/x86/intel/pmt: add register access helpers Michael J. Ruhl
2025-06-11 10:52 ` Ilpo Järvinen
2025-06-10 21:12 ` [PATCH v4 09/10] platform/x86/intel/pmt: use a version struct Michael J. Ruhl
2025-06-11 11:05 ` Ilpo Järvinen
2025-06-10 21:12 ` [PATCH v4 10/10] platform/x86/intel/pmt: support BMG crashlog Michael J. Ruhl
2025-06-10 21:18 ` ✓ CI.Patch_applied: success for Crashlog Type1 Version2 support (rev4) Patchwork
2025-06-10 21:19 ` ✓ CI.checkpatch: " Patchwork
2025-06-10 21:20 ` ✓ CI.KUnit: " Patchwork
2025-06-10 21:31 ` ✓ CI.Build: " Patchwork
2025-06-10 21:33 ` ✓ CI.Hooks: " Patchwork
2025-06-10 21:35 ` ✓ CI.checksparse: " Patchwork
2025-06-10 22:01 ` ✓ Xe.CI.BAT: " Patchwork
2025-06-11 4:00 ` ✗ Xe.CI.Full: failure " Patchwork
[not found] <20250610144619.1079056-1-michael.j.ruhl@intel.com>
2025-06-10 14:46 ` [PATCH v4 01/10] platform/x86/intel/pmt: fix a crashlog NULL pointer access Michael J. Ruhl
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=1530a75b-fe92-b6de-6c97-bf8de20241be@linux.intel.com \
--to=ilpo.jarvinen@linux.intel.com \
--cc=airlied@gmail.com \
--cc=david.e.box@linux.intel.com \
--cc=hdegoede@redhat.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=lucas.demarchi@intel.com \
--cc=michael.j.ruhl@intel.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=rodrigo.vivi@intel.com \
--cc=simona@ffwll.ch \
--cc=stable@vger.kernel.org \
--cc=thomas.hellstrom@linux.intel.com \
/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.