On Tue, Mar 17, 2020 at 04:14:31PM -0700, Ralph Campbell wrote:

> +static int dmirror_fault(struct dmirror *dmirror, unsigned long start,
> +                      unsigned long end, bool write)
> +{
> +     struct mm_struct *mm = dmirror->mm;
> +     unsigned long addr;
> +     uint64_t pfns[64];
> +     struct hmm_range range = {
> +             .notifier = &dmirror->notifier,
> +             .pfns = pfns,
> +             .flags = dmirror_hmm_flags,
> +             .values = dmirror_hmm_values,
> +             .pfn_shift = DPT_SHIFT,
> +             .pfn_flags_mask = ~(dmirror_hmm_flags[HMM_PFN_VALID] |
> +                                 dmirror_hmm_flags[HMM_PFN_WRITE]),

Since pfns is not initialized pfn_flags_mask should be 0.

> +             .default_flags = dmirror_hmm_flags[HMM_PFN_VALID] |
> +                             (write ? dmirror_hmm_flags[HMM_PFN_WRITE] : 0),
> +             .dev_private_owner = dmirror->mdevice,
> +     };
> +     int ret = 0;

> +static int dmirror_snapshot(struct dmirror *dmirror,
> +                         struct hmm_dmirror_cmd *cmd)
> +{
> +     struct mm_struct *mm = dmirror->mm;
> +     unsigned long start, end;
> +     unsigned long size = cmd->npages << PAGE_SHIFT;
> +     unsigned long addr;
> +     unsigned long next;
> +     uint64_t pfns[64];
> +     unsigned char perm[64];
> +     char __user *uptr;
> +     struct hmm_range range = {
> +             .pfns = pfns,
> +             .flags = dmirror_hmm_flags,
> +             .values = dmirror_hmm_values,
> +             .pfn_shift = DPT_SHIFT,
> +             .pfn_flags_mask = ~0ULL,

Same here, especially since this is snapshot

Jason
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to