[PATCH v6 1/7] arm/arm64: vgic-new: Implement support for userspace access

Christoffer Dall christoffer.dall at linaro.org
Fri Sep 23 04:16:11 PDT 2016


On Fri, Sep 23, 2016 at 10:50:38AM +0100, Marc Zyngier wrote:
> On 22/09/16 15:01, Vijay Kilari wrote:
> > On Thu, Sep 22, 2016 at 5:38 PM, Marc Zyngier <marc.zyngier at arm.com> wrote:
> >> On 20/09/16 07:12, vijay.kilari at gmail.com wrote:
> >>> From: Vijaya Kumar K <Vijaya.Kumar at cavium.com>
> >>> +static int vgic_uaccess_read(struct kvm_vcpu *vcpu, struct kvm_io_device *dev,
> >>> +                          gpa_t addr, u32 *val)
> >>> +{
> >>> +     struct vgic_io_device *iodev = kvm_to_vgic_iodev(dev);
> >>> +     const struct vgic_register_region *region;
> >>> +     struct kvm_vcpu *r_vcpu;
> >>> +
> >>> +     region = vgic_get_mmio_region(iodev, addr, sizeof(u32));
> >>> +     if (!region) {
> >>> +             *val = 0;
> >>> +             return 0;
> >>
> >> This is not the previous semantic of vgic_uaccess, and I cannot see why
> >> blindly ignoring an access to an undefined region would be acceptable.
> >> What am I missing?
> > 
> > AFAIK, the vgic_uaccess is not making any check on undefined region/register.
> > However, dispatch_mmio_read/write are returning 0 if check of region is failed
> 
> Hmmm. Fair enough. I don't really like it, but that's something for
> another day.
> 
Agreed, we should raise an error in that case, but it's independent of
this series.

-Christoffer



More information about the linux-arm-kernel mailing list