From owner-freebsd-current@freebsd.org Tue Mar 12 21:52:44 2019 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DED89153FCC2 for ; Tue, 12 Mar 2019 21:52:43 +0000 (UTC) (envelope-from aki.tuomi@open-xchange.com) Received: from mx4.open-xchange.com (alcatraz.open-xchange.com [87.191.39.187]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BD3A287F78; Tue, 12 Mar 2019 21:52:42 +0000 (UTC) (envelope-from aki.tuomi@open-xchange.com) Received: from open-xchange.com (imap.open-xchange.com [10.20.30.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.open-xchange.com (Postfix) with ESMTPS id 8457F6A26A; Tue, 12 Mar 2019 22:52:35 +0100 (CET) Received: from appsuite-dev-gw2.open-xchange.com (appsuite-dev-gw2.open-xchange.com [10.20.30.222]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by open-xchange.com (Postfix) with ESMTPSA id 783A33C0078; Tue, 12 Mar 2019 22:52:35 +0100 (CET) Date: Tue, 12 Mar 2019 23:52:35 +0200 (EET) From: Aki Tuomi To: Alan Somers , Larry Rosenman Cc: Freebsd current Message-ID: <306073586.2112.1552427555424@appsuite-dev-gw2.open-xchange.com> In-Reply-To: Subject: Re: kqueue send over unix socket? MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Priority: 3 Importance: Medium X-Mailer: Open-Xchange Mailer v7.10.2-Rev0 X-Originating-Client: open-xchange-appsuite Autocrypt: addr=aki.tuomi@open-xchange.com; prefer-encrypt=mutual; keydata= mQENBFb7bukBCACpK7GFwH/gyL0oF8t91WM7S+UjuQ1vOQZg2eoCUHi4ILpm1Kae4UeZLB2XVbeph+k 29BIQbo+Hjv6rq6JzPfKIZCRLLrkMD1MtA0YB7ZYiACywLrATAdAMJ6sRq+DL5RlrA2CvviTifz6DwE nbqI+ckcKggsY2gywHs5muDw+n5TwLiL0V9IU478vg7OUWzMZ42toTmeTW2MtsIAE5xbnjZ58LUSZR2 CNO8SAtDHYI558ACkS0wHBAoRFNv27IPr3cebiPsIglSEIBr0R1F1Twbgm6mWVBhK+smDgGxmmuAhH6 boSaKWoWAq+tNf+6oXnr3/D0IPtR8c/bZobtvWG3ABEBAAG0J1R1b21pLCBBa2kgPGFraS50dW9taUB vcGVuLXhjaGFuZ2UuY29tPokBPgQTAQIAKAIbAwUJEswDAAUCW2P/aAYLCQgHAwIGFQgCCQoLBBYCAw ECHgECF4AACgkQGTtjY7NEQgYmMwf9G5U0+vKJB+f3Vl8rjPqlXmUZu4waf6pig5lLCrgu56ZkqEDmj axmxXAah7JZ6dD/66kzlQzKQPYpLor0KnTZgm8XZr+MtqLK8DMF/4+iljADvkS4nfJuX3LbdafPyuk4 x+GIa+6NJ+y34jZ284Oesj+FtPOevthR9rDmnc2KQjBD30ceKsadxIKqWPYPqPESQ0PyMu9tOaWNdGn tx8LvO3LlspZ2DzEh5rregFKtO01jR9ai5r3mbUrQqwzWLxJztBYjds8D5VAiCBeivUxetDqhoPr3Cy KHStc5GfgHvazjG34H+CShReqIylfR4mwc654qkmVQfPMMUTaa677n8bkBDQRW+27pAQgAosZdRB8tu i65tjna4iYKPHqcNDZUXOUuPLTucYc2tY2v67POGr44gOZNzuQWKyXRSBs+Q2zJHcbccPe0ZEptkOCO wdhhvBwZLKa6nI9jnJ0K+szT2NbD0YkvaIDALA9pVGMJqa88wvkkocf/I5fkdTk6xuLp8AamRXvcPZu UPo/s2PXQV4u+gtKdX1FmaHiBg1oQhtoDWZO04H74r9fyPPs499ra9iNckSlZP51OUFBbV/RmbtEC03 1r4iXUAgiL0nQ1mNpRIW+PU/5beX/4YwYeCpzy7g0XfMaJoMWDamRdXgzkXK6IJIxwo/89M8qPW+Bkh 88yAennI2SsEvniXQARAQABiQExBBgBAgAbBQJW+27pAhsMBAsJCAcGFQoJCAsCBQkSzAMAAAoJEBk7 Y2OzREIGCm8IAIZkj5FClx8EmPy1caC+CNv1mVrC2YhKY9Zh255JUtt+Xp6tshN6IOr+saNkcwgUghx mx6+asZXPDHTqhXoswPi28k1uCY7n4gvh3jlS7a0HeI0sy2RCsrkIaQD2uSt+ju9fpEM2aOXQHGT/x6 gZhJ7Uwu+JfDnCB7CBFjVnRaV2/87Y0ZImfhIMPYRzwOyWW6KR+JPIutyZAWo9c7mmjKbySLXhqgZar iMJU+RQF5/daQsiRJKP1IkC/Ncy/iZSnGvPIRZjvQxtrz+4xexZX6NjG7IbKAwmbo1t27cF3hE4Heja kF5bLOhznVWubhjXp1J6pL9fymHmG2tZPsgwXcA= X-Rspamd-Queue-Id: BD3A287F78 X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.60 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; RBL_COMPOSITE_RCVD_IN_DNSWL_MED_DWL_DNSWL_LOW(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:87.191.39.187]; RCVD_DKIM_ARC_DNSWL_MED(-0.50)[]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[mx1.open-xchange.com,mx2.open-xchange.com]; DKIM_TRACE(0.00)[open-xchange.com:+]; HAS_X_PRIO_THREE(0.00)[3]; RCVD_IN_DNSWL_MED(-0.20)[187.39.191.87.list.dnswl.org : 127.0.5.2]; DMARC_POLICY_ALLOW(-0.50)[open-xchange.com,reject]; NEURAL_HAM_SHORT(-0.53)[-0.530,0]; FROM_EQ_ENVFROM(0.00)[]; IP_SCORE(-0.36)[ipnet: 87.128.0.0/10(-1.97), asn: 3320(0.17), country: DE(-0.01)]; SUBJECT_ENDS_QUESTION(1.00)[]; ASN(0.00)[asn:3320, ipnet:87.128.0.0/10, country:DE]; MIME_TRACE(0.00)[0:+]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.998,0]; R_DKIM_ALLOW(-0.20)[open-xchange.com:s=201705]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; DWL_DNSWL_LOW(0.00)[open-xchange.com.dwl.dnswl.org : 127.0.5.1]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_TLS_ALL(0.00)[] X-Mailman-Approved-At: Tue, 12 Mar 2019 22:56:11 +0000 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2019 21:52:44 -0000 Hi! I am trying exactly that. dtrace output gives following # dtrace -s sendmsg.d -p 61387 dtrace: script 'sendmsg.d' matched 30667 probes CPU ID FUNCTION:NAME 0 16637 uipc_send:return kernel`sosend_generic+0x556 kernel`kern_sendit+0x296 kernel`sendit+0x19e kernel`sys_sendmsg+0x61 kernel`amd64_syscall+0xa38 kernel`0xffffffff80f5891d 0 35794 sosend_generic:return kernel`kern_sendit+0x296 kernel`sendit+0x19e kernel`sys_sendmsg+0x61 kernel`amd64_syscall+0xa38 kernel`0xffffffff80f5891d 0 32432 kern_sendit:return kernel`sendit+0x19e kernel`sys_sendmsg+0x61 kernel`amd64_syscall+0xa38 kernel`0xffffffff80f5891d 0 55533 free:return kernel`sendit+0x1b0 kernel`sys_sendmsg+0x61 kernel`amd64_syscall+0xa38 kernel`0xffffffff80f5891d 0 16604 sendit:return kernel`sys_sendmsg+0x61 kernel`amd64_syscall+0xa38 kernel`0xffffffff80f5891d 0 30776 sys_sendmsg:return kernel`amd64_syscall+0xa38 kernel`0xffffffff80f5891d > On 12 March 2019 23:37 Alan Somers wrote: > > > Is he trying to send the kqueue file descriptor itself using sendmsg > with SCM_RIGHTS? It sounds like kqueues cannot be sent over unix > sockets; not every file type necessarily can. But if you want to know > the nitty-gritty details, just run this: > dtrace -i 'fbt:::return /arg1 == 45/ {stack();}' -c "my_program > my_options" and that will usually tell you the exact function that set > the error. > > If the output is too large, then you can filter it by writing a D > program like this: > > #sendmsg.d > fbt:kernel:sys_sendmsg:entry > { > this->trigger = 1; > } > fbt:::return > / this->trigger == 1 && arg1 == 45 / > { > stack(); > } > fbt:kernel:sys_sendmsg:return > { > this->trigger = 0; > } > > dtrace -s sendmsg.d -c "my_program my_options" > > Hope that helps. > -Alan > > On Tue, Mar 12, 2019 at 3:22 PM Larry Rosenman wrote: > > > > I'm working with Aki Tuomi of Dovecot and he asks: > > > > I tried to ask if you could ask from some Kernel hacker why I cannot > > send kqueue() fd over unix socket, I get "Operation not supported". > > > > Can anyone help me? > > > > > > > > -- > > Larry Rosenman http://www.lerctr.org/~ler > > Phone: +1 214-642-9640 E-Mail: ler@lerctr.org > > US Mail: 5708 Sabbia Dr, Round Rock, TX 78665-2106 > > _______________________________________________ > > freebsd-current@freebsd.org mailing list > > https://lists.freebsd.org/mailman/listinfo/freebsd-current > > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"