freebsd-nq/module/spl
Chunwei Chen ae16ed992b Fix crash when using ZFS on Ceph rbd
When using __get_free_pages to get high order memory, only the first page's
_count will set to 1, other's will be 0. When an internal page get passed into
rbd, it will eventully go into tcp_sendpage. There, it will be called with
get_page and put_page, and get freed erroneously when _count jump back to 0.

The solution to this problem is to use compound page. All pages in a
high order compound page share a single _count. So get_page and put_page in
tcp_sendpage will not cause _count jump to 0.

Signed-off-by: Chunwei Chen <tuxoko@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #251
2014-04-25 15:26:52 -07:00
..
Makefile.in Add script for builtin module building. 2012-07-26 15:13:09 -07:00
spl-atomic.c Refresh links to web site 2013-03-04 19:09:34 -08:00
spl-condvar.c Linux 3.13 compat: Remove unused flags variable from __cv_init() 2013-12-02 10:11:19 -08:00
spl-cred.c splat cred:groupmember: Fix false positives 2014-04-08 12:44:41 -07:00
spl-debug.c Support post-3.13 kthread_create() semantics. 2014-04-08 12:44:42 -07:00
spl-err.c Refresh links to web site 2013-03-04 19:09:34 -08:00
spl-generic.c Simplify hostid logic 2014-04-14 09:04:41 -07:00
spl-kmem.c Fix crash when using ZFS on Ceph rbd 2014-04-25 15:26:52 -07:00
spl-kobj.c Refresh links to web site 2013-03-04 19:09:34 -08:00
spl-kstat.c 3537 add kstat_waitq_enter and friends 2013-10-25 13:41:52 -07:00
spl-mutex.c Refresh links to web site 2013-03-04 19:09:34 -08:00
spl-proc.c Simplify hostid logic 2014-04-14 09:04:41 -07:00
spl-rwlock.c Refresh links to web site 2013-03-04 19:09:34 -08:00
spl-taskq.c Support post-3.13 kthread_create() semantics. 2014-04-08 12:44:42 -07:00
spl-thread.c Call kthread_create() correctly with fixed arguments. 2014-04-11 09:41:40 -07:00
spl-time.c Replace current_kernel_time() with getnstimeofday() 2013-10-09 13:28:30 -07:00
spl-tsd.c Linux 3.9 compat: Switch to hlist_for_each{,_rcu} 2013-03-14 10:43:34 -07:00
spl-vnode.c Linux 3.13 compat: Pass NULL for new delegated inode argument 2013-12-02 10:37:49 -08:00
spl-xdr.c Refresh links to web site 2013-03-04 19:09:34 -08:00
spl-zlib.c Refresh links to web site 2013-03-04 19:09:34 -08:00