<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/compat/linux/linux_emul.c, branch releng/12.2</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F12.2</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F12.2'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2020-08-24T12:49:51Z</updated>
<entry>
<title>MFC r362015:</title>
<updated>2020-08-24T12:49:51Z</updated>
<author>
<name>Edward Tomasz Napierala</name>
<email>trasz@FreeBSD.org</email>
</author>
<published>2020-08-24T12:49:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ca8193e7b33bb9b9a58e535da09bfcdd1a02de03'/>
<id>urn:sha1:ca8193e7b33bb9b9a58e535da09bfcdd1a02de03</id>
<content type='text'>
Make linux(4) set the openfiles soft resource limit to 1024 for Linux
applications, which often depend on this being the case.  There's a new
sysctl, compat.linux.default_openfiles, to control this behaviour.

Sponsored by:	The FreeBSD Foundation
</content>
</entry>
<entry>
<title>MFC r362342:</title>
<updated>2020-06-25T05:24:35Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2020-06-25T05:24:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4f349de4c6670f3cce53e83196d85d0f6dd261f7'/>
<id>urn:sha1:4f349de4c6670f3cce53e83196d85d0f6dd261f7</id>
<content type='text'>
Fix execution of linux binary from multithreaded non-Linux process.
</content>
</entry>
<entry>
<title>MFC r346965:</title>
<updated>2019-05-13T10:43:18Z</updated>
<author>
<name>Dmitry Chagin</name>
<email>dchagin@FreeBSD.org</email>
</author>
<published>2019-05-13T10:43:18Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c42520a02667bf58166a67d85e40b9116e8b3fb3'/>
<id>urn:sha1:c42520a02667bf58166a67d85e40b9116e8b3fb3</id>
<content type='text'>
Follow the FreeBSD and implement PDEATH_SIG prctl ops in the Linuxulator.
It was first introduced in r163734 and missied by me in r283383.
</content>
</entry>
<entry>
<title>linuxulator: deduplicate linux_exec_imgact_try</title>
<updated>2018-04-09T17:24:01Z</updated>
<author>
<name>Ed Maste</name>
<email>emaste@FreeBSD.org</email>
</author>
<published>2018-04-09T17:24:01Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b267239d4b3d386418bb8d869dc59846d0dc0a58'/>
<id>urn:sha1:b267239d4b3d386418bb8d869dc59846d0dc0a58</id>
<content type='text'>
Previously linuxulator had three identical copies of
linux_exec_imgact_try.  Deduplicate before adding another arch to
linuxulator.

Sponsored by:	Turing Robotic Industries Inc
Differential Revision:	https://reviews.freebsd.org/D14856
</content>
</entry>
<entry>
<title>Rationalize license text on Linuxolator files</title>
<updated>2018-03-01T13:52:18Z</updated>
<author>
<name>Ed Maste</name>
<email>emaste@FreeBSD.org</email>
</author>
<published>2018-03-01T13:52:18Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=023b850b62481007dd3bf305026e12845a4c189c'/>
<id>urn:sha1:023b850b62481007dd3bf305026e12845a4c189c</id>
<content type='text'>
Many licenses on Linuxolator files contained small variations from the
standard FreeBSD license text.  To avoid license proliferation switch to
the standard 2-clause FreeBSD license for those files where I have
permission from each of the listed copyright holders.  Additional files
still waiting on permission from others are listed in review D14210.

Approved by:    dchagin, rdivacky, sos
MFC after:	1 week
MFC with:	r329370
Sponsored by:	The FreeBSD Foundation
</content>
</entry>
<entry>
<title>Correct proper nouns in the Linuxulator</title>
<updated>2018-02-22T02:24:17Z</updated>
<author>
<name>Ed Maste</name>
<email>emaste@FreeBSD.org</email>
</author>
<published>2018-02-22T02:24:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=eae594f7d567f6e4abe04e96412683534e5c7109'/>
<id>urn:sha1:eae594f7d567f6e4abe04e96412683534e5c7109</id>
<content type='text'>
- Capitalize Linux
- Spell FreeBSD out in full
- Address some style(9) on changed lines

Sponsored by:	Turing Robotic Industries Inc.
</content>
</entry>
<entry>
<title>Linuxolator whitespace cleanup</title>
<updated>2018-02-05T17:29:12Z</updated>
<author>
<name>Ed Maste</name>
<email>emaste@FreeBSD.org</email>
</author>
<published>2018-02-05T17:29:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=132f90c660e08037d238bb9557475b83cc9e2861'/>
<id>urn:sha1:132f90c660e08037d238bb9557475b83cc9e2861</id>
<content type='text'>
A version of each of the MD files by necessity exists for each CPU
architecture supported by the Linuxolator.  Clean these up so that new
architectures do not inherit whitespace issues.

Clean up shared Linuxolator files while here.

Sponsored by:	Turing Robotic Industries Inc.
</content>
</entry>
<entry>
<title>sys/compat: further adoption of SPDX licensing ID tags.</title>
<updated>2017-11-27T15:13:23Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2017-11-27T15:13:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7f2d13d60721803155950276e0282fcd1e6bacc3'/>
<id>urn:sha1:7f2d13d60721803155950276e0282fcd1e6bacc3</id>
<content type='text'>
Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.
</content>
</entry>
<entry>
<title>Don't let cpu_set_syscall_retval() clobber exec_setregs().</title>
<updated>2017-11-24T07:35:08Z</updated>
<author>
<name>Ed Schouten</name>
<email>ed@FreeBSD.org</email>
</author>
<published>2017-11-24T07:35:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=814629dd64a35b829cc8f537b55b9c5d873f7bbf'/>
<id>urn:sha1:814629dd64a35b829cc8f537b55b9c5d873f7bbf</id>
<content type='text'>
Upon successful completion, the execve() system call invokes
exec_setregs() to initialize the registers of the initial thread of the
newly executed process. What is weird is that when execve() returns, it
still goes through the normal system call return path, clobbering the
registers with the system call's return value (td-&gt;td_retval).

Though this doesn't seem to be problematic for x86 most of the times (as
the value of eax/rax doesn't matter upon startup), this can be pretty
frustrating for architectures where function argument and return
registers overlap (e.g., ARM). On these systems, exec_setregs() also
needs to initialize td_retval.

Even worse are architectures where cpu_set_syscall_retval() sets
registers to values not derived from td_retval. On these architectures,
there is no way cpu_set_syscall_retval() can set registers to the way it
wants them to be upon the start of execution.

To get rid of this madness, let sys_execve() return EJUSTRETURN. This
will cause cpu_set_syscall_retval() to leave registers intact. This
makes process execution easier to understand. It also eliminates the
difference between execution of the initial process and successive ones.
The initial call to sys_execve() is not performed through a system call
context.

Reviewed by:	kib, jhibbits
Differential Revision:	https://reviews.freebsd.org/D13180
</content>
</entry>
<entry>
<title>Implement Linux personality() system call mainly due to READ_IMPLIES_EXEC flag.</title>
<updated>2016-07-10T08:15:50Z</updated>
<author>
<name>Dmitry Chagin</name>
<email>dchagin@FreeBSD.org</email>
</author>
<published>2016-07-10T08:15:50Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=23e8912c6087b3b6690566258c3a06f55a51eb2c'/>
<id>urn:sha1:23e8912c6087b3b6690566258c3a06f55a51eb2c</id>
<content type='text'>
In Linux if this flag is set, PROT_READ implies PROT_EXEC for mmap().
Linux/i386 set this flag automatically if the binary requires executable stack.

READ_IMPLIES_EXEC flag will be used in the next Linux mmap() commit.
</content>
</entry>
</feed>
