···230231 return kmap(buf->page);232}0233234/**235 * generic_pipe_buf_unmap - unmap a previously mapped pipe buffer···250 } else251 kunmap(buf->page);252}0253254/**255 * generic_pipe_buf_steal - attempt to take ownership of a &pipe_buffer···281282 return 1;283}0284285/**286 * generic_pipe_buf_get - get a reference to a &struct pipe_buffer···297{298 page_cache_get(buf->page);299}0300301/**302 * generic_pipe_buf_confirm - verify contents of the pipe buffer···313{314 return 0;315}0316317/**318 * generic_pipe_buf_release - put a reference to a &struct pipe_buffer···328{329 page_cache_release(buf->page);330}0331332static const struct pipe_buf_operations anon_pipe_buf_ops = {333 .can_merge = 1,
···230231 return kmap(buf->page);232}233+EXPORT_SYMBOL(generic_pipe_buf_map);234235/**236 * generic_pipe_buf_unmap - unmap a previously mapped pipe buffer···249 } else250 kunmap(buf->page);251}252+EXPORT_SYMBOL(generic_pipe_buf_unmap);253254/**255 * generic_pipe_buf_steal - attempt to take ownership of a &pipe_buffer···279280 return 1;281}282+EXPORT_SYMBOL(generic_pipe_buf_steal);283284/**285 * generic_pipe_buf_get - get a reference to a &struct pipe_buffer···294{295 page_cache_get(buf->page);296}297+EXPORT_SYMBOL(generic_pipe_buf_get);298299/**300 * generic_pipe_buf_confirm - verify contents of the pipe buffer···309{310 return 0;311}312+EXPORT_SYMBOL(generic_pipe_buf_confirm);313314/**315 * generic_pipe_buf_release - put a reference to a &struct pipe_buffer···323{324 page_cache_release(buf->page);325}326+EXPORT_SYMBOL(generic_pipe_buf_release);327328static const struct pipe_buf_operations anon_pipe_buf_ops = {329 .can_merge = 1,