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 'ceph-for-4.20-rc4' of https://github.com/ceph/ceph-client

Pullk ceph fix from Ilya Dryomov:
"A messenger fix, marked for stable"

* tag 'ceph-for-4.20-rc4' of https://github.com/ceph/ceph-client:
libceph: fall back to sendmsg for slab pages

+9 -3
+9 -3
net/ceph/messenger.c
··· 580 580 struct bio_vec bvec; 581 581 int ret; 582 582 583 - /* sendpage cannot properly handle pages with page_count == 0, 584 - * we need to fallback to sendmsg if that's the case */ 585 - if (page_count(page) >= 1) 583 + /* 584 + * sendpage cannot properly handle pages with page_count == 0, 585 + * we need to fall back to sendmsg if that's the case. 586 + * 587 + * Same goes for slab pages: skb_can_coalesce() allows 588 + * coalescing neighboring slab objects into a single frag which 589 + * triggers one of hardened usercopy checks. 590 + */ 591 + if (page_count(page) >= 1 && !PageSlab(page)) 586 592 return __ceph_tcp_sendpage(sock, page, offset, size, more); 587 593 588 594 bvec.bv_page = page;