From owner-freebsd-drivers@freebsd.org Fri Mar 20 06:04:56 2020 Return-Path: Delivered-To: freebsd-drivers@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id EE9FA25BDEA for ; Fri, 20 Mar 2020 06:04:56 +0000 (UTC) (envelope-from rajfbsd@gmail.com) Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com [IPv6:2a00:1450:4864:20::42f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kCt01vPmz44Cr for ; Fri, 20 Mar 2020 06:04:55 +0000 (UTC) (envelope-from rajfbsd@gmail.com) Received: by mail-wr1-x42f.google.com with SMTP id 31so1847wrs.3 for ; Thu, 19 Mar 2020 23:04:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=m6MqgPKhNrqt/dLN34Bt65HToQLVIW67s8VrI2VLjhc=; b=LbKlwW0gMhGzkE+ed0LEoAQv7XS9OJypB4fjPs/aSHaAwj8m3mQgoCJoPUjn+zvy9t zkope8nXgPZ/2CHGXM6ukSXzdsK0h2yF82ourkzLj35lhqklKCYo0BRKQx+xzwarI0mK 6eqvCu2Vd9EgHEKAprHCNf3trGEGprixAsgd8GwL4lvqWnfsXzgz3eweZp9aQn1PC2Ny WjMVYPYbdWjqtQ2JKcx3tRTfTVED+C7TtK1nYA6MaRRvI/FZt+bL8a7ESnEaZlbeVRJ1 If48hbIaLwnF3qpYTMEWkMvxKSfRwv1XoCgtcKRRSfWDsUsse/bKQx0/6Q3jWkgNdMQZ 0wbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=m6MqgPKhNrqt/dLN34Bt65HToQLVIW67s8VrI2VLjhc=; b=RWQIvMYmbkCHmkZdOzaX04O17Et2Z3jgZvwqzru7PJMuK/GJAS/aGNHb2dqNGLsGQ2 sQDbK4APeXX9PJ1G8nkzad4e1uDd2ilxi+8Zgzpr6RBEoMbo8kDarrZWii3WceMJqrr2 B9tvZBnEzwqXVjNL5X4y+leJOtLD4AHiGMiWVPvre8k1Poq/pjbxKFyl0myPoI48hQ/Q VlIIPmIwsNLDfPBnGRBs6MmOTaMS8NRJZiOxdBOuwx8aABOdHCiJ0vqSqFZ/zdi7Uyf5 KBDPkV2CGowKPsXkRxuronIKKXz4FZEANIAPZSUqSNkmbVwGo/kRXXz3Y2E63z9GqFp3 8TaQ== X-Gm-Message-State: ANhLgQ3F81CN4oQCG/jEYPL1cINhTwVteqYKsX0uVokcE2HBoFckhCVt dGXp/cj9h9XDDzU+SuDvXEcGdksUsUSh9TG+SDbLzg== X-Google-Smtp-Source: ADFU+vsoGvVmSxRdebGHLz0HUNxZmvQeig6UtYwaRUMa9mLuqpYNFjnKHzscR6BP3DCH9QSjH3vdr5UHuYcUHXNAFXs= X-Received: by 2002:adf:f885:: with SMTP id u5mr497664wrp.196.1584684293523; Thu, 19 Mar 2020 23:04:53 -0700 (PDT) MIME-Version: 1.0 From: Rajesh Kumar Date: Fri, 20 Mar 2020 11:34:42 +0530 Message-ID: Subject: How to build a out-of-box network module with RSS To: freebsd-drivers@freebsd.org X-Rspamd-Queue-Id: 48kCt01vPmz44Cr X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=LbKlwW0g; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of rajfbsd@gmail.com designates 2a00:1450:4864:20::42f as permitted sender) smtp.mailfrom=rajfbsd@gmail.com X-Spamd-Result: default: False [-3.00 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36:c]; FREEMAIL_FROM(0.00)[gmail.com]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-drivers@freebsd.org]; TO_DN_NONE(0.00)[]; IP_SCORE_FREEMAIL(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; IP_SCORE(0.00)[ip: (-9.10), ipnet: 2a00:1450::/32(-2.39), asn: 15169(-1.44), country: US(-0.05)]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RCVD_IN_DNSWL_NONE(0.00)[f.2.4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.5.4.1.0.0.a.2.list.dnswl.org : 127.0.5.0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-drivers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Writing device drivers for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 06:04:57 -0000 Hi, I am writing a network driver. I am trying to test with RSS feature. I see the default kernel config doesn't have RSS included. So, I built a custom kernel with the following options set and installed the kernel with a different name options PCBGROUP options RSS After booting to the custom kernel, I am trying to build my network module with opt_rss.h in my makefile. But I don't see "#define RSS 1" in opt_rss.h in my module object directory. But I see it defined the custom kernel OBJ directory. So, should I build my network modules as inbuilt module to have it work with RSS? Or anyway I can build my module out-of-box with RSS? Please let me know if any details needed. Thanks, Rajesh. From owner-freebsd-drivers@freebsd.org Fri Mar 20 12:40:23 2020 Return-Path: Delivered-To: freebsd-drivers@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1FB6F266167 for ; Fri, 20 Mar 2020 12:40:23 +0000 (UTC) (envelope-from kib@freebsd.org) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48kNfG43s3z3HwQ for ; Fri, 20 Mar 2020 12:40:22 +0000 (UTC) (envelope-from kib@freebsd.org) Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id 02KCeEpO091730 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Fri, 20 Mar 2020 14:40:17 +0200 (EET) (envelope-from kib@freebsd.org) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 02KCeEpO091730 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id 02KCeEQg091728; Fri, 20 Mar 2020 14:40:14 +0200 (EET) (envelope-from kib@freebsd.org) X-Authentication-Warning: tom.home: kostik set sender to kib@freebsd.org using -f Date: Fri, 20 Mar 2020 14:40:14 +0200 From: Konstantin Belousov To: Rajesh Kumar Cc: freebsd-drivers@freebsd.org Subject: Re: How to build a out-of-box network module with RSS Message-ID: <20200320124014.GL1992@kib.kiev.ua> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on tom.home X-Rspamd-Queue-Id: 48kNfG43s3z3HwQ X-Spamd-Bar: + Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [1.95 / 15.00]; local_wl_from(0.00)[freebsd.org]; NEURAL_SPAM_LONG(1.00)[0.995,0]; NEURAL_SPAM_MEDIUM(0.96)[0.958,0]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] X-BeenThere: freebsd-drivers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Writing device drivers for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 12:40:23 -0000 On Fri, Mar 20, 2020 at 11:34:42AM +0530, Rajesh Kumar wrote: > Hi, > > I am writing a network driver. I am trying to test with RSS feature. I see > the default kernel config doesn't have RSS included. So, I built a custom > kernel with the following options set and installed the kernel with a > different name > > options PCBGROUP > options RSS > > After booting to the custom kernel, I am trying to build my network module > with opt_rss.h in my makefile. But I don't see "#define RSS 1" in > opt_rss.h in my module object directory. But I see it defined the custom > kernel OBJ directory. > > So, should I build my network modules as inbuilt module to have it work > with RSS? Or anyway I can build my module out-of-box with RSS? Set KERNBUILDDIR env (or make) variable to the full path of the build directory for your custom kernel. > > Please let me know if any details needed. > > Thanks, > Rajesh. > _______________________________________________ > freebsd-drivers@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-drivers > To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@freebsd.org" From owner-freebsd-drivers@freebsd.org Fri Mar 20 14:40:15 2020 Return-Path: Delivered-To: freebsd-drivers@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9B97726902E; Fri, 20 Mar 2020 14:40:15 +0000 (UTC) (envelope-from babupalit@gmail.com) Received: from mail-ot1-x342.google.com (mail-ot1-x342.google.com [IPv6:2607:f8b0:4864:20::342]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kRJb1kj7z3N9n; Fri, 20 Mar 2020 14:40:15 +0000 (UTC) (envelope-from babupalit@gmail.com) Received: by mail-ot1-x342.google.com with SMTP id e19so6163420otj.7; Fri, 20 Mar 2020 07:40:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=C0BBlLo5NKEYES2/88dE/bqmWYYFQUw8vhfYt7tEClM=; b=in9qgLku5KbTsoXqi+qNSJsDE/Gyy5l62O9YvXaEWb8e+3rQatJKRhOLfX9OG9orMt GRYS80g2puGt9k0okHa6tMOa/NEVbGa14H5gv/Bp3I2He17NXNCtwc4iQpTwfl+X0IJ2 3cUPZzJSNBHe3WyRXUmm7be2hEacwJmK4EYsIOA9mL4EP60abrUeZRs7fhCfd6lPstQw Fna2jVHlgILi60mpmmBFJJ8njIAAK6X04qtmjFnf4NF1w7a14qwTXUAF5x4WuiZDZmOe iQcHEFYL57eSi8QOMrv2+WlKb1RH8pTTRKhwlojHESuW+uIlHw0TTxwyXIi+ajP4GL99 h5aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=C0BBlLo5NKEYES2/88dE/bqmWYYFQUw8vhfYt7tEClM=; b=e/mlHNqZUhZ9JrUQ9itaUY5Kov6bWVdVzXgzdN/e1YXnsVHf65izp9S1BluAhQbQN3 rijoi0PYKu2CxaYOIaKE58McZ9SwNJTshuyne21+lX13ueoA46nfff0/yeo/7natDQGg 9dDj83kbwcFqfOi5OOiVmCG44ykJfQZmTr5/uXIZGYFLPfVj+ya9SBNxLpLakGuvMoiE tFb3/4sKCZRDzMpVhzSlphoW/6vPNnwsNjgY0k/Xc58QsK709zJKx2tcasWJvC7sI6k7 dJDcbrdJX7g60vKYHphXLuEjMxGVUn5Ieb0JsP3tkxB9jR9m8HuOdEl0GqiXXba4lHv0 U7+A== X-Gm-Message-State: ANhLgQ1qZMixBDwV2wPrPzXV0H9FOrwq7WALBTUOI6SbtJZA4nqi3kmw K/jiQqBFECFDSjOOgWV1kHO8NgL9CpHZGMiWViuqv+jj X-Google-Smtp-Source: ADFU+vsAu73irrNS4ryUj/BKHgy9A59G73DlBtLk2mHzswggQPJypHKYuPdiEnnHYgsBfK+g7Bx2Xog/IZlT9r8+0tw= X-Received: by 2002:a05:6830:1251:: with SMTP id s17mr7331035otp.75.1584715214277; Fri, 20 Mar 2020 07:40:14 -0700 (PDT) MIME-Version: 1.0 From: Arpan Palit Date: Fri, 20 Mar 2020 20:10:02 +0530 Message-ID: Subject: How to access a user space file from kernel space in FreeBSD. To: freebsd-hackers@freebsd.org, freebsd-questions@freebsd.org, freebsd-drivers@freebsd.org X-Rspamd-Queue-Id: 48kRJb1kj7z3N9n X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=in9qgLku; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of babupalit@gmail.com designates 2607:f8b0:4864:20::342 as permitted sender) smtp.mailfrom=babupalit@gmail.com X-Spamd-Result: default: False [-3.00 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36:c]; FREEMAIL_FROM(0.00)[gmail.com]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; TO_DN_NONE(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; IP_SCORE_FREEMAIL(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; IP_SCORE(0.00)[ip: (1.92), ipnet: 2607:f8b0::/32(-1.20), asn: 15169(-1.24), country: US(-0.05)]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RCVD_IN_DNSWL_NONE(0.00)[2.4.3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-drivers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Writing device drivers for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 14:40:15 -0000 Hi all, I am working on (kernel)driver ioctl implementation for file read/write, where I need to know what are API's which can expose to read,write and close user space file from kernel space. In general I need to know the answer for the below questions. i). How to open a user space file from driver(kernel space) ? ii). How to create a new user space file from driver(kernel space) ? iii). How to get file parameters like size of the file ? iv). How to read/write the files from the driver(kernel space) ? Thanks & Regards, Arpan Palit From owner-freebsd-drivers@freebsd.org Fri Mar 20 18:52:28 2020 Return-Path: Delivered-To: freebsd-drivers@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0B82C26FEC7; Fri, 20 Mar 2020 18:52:28 +0000 (UTC) (envelope-from freebsd@edvax.de) Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.130]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mout.kundenserver.de", Issuer "TeleSec ServerPass Class 2 CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kXvZ2Ljjz3MMQ; Fri, 20 Mar 2020 18:52:25 +0000 (UTC) (envelope-from freebsd@edvax.de) Received: from r56.edvax.de ([178.12.42.103]) by mrelayeu.kundenserver.de (mreue010 [212.227.15.167]) with ESMTPA (Nemesis) id 1N1fzM-1jQc6Y2tPE-0120d8; Fri, 20 Mar 2020 19:52:22 +0100 Date: Fri, 20 Mar 2020 19:52:22 +0100 From: Polytropon To: Arpan Palit Cc: freebsd-hackers@freebsd.org, freebsd-questions@freebsd.org, freebsd-drivers@freebsd.org Subject: Re: How to access a user space file from kernel space in FreeBSD. Message-Id: <20200320195222.4a5c5f3a.freebsd@edvax.de> In-Reply-To: References: Reply-To: Polytropon Organization: EDVAX X-Mailer: Sylpheed 3.1.1 (GTK+ 2.24.5; i386-portbld-freebsd8.2) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:cy1ZhCvKAiMMKh6fPOdCXazKCVI++3nSkv8qUir7PmLspSZKfLc UYT+h5PoCg3IK6Y45EMfYD9fWdeRzABVg2fkHebFyuXTn0W2NbntI88qoLg9wmTi7w96ra4 KwB+9jWxC/6SzpAFudTuFtbn2rtF2BYI3dblGBgGz2vkJPk4JDWnh1AMPZvFxLniN636390 wyFvzx/GYz+U6w8He9Z5g== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:MBxZCuWlnAY=:oplfrtW1Z3Kzrj+M2RnbL3 gc5Q/0cEts2F3DJQ1RYP8CjJQaOcpmjug1s1tkXOCWeKw/B/GC4NF8CErrXEYyeBGFTMhJez0 K23qkVGp91TxLedGEXbcyZvd691rUO8P4opPD/ltKF1Ko1jqZP51ESRqRp4+ekzBr1ry9Bnwb TYZ2HTvMIgmpQILgSnqAvvNIwcnosEdmMRfMu0nVYZhpULDdJdlB27ASGzUznVJxQitpgVm41 8yCwAs4a7hbjyPg6lTFxe8/aWL5Vw+lf2IrU39yfv0j0ztXBb/lHUenyggm7jAf4yF3ubQyjg gHFvDYqF9w9uVFhZHpJ3EClel+vnDMr+U3JBrkISEQOaOFd3kZEKd6zkauD73z+czFeMDj2aJ 7yFDpkkKAtbzqeFiAdZUCJmijQa8nlgiKKd9MDQ1h2EjRGFnlMF1rRIxsm7nmydXDwdOrd88x SnWcuk2Fahv5Q3yhTe/E63z4ACm3NhBLkIlwO66/twKKPkKI5V1RoE+WbA4dpO3DmymhDWPX0 oVOiPBrmPneZ2vgU3mlXW0DfKfFL0lKnwZBZDkOvUtl14gEdrrBRRzXz20pPg32t3zfJJw5dh m9ym3xfXnSjNYDXbXZWG/jXnDw7Lw2CdzNVA2sdxzWQ9cQoOIz91+HiYys5EG0ceXS/8Vefkh PYYdanhexeMOVQSKHPfZORKUU9xMnCX9wHIxjSbwGDkUCLxGKPo7XwLgO2BrgHvHvkxR8UzO7 ijcBiCB3oX2gXN0jWgUOQWz3sFn6gwDoBqH9EoAaHf+2xA+dIUNtcvoI07yOHMvA58BXoePlG rXT/9C4IRm78JiiOxhQmS8zNUfnzc6KTyY2aozn+njuiviRrShHVSLpqh0Ljrwnx6FadA10 X-Rspamd-Queue-Id: 48kXvZ2Ljjz3MMQ X-Spamd-Bar: ++++ Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=none (mx1.freebsd.org: domain of freebsd@edvax.de has no SPF policy when checking 212.227.126.130) smtp.mailfrom=freebsd@edvax.de X-Spamd-Result: default: False [4.99 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; HAS_REPLYTO(0.00)[freebsd@edvax.de]; TO_DN_SOME(0.00)[]; MV_CASE(0.50)[]; HAS_ORG_HEADER(0.00)[]; FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; R_DKIM_NA(0.00)[]; ASN(0.00)[asn:8560, ipnet:212.227.0.0/16, country:DE]; MIME_TRACE(0.00)[0:+]; RECEIVED_SPAMHAUS_PBL(0.00)[103.42.12.178.khpj7ygk5idzvmvt5x4ziurxhy.zen.dq.spamhaus.net : 127.0.0.11]; ARC_NA(0.00)[]; REPLYTO_EQ_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[edvax.de]; AUTH_NA(1.00)[]; NEURAL_SPAM_MEDIUM(0.99)[0.986,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_SPAM_LONG(1.00)[1.000,0]; MID_CONTAINS_FROM(1.00)[]; RCVD_IN_DNSWL_NONE(0.00)[130.126.227.212.list.dnswl.org : 127.0.5.0]; R_SPF_NA(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; IP_SCORE(0.61)[ip: (1.99), ipnet: 212.227.0.0/16(-1.11), asn: 8560(2.18), country: DE(-0.02)] X-BeenThere: freebsd-drivers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Writing device drivers for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 18:52:28 -0000 On Fri, 20 Mar 2020 20:10:02 +0530, Arpan Palit wrote: > I am working on (kernel)driver ioctl implementation for file read/write, > where I need to know what are API's which can expose to read,write and > close user space file from kernel space. In general I need to know the > answer for the below questions. > > i). How to open a user space file from driver(kernel space) ? With the open() system call. See "man 2 open" for details. > ii). How to create a new user space file from driver(kernel space) ? With the creat() system call. See "man 2 creat" for details. > iii). How to get file parameters like size of the file ? With the stat() system call. See "man 2 stat" for details. > iv). How to read/write the files from the driver(kernel space) ? With the read() and write() system call. See "man 2 read" and "man 2 write" for details. If you have access to the standard C library (libc) from the driver, you can also use fopen(), fstat(), fread(), fwrite(), fgets(), fputs(), fscanf(), fprintf() et al. for file access. See the corresponding manual pages in section 3. -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ... From owner-freebsd-drivers@freebsd.org Fri Mar 20 19:39:47 2020 Return-Path: Delivered-To: freebsd-drivers@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 389DD270EA8; Fri, 20 Mar 2020 19:39:47 +0000 (UTC) (envelope-from jmg@gold.funkthat.com) Received: from gold.funkthat.com (gate2.funkthat.com [208.87.223.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "gate2.funkthat.com", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48kYy90DHPz3H1K; Fri, 20 Mar 2020 19:39:44 +0000 (UTC) (envelope-from jmg@gold.funkthat.com) Received: from gold.funkthat.com (localhost [127.0.0.1]) by gold.funkthat.com (8.15.2/8.15.2) with ESMTPS id 02KJdglQ065246 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 20 Mar 2020 12:39:42 -0700 (PDT) (envelope-from jmg@gold.funkthat.com) Received: (from jmg@localhost) by gold.funkthat.com (8.15.2/8.15.2/Submit) id 02KJdgtV065245; Fri, 20 Mar 2020 12:39:42 -0700 (PDT) (envelope-from jmg) Date: Fri, 20 Mar 2020 12:39:42 -0700 From: John-Mark Gurney To: Arpan Palit Cc: freebsd-hackers@freebsd.org, freebsd-questions@freebsd.org, freebsd-drivers@freebsd.org Subject: Re: How to access a user space file from kernel space in FreeBSD. Message-ID: <20200320193942.GL4213@funkthat.com> Mail-Followup-To: Arpan Palit , freebsd-hackers@freebsd.org, freebsd-questions@freebsd.org, freebsd-drivers@freebsd.org References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Operating-System: FreeBSD 11.3-STABLE amd64 X-PGP-Fingerprint: D87A 235F FB71 1F3F 55B7 ED9B D5FF 5A51 C0AC 3D65 X-Files: The truth is out there X-URL: https://www.funkthat.com/ X-Resume: https://www.funkthat.com/~jmg/resume.html X-TipJar: bitcoin:13Qmb6AeTgQecazTWph4XasEsP7nGRbAPE X-to-the-FBI-CIA-and-NSA: HI! HOW YA DOIN? can i haz chizburger? User-Agent: Mutt/1.6.1 (2016-04-27) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.4.3 (gold.funkthat.com [127.0.0.1]); Fri, 20 Mar 2020 12:39:42 -0700 (PDT) X-Rspamd-Queue-Id: 48kYy90DHPz3H1K X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=none (mx1.freebsd.org: domain of jmg@gold.funkthat.com has no SPF policy when checking 208.87.223.18) smtp.mailfrom=jmg@gold.funkthat.com X-Spamd-Result: default: False [0.49 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.59)[-0.594,0]; RCVD_TLS_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_DN_SOME(0.00)[]; IP_SCORE(-0.42)[ip: (-1.09), ipnet: 208.87.216.0/21(-0.54), asn: 32354(-0.44), country: US(-0.05)]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[funkthat.com]; AUTH_NA(1.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_SPAM_LONG(0.30)[0.305,0]; R_SPF_NA(0.00)[]; FORGED_SENDER(0.30)[jmg@funkthat.com,jmg@gold.funkthat.com]; FREEMAIL_TO(0.00)[gmail.com]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:32354, ipnet:208.87.216.0/21, country:US]; FROM_NEQ_ENVFROM(0.00)[jmg@funkthat.com,jmg@gold.funkthat.com]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-drivers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Writing device drivers for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 19:39:47 -0000 Arpan Palit wrote this message on Fri, Mar 20, 2020 at 20:10 +0530: > Hi all, > > I am working on (kernel)driver ioctl implementation for file read/write, > where I need to know what are API's which can expose to read,write and > close user space file from kernel space. In general I need to know the > answer for the below questions. > > i). How to open a user space file from driver(kernel space) ? > ii). How to create a new user space file from driver(kernel space) ? > iii). How to get file parameters like size of the file ? > iv). How to read/write the files from the driver(kernel space) ? The core dumping routines do something similar, so you can look at that code: https://svnweb.freebsd.org/base/head/sys/kern/kern_sig.c?annotate=358856 Are you trying to open/write a file on behalf of a process? or just need to access the file system from your driver? If you're just needing this to load firmware for a device, you should look at the firmware(9) infrastructure that already exists: https://www.freebsd.org/cgi/man.cgi?query=firmware&manpath=FreeBSD+12.1-RELEASE+and+Ports -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."