| Summary: | crash, while tring to send udp via half-binded socket from jail | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Base System | Reporter: | Unicorn <Unicorn> | ||||
| Component: | kern | Assignee: | Poul-Henning Kamp <phk> | ||||
| Status: | Closed FIXED | ||||||
| Severity: | Affects Only Me | ||||||
| Priority: | Normal | ||||||
| Version: | 5.0-CURRENT | ||||||
| Hardware: | Any | ||||||
| OS: | Any | ||||||
| Attachments: |
|
||||||
Responsible Changed From-To: freebsd-bugs->phk Jail is my baby. Can you send me a "diff -u" instead please ? State Changed From-To: open->feedback Can you confirm this problemis solved now ? | Can you confirm this problemis solved now ? Sure, it's seems to be done since thread http://www.freebsd.org/cgi/query-pr.cgi?pr=25751 was closed. Guess, I've missed your first reply on this PR. Sorry. -- sit benedictum State Changed From-To: feedback->closed reported fixed. |
While adding stuff for jail sockets binding limitations roll back before returning error was missed. `bind' returns an error, but socket became `half-binded', i.e. laddr was changed to some nonzero value. When `sendto' called, pcb of that socket proceed, but it's list fields still uninitialized. This leads to crash in sendto->...->in_pcbconnect->in_pcbrehash. Fix: Apply patch: cvs diff: Diffing . How-To-Repeat: Install jail, NIS/YP server on real system served passwd DB, NIS/YP client on jail system using shared passwd DB. Login using YP account and just type 'id', 'finger', or whatever.