freebsd-nq/sys/kern
Gleb Smirnoff 7a2c93b86e sockets: provide sousrsend() that does socket specific error handling
Sockets have special handling for EPIPE on a write, that was spread out
into several places.  Treating transient errors is also special - if
protocol is atomic, than we should ignore any changes to uio_resid, a
transient error means the write had completely failed (see d2b3a0ed31).

- Provide sousrsend() that expects a valid uio, and leave sosend() for
  kernel consumers only.  Do all special error handling right here.
- In dofilewrite() don't do special handling of error for DTYPE_SOCKET.
- For send(2), write(2) and aio_write(2) call into sousrsend() and remove
  error handling for kern_sendit(), soo_write() and soaio_process_job().

PR:			265087
Reported by:            rz-rpi03 at h-ka.de
Reviewed by:            markj
Differential revision:	https://reviews.freebsd.org/D35863
2022-12-14 10:02:44 -08:00
..
bus_if.m
clock_if.m
cpufreq_if.m
device_if.m
firmw.S
genassym.sh
genoffset.c
genoffset.sh
imgact_aout.c
imgact_binmisc.c imgact_binmisc: Optionally pre-open the interpreter vnode 2022-12-08 14:32:03 +00:00
imgact_elf32.c
imgact_elf64.c
imgact_elf.c
imgact_shell.c
init_main.c
init_sysent.c
kern_acct.c
kern_alq.c
kern_boottrace.c
kern_clock.c Retire broken GPROF support from the kernel 2022-11-15 14:17:10 +00:00
kern_clocksource.c
kern_condvar.c
kern_conf.c
kern_cons.c
kern_context.c
kern_cpu.c
kern_cpuset.c
kern_ctf.c
kern_descrip.c
kern_devctl.c devd: Warn for deprecated 'kern' system type 2022-12-02 10:48:02 -07:00
kern_dtrace.c
kern_dump.c
kern_environment.c
kern_et.c
kern_event.c
kern_exec.c imgact_binmisc: Optionally pre-open the interpreter vnode 2022-12-08 14:32:03 +00:00
kern_exit.c
kern_fail.c
kern_ffclock.c
kern_fork.c
kern_hhook.c
kern_idle.c
kern_intr.c
kern_jail.c
kern_kcov.c
kern_khelp.c
kern_kthread.c
kern_ktr.c
kern_ktrace.c
kern_linker.c
kern_lock.c
kern_lockf.c
kern_lockstat.c
kern_loginclass.c
kern_malloc.c
kern_mbuf.c
kern_mib.c
kern_module.c
kern_mtxpool.c
kern_mutex.c
kern_ntptime.c
kern_osd.c
kern_physio.c
kern_pmc.c
kern_poll.c
kern_priv.c
kern_proc.c
kern_procctl.c
kern_prot.c
kern_racct.c
kern_rangelock.c
kern_rctl.c
kern_resource.c
kern_rmlock.c
kern_rwlock.c
kern_sdt.c
kern_sema.c
kern_sendfile.c
kern_sharedpage.c
kern_shutdown.c
kern_sig.c
kern_switch.c
kern_sx.c
kern_synch.c
kern_syscalls.c
kern_sysctl.c
kern_tc.c
kern_thr.c
kern_thread.c
kern_time.c
kern_timeout.c
kern_tslog.c
kern_ubsan.c
kern_umtx.c
kern_uuid.c
kern_vnodedumper.c
kern_xxx.c
ksched.c
link_elf_obj.c
link_elf.c Retire broken GPROF support from the kernel 2022-11-15 14:17:10 +00:00
linker_if.m
Make.tags.inc
Makefile
md4c.c
md5c.c md5: Use c89 function definitions 2022-11-27 13:22:31 -07:00
msi_if.m
p1003_1b.c
pic_if.m
posix4_mib.c
sched_4bsd.c
sched_ule.c
serdev_if.m
stack_protector.c
subr_acl_nfs4.c
subr_acl_posix1e.c
subr_asan.c
subr_atomic64.c
subr_autoconf.c
subr_blist.c
subr_boot.c boot: Remove stray free() 2022-12-07 11:30:04 -07:00
subr_bufring.c
subr_bus_dma.c
subr_bus.c Revert "newbus: Change attach failure behavior" 2022-12-05 17:00:26 -07:00
subr_busdma_bounce.c
subr_busdma_bufalloc.c
subr_capability.c
subr_clock.c
subr_clockcalib.c
subr_compressor.c
subr_counter.c
subr_coverage.c
subr_csan.c
subr_devmap.c
subr_devstat.c
subr_disk.c
subr_dummy_vdso_tc.c
subr_early.c
subr_epoch.c
subr_eventhandler.c
subr_fattime.c
subr_filter.c
subr_firmware.c
subr_gtaskqueue.c
subr_hash.c
subr_hints.c
subr_intr.c
subr_kdb.c
subr_kobj.c
subr_lock.c
subr_log.c
subr_mchain.c
subr_module.c
subr_msan.c
subr_msgbuf.c
subr_param.c
subr_pcpu.c
subr_pctrie.c
subr_physmem.c
subr_pidctrl.c
subr_power.c
subr_prf.c
subr_prng.c
subr_prof.c
subr_rangeset.c
subr_rman.c
subr_rtc.c
subr_sbuf.c
subr_scanf.c
subr_sfbuf.c
subr_sglist.c
subr_sleepqueue.c
subr_smp.c
subr_smr.c
subr_stack.c
subr_stats.c
subr_syscall.c
subr_taskqueue.c
subr_terminal.c
subr_trap.c
subr_turnstile.c
subr_uio.c
subr_unit.c
subr_vmem.c
subr_witness.c
sys_capability.c
sys_eventfd.c
sys_generic.c sockets: provide sousrsend() that does socket specific error handling 2022-12-14 10:02:44 -08:00
sys_getrandom.c
sys_pipe.c
sys_procdesc.c
sys_process.c
sys_socket.c sockets: provide sousrsend() that does socket specific error handling 2022-12-14 10:02:44 -08:00
syscalls.c
syscalls.master
systrace_args.c
sysv_ipc.c
sysv_msg.c
sysv_sem.c
sysv_shm.c
tty_compat.c
tty_info.c
tty_inq.c
tty_outq.c
tty_pts.c
tty_tty.c
tty_ttydisc.c
tty.c
uipc_accf.c
uipc_debug.c
uipc_domain.c
uipc_ktls.c ktls: Add software support for AES-CBC decryption for TLS 1.1+. 2022-11-15 12:02:03 -08:00
uipc_mbuf2.c
uipc_mbuf.c
uipc_mbufhash.c
uipc_mqueue.c
uipc_sem.c
uipc_shm.c shmfd: account for the actually allocated pages 2022-12-09 14:17:12 +02:00
uipc_sockbuf.c
uipc_socket.c sockets: provide sousrsend() that does socket specific error handling 2022-12-14 10:02:44 -08:00
uipc_syscalls.c sockets: provide sousrsend() that does socket specific error handling 2022-12-14 10:02:44 -08:00
uipc_usrreq.c
vfs_acl.c
vfs_aio.c
vfs_bio.c vfs: whack mips remnant 2022-11-09 00:31:50 +00:00
vfs_cache.c
vfs_cluster.c
vfs_default.c
vfs_export.c
vfs_extattr.c
vfs_hash.c
vfs_init.c
vfs_lookup.c Generalize the VV_CROSSLOCK logic in vfs_lookup() 2022-12-10 22:02:38 -06:00
vfs_mount.c
vfs_mountroot.c
vfs_subr.c Mark the debug.vnlru_nowhere sysctl as CTLFLAG_STATS 2022-11-17 10:44:58 -06:00
vfs_syscalls.c
vfs_vnops.c vfs_vnops.c: Fix blksize for ZFS 2022-11-16 17:37:22 -08:00
vnode_if.src