Message ID | 20200913211904.24472-1-vaibhav@linux.ibm.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 13135b461cf205941308984bd3271ec7d403dc40 |
Headers | show |
Series | powerpc/papr_scm: Add PAPR command family to pass-through command-set | expand |
Hi Dan, Ira and Vishal, Can you please take a look at this patch. Without it the functionality to report nvdimm health via ndctl breaks on 5.9 Thanks, ~ Vaibhav Vaibhav Jain <vaibhav@linux.ibm.com> writes: > Add NVDIMM_FAMILY_PAPR to the list of valid 'dimm_family_mask' > acceptable by papr_scm. This is needed as since commit > 92fe2aa859f5 ("libnvdimm: Validate command family indices") libnvdimm > performs a validation of 'nd_cmd_pkg.nd_family' received as part of > ND_CMD_CALL processing to ensure only known command families can use > the general ND_CMD_CALL pass-through functionality. > > Without this change the ND_CMD_CALL pass-through targeting > NVDIMM_FAMILY_PAPR error out with -EINVAL. > > Fixes: 92fe2aa859f5 ("libnvdimm: Validate command family indices") > Signed-off-by: Vaibhav Jain <vaibhav@linux.ibm.com> > --- > arch/powerpc/platforms/pseries/papr_scm.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/powerpc/platforms/pseries/papr_scm.c b/arch/powerpc/platforms/pseries/papr_scm.c > index 5493bc847bd08..27268370dee00 100644 > --- a/arch/powerpc/platforms/pseries/papr_scm.c > +++ b/arch/powerpc/platforms/pseries/papr_scm.c > @@ -898,6 +898,9 @@ static int papr_scm_nvdimm_init(struct papr_scm_priv *p) > p->bus_desc.of_node = p->pdev->dev.of_node; > p->bus_desc.provider_name = kstrdup(p->pdev->name, GFP_KERNEL); > > + /* Set the dimm command family mask to accept PDSMs */ > + set_bit(NVDIMM_FAMILY_PAPR, &p->bus_desc.dimm_family_mask); > + > if (!p->bus_desc.provider_name) > return -ENOMEM; > > -- > 2.26.2 >
On Mon, Sep 28, 2020 at 06:44:52PM +0530, Vaibhav Jain wrote: > Hi Dan, Ira and Vishal, > > Can you please take a look at this patch. Without it the functionality > to report nvdimm health via ndctl breaks on 5.9 Sorry... > > Thanks, > ~ Vaibhav > > Vaibhav Jain <vaibhav@linux.ibm.com> writes: > > > Add NVDIMM_FAMILY_PAPR to the list of valid 'dimm_family_mask' > > acceptable by papr_scm. This is needed as since commit > > 92fe2aa859f5 ("libnvdimm: Validate command family indices") libnvdimm > > performs a validation of 'nd_cmd_pkg.nd_family' received as part of > > ND_CMD_CALL processing to ensure only known command families can use > > the general ND_CMD_CALL pass-through functionality. > > > > Without this change the ND_CMD_CALL pass-through targeting > > NVDIMM_FAMILY_PAPR error out with -EINVAL. > > > > Fixes: 92fe2aa859f5 ("libnvdimm: Validate command family indices") > > Signed-off-by: Vaibhav Jain <vaibhav@linux.ibm.com> LGTM Reviewed-by: Ira Weiny <ira.weiny@intel.com> > > --- > > arch/powerpc/platforms/pseries/papr_scm.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/arch/powerpc/platforms/pseries/papr_scm.c b/arch/powerpc/platforms/pseries/papr_scm.c > > index 5493bc847bd08..27268370dee00 100644 > > --- a/arch/powerpc/platforms/pseries/papr_scm.c > > +++ b/arch/powerpc/platforms/pseries/papr_scm.c > > @@ -898,6 +898,9 @@ static int papr_scm_nvdimm_init(struct papr_scm_priv *p) > > p->bus_desc.of_node = p->pdev->dev.of_node; > > p->bus_desc.provider_name = kstrdup(p->pdev->name, GFP_KERNEL); > > > > + /* Set the dimm command family mask to accept PDSMs */ > > + set_bit(NVDIMM_FAMILY_PAPR, &p->bus_desc.dimm_family_mask); > > + > > if (!p->bus_desc.provider_name) > > return -ENOMEM; > > > > -- > > 2.26.2 > >
On Mon, 14 Sep 2020 02:49:04 +0530, Vaibhav Jain wrote: > Add NVDIMM_FAMILY_PAPR to the list of valid 'dimm_family_mask' > acceptable by papr_scm. This is needed as since commit > 92fe2aa859f5 ("libnvdimm: Validate command family indices") libnvdimm > performs a validation of 'nd_cmd_pkg.nd_family' received as part of > ND_CMD_CALL processing to ensure only known command families can use > the general ND_CMD_CALL pass-through functionality. > > [...] Applied to powerpc/next. [1/1] powerpc/papr_scm: Add PAPR command family to pass-through command-set https://git.kernel.org/powerpc/c/13135b461cf205941308984bd3271ec7d403dc40 cheers
diff --git a/arch/powerpc/platforms/pseries/papr_scm.c b/arch/powerpc/platforms/pseries/papr_scm.c index 5493bc847bd08..27268370dee00 100644 --- a/arch/powerpc/platforms/pseries/papr_scm.c +++ b/arch/powerpc/platforms/pseries/papr_scm.c @@ -898,6 +898,9 @@ static int papr_scm_nvdimm_init(struct papr_scm_priv *p) p->bus_desc.of_node = p->pdev->dev.of_node; p->bus_desc.provider_name = kstrdup(p->pdev->name, GFP_KERNEL); + /* Set the dimm command family mask to accept PDSMs */ + set_bit(NVDIMM_FAMILY_PAPR, &p->bus_desc.dimm_family_mask); + if (!p->bus_desc.provider_name) return -ENOMEM;
Add NVDIMM_FAMILY_PAPR to the list of valid 'dimm_family_mask' acceptable by papr_scm. This is needed as since commit 92fe2aa859f5 ("libnvdimm: Validate command family indices") libnvdimm performs a validation of 'nd_cmd_pkg.nd_family' received as part of ND_CMD_CALL processing to ensure only known command families can use the general ND_CMD_CALL pass-through functionality. Without this change the ND_CMD_CALL pass-through targeting NVDIMM_FAMILY_PAPR error out with -EINVAL. Fixes: 92fe2aa859f5 ("libnvdimm: Validate command family indices") Signed-off-by: Vaibhav Jain <vaibhav@linux.ibm.com> --- arch/powerpc/platforms/pseries/papr_scm.c | 3 +++ 1 file changed, 3 insertions(+)