Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt

Pull fsverity updates from Eric Biggers:
"Minor changes to convert uses of kmap() to kmap_local_page()"

* tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt:
fs-verity: use kmap_local_page() instead of kmap()
fs-verity: use memcpy_from_page()

+5 -15
+3 -3
fs/verity/read_metadata.c
··· 53 53 break; 54 54 } 55 55 56 - virt = kmap(page); 56 + virt = kmap_local_page(page); 57 57 if (copy_to_user(buf, virt + offs_in_page, bytes_to_copy)) { 58 - kunmap(page); 58 + kunmap_local(virt); 59 59 put_page(page); 60 60 err = -EFAULT; 61 61 break; 62 62 } 63 - kunmap(page); 63 + kunmap_local(virt); 64 64 put_page(page); 65 65 66 66 retval += bytes_to_copy;
+2 -12
fs/verity/verify.c
··· 39 39 (params->log_blocksize - params->log_arity); 40 40 } 41 41 42 - /* Extract a hash from a hash page */ 43 - static void extract_hash(struct page *hpage, unsigned int hoffset, 44 - unsigned int hsize, u8 *out) 45 - { 46 - void *virt = kmap_atomic(hpage); 47 - 48 - memcpy(out, virt + hoffset, hsize); 49 - kunmap_atomic(virt); 50 - } 51 - 52 42 static inline int cmp_hashes(const struct fsverity_info *vi, 53 43 const u8 *want_hash, const u8 *real_hash, 54 44 pgoff_t index, int level) ··· 119 129 } 120 130 121 131 if (PageChecked(hpage)) { 122 - extract_hash(hpage, hoffset, hsize, _want_hash); 132 + memcpy_from_page(_want_hash, hpage, hoffset, hsize); 123 133 want_hash = _want_hash; 124 134 put_page(hpage); 125 135 pr_debug_ratelimited("Hash page already checked, want %s:%*phN\n", ··· 148 158 if (err) 149 159 goto out; 150 160 SetPageChecked(hpage); 151 - extract_hash(hpage, hoffset, hsize, _want_hash); 161 + memcpy_from_page(_want_hash, hpage, hoffset, hsize); 152 162 want_hash = _want_hash; 153 163 put_page(hpage); 154 164 pr_debug("Verified hash page at level %d, now want %s:%*phN\n",