Cornelia Huck
2020-Jul-07 09:26 UTC
[PATCH v4 1/2] virtio: let arch validate VIRTIO features
On Tue, 7 Jul 2020 10:44:36 +0200 Pierre Morel <pmorel at linux.ibm.com> wrote:> An architecture may need to validate the VIRTIO devices features > based on architecture specificities.s/specifities/specifics/> > Signed-off-by: Pierre Morel <pmorel at linux.ibm.com> > --- > drivers/virtio/virtio.c | 19 +++++++++++++++++++ > include/linux/virtio_config.h | 1 + > 2 files changed, 20 insertions(+) > > diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c > index a977e32a88f2..3179a8aa76f5 100644 > --- a/drivers/virtio/virtio.c > +++ b/drivers/virtio/virtio.c > @@ -167,6 +167,21 @@ void virtio_add_status(struct virtio_device *dev, unsigned int status) > } > EXPORT_SYMBOL_GPL(virtio_add_status); > > +/* > + * arch_needs_virtio_iommu_platform - provide arch specific hook when finalizings/arch_needs_virtio_iommu_platform/arch_validate_virtio_features/ :)> + * features for VIRTIO device dev > + * @dev: the VIRTIO device being added > + * > + * Permits the platform to provide architecture specific functionality whens/provide architecture specific functionality/handle architecture-specific requirements/ ?> + * devices features are finalized. This is the default implementation.s/devices/device/> + * Architecture implementations can override this. > + */ > + > +int __weak arch_validate_virtio_features(struct virtio_device *dev) > +{ > + return 0; > +} > + > int virtio_finalize_features(struct virtio_device *dev) > { > int ret = dev->config->finalize_features(dev); > @@ -176,6 +191,10 @@ int virtio_finalize_features(struct virtio_device *dev) > if (ret) > return ret; > > + ret = arch_validate_virtio_features(dev); > + if (ret) > + return ret; > + > if (!virtio_has_feature(dev, VIRTIO_F_VERSION_1)) > return 0; > > diff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h > index bb4cc4910750..3f4117adf311 100644 > --- a/include/linux/virtio_config.h > +++ b/include/linux/virtio_config.h > @@ -459,4 +459,5 @@ static inline void virtio_cwrite64(struct virtio_device *vdev, > _r; \ > }) > > +int arch_validate_virtio_features(struct virtio_device *dev); > #endif /* _LINUX_VIRTIO_CONFIG_H */With the wording fixed, Reviewed-by: Cornelia Huck <cohuck at redhat.com>
Pierre Morel
2020-Jul-07 10:39 UTC
[PATCH v4 1/2] virtio: let arch validate VIRTIO features
On 2020-07-07 11:26, Cornelia Huck wrote:> On Tue, 7 Jul 2020 10:44:36 +0200 > Pierre Morel <pmorel at linux.ibm.com> wrote: > >> An architecture may need to validate the VIRTIO devices features >> based on architecture specificities. > > s/specifities/specifics/OK> >> >> Signed-off-by: Pierre Morel <pmorel at linux.ibm.com> >> --- >> drivers/virtio/virtio.c | 19 +++++++++++++++++++ >> include/linux/virtio_config.h | 1 + >> 2 files changed, 20 insertions(+) >> >> diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c >> index a977e32a88f2..3179a8aa76f5 100644 >> --- a/drivers/virtio/virtio.c >> +++ b/drivers/virtio/virtio.c >> @@ -167,6 +167,21 @@ void virtio_add_status(struct virtio_device *dev, unsigned int status) >> } >> EXPORT_SYMBOL_GPL(virtio_add_status); >> >> +/* >> + * arch_needs_virtio_iommu_platform - provide arch specific hook when finalizing > > s/arch_needs_virtio_iommu_platform/arch_validate_virtio_features/ > > :)grrr... yes.> >> + * features for VIRTIO device dev >> + * @dev: the VIRTIO device being added >> + * >> + * Permits the platform to provide architecture specific functionality when > > s/provide architecture specific functionality/handle architecture-specific requirements/ > > ?better, thanks.> >> + * devices features are finalized. This is the default implementation. > > s/devices/device/yes.> >> + * Architecture implementations can override this. >> + */ >> + >> +int __weak arch_validate_virtio_features(struct virtio_device *dev) >> +{ >> + return 0; >> +} >> + >> int virtio_finalize_features(struct virtio_device *dev) >> { >> int ret = dev->config->finalize_features(dev); >> @@ -176,6 +191,10 @@ int virtio_finalize_features(struct virtio_device *dev) >> if (ret) >> return ret; >> >> + ret = arch_validate_virtio_features(dev); >> + if (ret) >> + return ret; >> + >> if (!virtio_has_feature(dev, VIRTIO_F_VERSION_1)) >> return 0; >> >> diff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h >> index bb4cc4910750..3f4117adf311 100644 >> --- a/include/linux/virtio_config.h >> +++ b/include/linux/virtio_config.h >> @@ -459,4 +459,5 @@ static inline void virtio_cwrite64(struct virtio_device *vdev, >> _r; \ >> }) >> >> +int arch_validate_virtio_features(struct virtio_device *dev); >> #endif /* _LINUX_VIRTIO_CONFIG_H */ > > With the wording fixed, > > Reviewed-by: Cornelia Huck <cohuck at redhat.com> >Thanks for the review. regards, Pierre -- Pierre Morel IBM Lab Boeblingen
Christian Borntraeger
2020-Jul-07 11:09 UTC
[PATCH v4 1/2] virtio: let arch validate VIRTIO features
On 07.07.20 11:26, Cornelia Huck wrote:> On Tue, 7 Jul 2020 10:44:36 +0200 > Pierre Morel <pmorel at linux.ibm.com> wrote: > >> An architecture may need to validate the VIRTIO devices features >> based on architecture specificities. > > s/specifities/specifics/ > >> >> Signed-off-by: Pierre Morel <pmorel at linux.ibm.com> >> --- >> drivers/virtio/virtio.c | 19 +++++++++++++++++++ >> include/linux/virtio_config.h | 1 + >> 2 files changed, 20 insertions(+) >> >> diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c >> index a977e32a88f2..3179a8aa76f5 100644 >> --- a/drivers/virtio/virtio.c >> +++ b/drivers/virtio/virtio.c >> @@ -167,6 +167,21 @@ void virtio_add_status(struct virtio_device *dev, unsigned int status) >> } >> EXPORT_SYMBOL_GPL(virtio_add_status); >> >> +/* >> + * arch_needs_virtio_iommu_platform - provide arch specific hook when finalizing > > s/arch_needs_virtio_iommu_platform/arch_validate_virtio_features/With the things from Conny fixed, Acked-by: Christian Borntraeger <borntraeger at de.ibm.com>
Pierre Morel
2020-Jul-07 11:17 UTC
[PATCH v4 1/2] virtio: let arch validate VIRTIO features
On 2020-07-07 13:09, Christian Borntraeger wrote:> > > On 07.07.20 11:26, Cornelia Huck wrote: >> On Tue, 7 Jul 2020 10:44:36 +0200 >> Pierre Morel <pmorel at linux.ibm.com> wrote: >> >>> An architecture may need to validate the VIRTIO devices features >>> based on architecture specificities. >> >> s/specifities/specifics/yes>> >>> >>> Signed-off-by: Pierre Morel <pmorel at linux.ibm.com> >>> --- >>> drivers/virtio/virtio.c | 19 +++++++++++++++++++ >>> include/linux/virtio_config.h | 1 + >>> 2 files changed, 20 insertions(+) >>> >>> diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c >>> index a977e32a88f2..3179a8aa76f5 100644 >>> --- a/drivers/virtio/virtio.c >>> +++ b/drivers/virtio/virtio.c >>> @@ -167,6 +167,21 @@ void virtio_add_status(struct virtio_device *dev, unsigned int status) >>> } >>> EXPORT_SYMBOL_GPL(virtio_add_status); >>> >>> +/* >>> + * arch_needs_virtio_iommu_platform - provide arch specific hook when finalizing >> >> s/arch_needs_virtio_iommu_platform/arch_validate_virtio_features/ > > With the things from Conny fixed, > > Acked-by: Christian Borntraeger <borntraeger at de.ibm.com> >Thanks, Pierre -- Pierre Morel IBM Lab Boeblingen
Reasonably Related Threads
- [PATCH v4 1/2] virtio: let arch validate VIRTIO features
- [PATCH v4 1/2] virtio: let arch validate VIRTIO features
- [PATCH v4 1/2] virtio: let arch validate VIRTIO features
- [PATCH v5 1/2] virtio: let arch validate VIRTIO features
- [PATCH v3 1/1] s390: virtio: let arch accept devices without IOMMU feature