Commit graph

10034 commits

Author SHA1 Message Date
Jacob Moody
7814ec46c3 git: make git/diff -s print relative file paths
This makes the output of git/diff -s plumbable
when the user is not within the root of the git repo.
This is implemented through adding a flag to git/walk
and having git/walk work out how many '..'s are needed.

Also includes a small piece of documentation regarding
the use of $editor in git/commit.
2024-12-22 21:06:53 +00:00
cinap_lenrek
35cab9b816 ip/dhcpd: don't get confused by ipv6 addresses for bootp Info
When looking up tftp/bootp information from ndb,
filter out ipv6 addresses. This can happen
when for example the tftp= attribute points to
a domain or sys-name that resolves to both
ipv4 and ipv6 addresses.

Make validip() do the isv4() check, and provide
separate validipmask() function.
2024-12-22 20:06:18 +00:00
Ori Bernstein
94d9b7a49d cpp: remove stray line from tests 2024-12-22 04:53:12 +00:00
cinap_lenrek
9853ea28c8 /sys/src/9/mkfile: add imx8, lx2k and mt7688 to kernel ARCH list 2024-12-22 03:37:25 +00:00
Ori Bernstein
8b3a70dcd1 git/pull: fix typo 2024-12-22 01:19:50 +00:00
Ori Bernstein
66abd6e50a cpp: implement empty arg handling for function-like macros (thanks rod) 2024-12-22 00:48:14 +00:00
Ori Bernstein
60ea3e6d25 git/pull: only show commit summary after updating branches
this makes human error somewhat harder in noscroll windows.
2024-12-21 22:40:27 +00:00
Ori Bernstein
83fe095033 git/get: support side-band and multi-ack 2024-12-14 17:11:01 +00:00
cinap_lenrek
837c596bdf usbdwc: preserve Prtpwr bit for portstatus, turn off power by default, handle channel timeout
preserve the Prtpwr bit in portstatus instead of
unconditionally setting it.

turn off port powert on init. (let usbd will turn it on).

make chanio() halt the channel and error out
when interrupt status is 0 after timout.

this happens when the port is powered off.
2024-12-16 05:14:45 +00:00
cinap_lenrek
5028b882da usbehci: implement portpower control for rootports 2024-12-16 01:52:12 +00:00
Ori Bernstein
eff4b93652 acme/Mail: correct message line number for partially hidden threads 2024-12-15 21:56:54 +00:00
cinap_lenrek
f86cc3e912 usbxhci: preserve RsvdP bits in registers, print recovery reason, print base address.
Preserve reserved "RsvdP" bits in registers
according to 2019 xhci specification 1.2.

Print the USBSTS register and event-ring stopped flag
on recovery.

Add the controller base address in prints,
so it can be identified what errors belong
to what controller.
2024-12-15 21:27:00 +00:00
cinap_lenrek
d38dbf6415 nusb/usbd: use longer reset delay for rootports
Make reset delays more conservative:

The usb spec says root ports need 50ms reset minimum, use 100ms.
The usb spec says hub ports need 20ms minimum, use 50ms.
2024-12-15 21:19:57 +00:00
Ori Bernstein
2f685dd96b git/branch: stop emitting incorrect 'merge failed' messages 2024-12-14 05:32:05 +00:00
cinap_lenrek
473ebd0f9e ndb/dns: don't refuse queries when delegated subareas
We used to always provide soa and ns hints when
we where not authoritative.

This changed with the last commit, where we
would instead return refused error.

But this breaks when we want to explicitely
delegate to another nameserver, so add parameter
to inmyarea() to get the delegated soa out,
and provide delegated nameservers when we have one.
2024-12-14 01:49:55 +00:00
Ori Bernstein
d1b72a27b7 walk: error on mutually exclusive flags 2024-12-12 20:35:58 +00:00
Ori Bernstein
b8797a1cc6 walk: fix skipped files, simplify seen() 2024-12-12 20:17:51 +00:00
Ori Bernstein
e59b7e28cd git: refactor capability parsing
this should be a nop, but set us up better
for handling and exposing capabilities in
git/serve.
2024-12-10 23:15:22 +00:00
Ori Bernstein
e58df8173f walk: show siblings with the same qid
the code for skipping directory loops in
walk was taken from du, but the desired
behavior for the two programs is differnt;

while du wants to count the total size used,
and double-counting directories would be a
mistake, walk wants to enumerate all finite
paths in a namespace.
2024-12-10 23:14:33 +00:00
Ori Bernstein
ace81cb1ae mkfiles: check for test/mkfile when recursing
Some programs have test directories without a test
mkfile; this causes spurious errors. Discriminate
more carefully.
2024-12-10 23:11:44 +00:00
Ori Bernstein
bf398d28c3 cpiofs: add newc support for cpiofs (thanks rminnich)
Linux initrds, uroot file systems, and
others generate newc cpio images; add
support for them.
2024-12-10 23:07:26 +00:00
Ori Bernstein
15f66c69d8 tar: use IOUNIT to compute Dblock 2024-12-10 23:05:38 +00:00
cinap_lenrek
ddaadd65b4 libdisk: cleanname() paths for setname()/mkpath(), avoid utfrrune() 2024-12-09 13:57:39 +00:00
cinap_lenrek
9d552b68e4 nusb/lib: decode classcode() 0xFF -> vendor, 0xFE -> application (-specific) 2024-12-09 13:00:16 +00:00
Ori Bernstein
8e2a071b8b acme/Mail: fix redrawn line offsets, add support for flag filters
maintaining ->nsub was fragile, and didn't save very many cycles;
instead just compute it every time; it's only going to hurt with
a ton of giant threads.
2024-12-09 05:27:05 +00:00
Ori Bernstein
af83b606f9 upas/Mail: Add support for message filtering 2024-12-09 03:58:40 +00:00
cinap_lenrek
aa1e68e9fe nusbrd: pass $usbdebug to nusb/usbd
This can be usefull for debugging usb enumeration issues from boot,
if one has the chance to pass parameters on the bootloader.

It was initially suggested in a troubleshooting session todo as
a quick modification, but it can be usefull in general.
2024-12-09 01:30:16 +00:00
cinap_lenrek
eb52c928b1 nusb/usbd: improve debugging, dont portfail() when port attaches/detaches too fast, cleanup
- always dprint() all the port state transitions.
- when port is attaching in short succession and we'r reaching the limit,
  don't return -1 as that would cause portfail(), return 1 instead
  which would make us ignore it.
- cleanup portattach(), use Dev *d instead of h->dev.
2024-12-08 01:10:41 +00:00
cinap_lenrek
8cc080311f nusb/lib: decode more base class codes in classname() 2024-12-07 15:55:12 +00:00
cinap_lenrek
eab5162760 nusb/audio: fix wrong emallocz() call in getclockrange() 2024-12-07 15:54:07 +00:00
cinap_lenrek
255704232e nusb/usbd: make it less noisy: fprint() -> dprint() 2024-12-06 19:00:30 +00:00
cinap_lenrek
5cc0a1f76d nusb/usbd: impelement warm-reset for usb3 ports, attempt port reset on failed hubs, enable port-power for rootports 2024-12-06 16:10:31 +00:00
cinap_lenrek
2f12ad38ca devusb: handle root-port reset delays outside of hci driver, rootport power control
We want to avoid long delays with interrupts disabled,
so handle the delay from devusb/usbd.

Do not expect SetFeatrue/PortEnable request, this is
invalid by the usb standard. But some HCI's require
setting enable bit in port status/ctrl register of
rootports, so handle this internally.

xhci, dwc and ohci have a power-power control bit,
so implement standard Set/ClearFeature/PortPower in
roothub, which allows us to control port on some
rootports.
2024-12-06 16:07:44 +00:00
Arne
ff65b74935 nusb/joy: support xbox360 controllers
Added a custom hid descriptor for Xbox360 controllers.
Up to six axes are now supported for analog input.
Added a simple deadband filter for analog axes.
2024-12-03 20:21:37 +00:00
Ori Bernstein
0518041867 cc: dont' try compiling invalid code
When we have errors in the code, passing it on to the backend
just generates cryptic or incorrect errors, and in some case,
crashes as we try to process trees with missing labels, or
which are malformed in other ways.

Instead, bail out of codgen() and don't even try.
2024-12-01 22:37:14 +00:00
Jacob Moody
7d13427ccf flambe: right click to plumb functions
also display percentage of base on hover
2024-12-01 00:39:27 +00:00
Jacob Moody
6bc1ec47a0 factotum(4): minor typo 2024-11-30 23:51:18 +00:00
cinap_lenrek
b0f2f4e47d boot/net.rc: redirect grep error to /dev/null
Usb ethernet driver does not serve ifstats file,
so avoid this error showing up on the console.
2024-11-24 17:11:13 +00:00
cinap_lenrek
a77fd25d90 gefs: remove nokill code
After discussion, it was suggested that it might make more
sense to handle the noswap stuff outside of gefs, like
with any other fileserver.

plan9 file-servers are not privileged. one might even run
them in a test script to mount an image.
2024-11-23 17:37:07 +00:00
cinap_lenrek
4ed03dff93 auth/factotum: mount factotum onto /mnt/factotum instead of /mnt by default
Factotum used to mount itself on /mnt and serving the first-level
directory "factotum" itself. This has the undesired consequence
that it has to respond to all walks crossing the /mnt directory.

Instead, we make factotum interpret the previously ignored
mount-spec (aname). If it is "factotum", it serves the
factotum directory as the root, so it can be directly mounted
onto /mnt/factotum. For backwards compatibility, the old
behaviour is preserved.

The namespace file will now always mount factotum onto /mnt/factotum.
In the case of a old factotum, that ignores the mount-spec,
do a bind moving /mnt/factotum/factotum to /mnt/factotum.
2024-11-23 16:05:11 +00:00
cinap_lenrek
0676a1ba51 libpcm: fix buggy use of clip macro (evaluates its arg twice) 2024-11-22 22:47:28 +00:00
Ori Bernstein
b9955e29d1 upas/Mail: don't move cursor when flags are unchanged
when doing bulk operations one after the other, like
mass-marking messages read, the cursor tends to jump
to update the messages, but they're already in the
right state; don't do that.
2024-11-22 16:34:34 +00:00
cinap_lenrek
dd2ed5326e libmp/convtest: fix format string type warning uint -> %ud and remove unused variables 2024-11-19 01:56:48 +00:00
Ori Bernstein
06d10d96e9 gefs: fix block leak when merging tree nodes 2024-11-18 23:00:21 +00:00
Ori Bernstein
9ad3c2d098 git/save: handle all cases correctly when walking args 2024-11-18 20:34:35 +00:00
Ori Bernstein
9fcb4c0896 git: make tests less verbose 2024-11-18 20:33:17 +00:00
Ori Bernstein
d41236fef5 git/walk: dirs should not count as tracked 2024-11-18 20:24:17 +00:00
Ori Bernstein
06cdd2915b git/merge: normal messages go to stdout 2024-11-18 20:23:54 +00:00
cinap_lenrek
d58ba675e7 kernel: reorganize bootfs.paq generation
We do not want to unconditionally pull in all of
/lib/firmware, when we dont have the driver for it.

So group the files into separate proto-files
and make boot/bootmkfile simply checks that the basename
of a proto file matches the basename in $OBJ to be
considered.

This way, we can also avoid including user-space usb
daemon when the kernel lacks the usb driver.

Same for machines without devsd, devfs or devusb,
theres no disk so no reason to include disk file
servers.

The bootfs.paq file is specific to the configuration,
so give it a unique name. (Just using bootfs.paq
is fine as long as theres only a single configuration,
but i want to avoid future mistakes as people copy-paste
the kernel configuration).
2024-11-16 17:49:28 +00:00
cinap_lenrek
a1b80da11f sdodin: fix set but not used warning 2024-11-16 04:24:14 +00:00
cinap_lenrek
14c36f2b16 kernel: remove unused cruft: delaylink, normalprint 2024-11-16 03:37:45 +00:00
cinap_lenrek
705638e189 pc, pc64: refactor pcibios code so we dont pollute the amd64 kernel
We can move the pcibios code to its own module
and just provide a stub pcibiosinit() function
for pc64 so we do not have to pull in that code
and the data structures.

also lets us clean up mkdevlist hacks.
2024-11-15 23:20:28 +00:00
Jacob Moody
6b8c36d51f devip: correctly return when allocating an ipmedium slot
Previous patch attempted to panic when we ran out of slots,
however the loop needed changes to return early to avoid
the failure case.
2024-11-15 01:06:54 +00:00
cinap_lenrek
3f7a323e31 devip: panic if we exceed the number of media entries (thanks k0ga) 2024-11-13 19:31:12 +00:00
Ori Bernstein
b4e8108d6c git/save: sort argv lexicographically
our code assumed that the inputs were sorted, and
that scanning forward by prefix would group the dirs
by prefix. Sort so that assumption is true.
2024-11-10 01:31:25 +00:00
cinap_lenrek
e4373dd103 ip/pppoe: properly zero-pad ethernet frames, optimize framing, limit mtu
we should properly zero-pad the ethernet frames we send out
instead of sending random garbage.

for ppp -> ethernet, the ethernet header is fixed, so we
can generate it once before the read()/write() loop.

Use a 1514 byte buffer for all ethernet frames as the
maximum, and limit the mtu to 1514-14-8 -> 1492.
2024-11-07 21:24:27 +00:00
Ori Bernstein
aeb857e367 acme/Mail: provide runnable command to view html 2024-11-07 20:51:09 +00:00
Jacob Moody
15ceba4fc9 git: fix off by one in strncmp 2024-11-07 00:40:57 +00:00
Jacob Moody
7276be7b2d /sys/lib/dist/ndb/common: add git and gits 2024-11-07 00:40:35 +00:00
cinap_lenrek
9ae4b3d9fc nusb/usbd: issue SetConfiguration(0) request to USB3 hub on attach 2024-11-03 12:18:46 +00:00
cinap_lenrek
bada582e18 nusb/lib: do not retry port status requests
We want the hub to detect a failed hub as soon as possible,
to not delay device detaches.
2024-11-03 12:13:22 +00:00
cinap_lenrek
ebf3e9067d devusb: destruct usb tree from the leaves, split epclose() into epstop()/epclose()
For xhci, we want to keep the hubs around until all its
attached devices have been released, so have the Udev
take a reference to its parent hubs ep0.

This also means that we can now use just a pointer
to the tthub instead of duplicating the properties
needed for xhci and ythe code becomes trivial.

Do a non-recursive implementation of putep() to
conserve stack space.

For device detaches, we want to immediately cancel
all I/O so that the driver can release the device
as soon as possible.

For this, we add epstop callback in the Hci struct.
2024-11-03 12:11:45 +00:00
Ori Bernstein
acf707cbbc samterm: make right arrow move to the right of dot (thanks llamaa) 2024-10-29 14:15:18 +00:00
qwx
493bac79b6 pstree: reimplement in awk, optionally restrict to a given process 2024-10-30 23:43:47 +00:00
Jacob Moody
5969b872bb ip/tftpd: accept an address to announce to as an argument. 2024-10-30 21:46:39 +00:00
Jacob Moody
1454ec6425 aux/listen: remove namespace from procsetname.
This is typically nil, so a bit of an eyesore in pstree.
Not as important as the other entries for differentiating either.
2024-10-30 21:45:26 +00:00
cinap_lenrek
61f028fdac ip/traceroute: sprint() -> snprint() 2024-10-29 01:03:04 +00:00
cinap_lenrek
ce825aabe0 telnetd: fix getremote() 2024-10-29 00:58:33 +00:00
cinap_lenrek
1e7d5833ab ip/*: sprint() -> snprint() in a bunch of old copy-pasted network announce routines. 2024-10-29 00:42:07 +00:00
cinap_lenrek
c7fd84937c ip/ipconfig: don't use sprint() when we have variable strings. 2024-10-29 00:17:34 +00:00
cinap_lenrek
eb76dc48cd ip/ipconfig: ndbvalfmt() strings when formatting ndb entries. 2024-10-28 22:51:42 +00:00
cinap_lenrek
d248f8e847 ip/ppp: rc-quote ipnet value, to prevent accidents. 2024-10-28 22:50:49 +00:00
cinap_lenrek
6894c4e13a ppp: pass -i flag to ip/ipconfig (-i for ipv4, -I for ipv6) to populate ipnet= entries 2024-10-28 19:08:23 +00:00
cinap_lenrek
5f59652ae1 ip/ipconfig: implement dhcpv6 prefix delegation, dynamic client
Implement prefix delegation by requesting a
prefix and populate ipnet=val entry (val
passed from -i option).

Before, DHCPv6 was just implemented for stateless
one-shot operation, just exiting once we got out
IA address.

Moodies mediacom-enterprise-enterprise-ISP...
... they actually do enterprise-grade dyanmic dhcpv6
so here we are, implementing renewals...
2024-10-28 19:06:47 +00:00
cinap_lenrek
3e4e1b0211 ip(3): ra6 routerlt is in seconds, not ms. 2024-10-27 22:57:39 +00:00
cinap_lenrek
790a516884 ip/ipconfig: handle dhcpv6 IA options, pass gateway from RA
The IA options where not parsed properly, assuming option 5
is the first option.

For managed networks, we might not get any prefix info
options, but dhcpv6 needs a gateway, so use source address
of the RA.
2024-10-27 09:09:15 +00:00
cinap_lenrek
a916137c97 devip: allow (NAT) hole punching for ICMP and UDP
When establishing an translation for ICMP or UDP,
allow the reply to be matched from ANY source ip/port.
2024-10-26 17:05:35 +00:00
cinap_lenrek
7ee606d027 devip: Fix bugus RouteHint* pointer to be passed to ipoput4()
The Routehint is embedded into the Translation struct
at an offset, so setting the Translation *q pointer to
nil results in a non-nil Routehint* pointer passed to
ipoput4() generating a crash.
2024-10-26 17:04:40 +00:00
cinap_lenrek
ac0af7f9bf devfloppy: fix unreachable code warning after cmderror() 2024-10-23 22:54:59 +00:00
cinap_lenrek
41d0149194 devusb: fix TT properties, checking, and bugs
When a low/full speed device is connected to a USB2.0 hub,
the USB2.0 hub needs to be send special split transaction
protocol messages to communicate with the device below.

This also applies if the fullspeed/lowspeed device is not
directly connected to the USB2.0 hub, but has a fullspeed
hub in between like:

rootport -> usb2.0 hub -> usb1.1 hub -> fs/ls device

In this case, the tranaction translator is actually
the first hub, nut the direct parent of the device.

This was all totally wrong in the hci drivers drivers.

Also, with the new interface, usbd passes number of
ports, and TT properties in the "hub" ctl message,
so the port-count, TT Think-Time and Multi-TT properties
can be properly applied by the xhci driver.

Another bug was that the xhci route string was not
correct if a hub has more than 15 ports. A USB2.0
hub can have more than 15 ports and the standard sais
that in this case a value of 15 should be used in
its bit routestring nibble.

Also, check the hub depth. We should not exceed more
than 5 hubs.

For xhci, it turns out the hub parameters where
actually never properly applied, as the spec sais
only the first "create endpoint" command applies
the hub parameters. The "evaluate context" command
does not work.

Some pikeshedding in devusb:

- fix the freaking locking.
- remove redundant parameters (isroot -> depth < 0, ishub -> nports > 0)
- add TT properties to usb device struct

With these changes, the wired "middle port" issues
on mnt-reform xhci are gone.
2024-10-23 21:54:48 +00:00
cinap_lenrek
97a5e60d0e nusb/*: improve usbd to handle transaction translater properties correctly
In an upcoming commit, the interface for how to create hubs
and how to update endpoint parameters is going to change.

Device/endpoint properties should not be modified while
the data file is open (device is being used).

This also applies to control endpoint when changing
packet size.

The motivation here is to clean up the xhci driver
and not do these stupid hacks like parsing control
messages. It is easier to just have the hci drivers
apply everything at open time and being guaranteed
that properties do not change under them.

For this we need to make sure to only do these devctl's
while the data file is not open.

For hubs, the command changes and some parameters.

Primarily the number of ports (required for xhci) which
will let devusb do some error checking and the
USB2.0 -> USB1.1 transaction translator properties.

In usb/lib, the "isroot" property is redundant and is
replaced by depth < 0.

For usb3.0 hub descriptor, the led indicator fields are
different from usb2.0 descriptors.

Rest is pikeshedding.
2024-10-23 21:42:37 +00:00
cinap_lenrek
a610f2eac2 nusb/disk: kill 9p procs before sysfatal(), devctl() before opendevdata()
This is an error probably when converting from libthread
to classid plan9 procs. umsrequest() used to just sysfatal()
once the error counter reached some value. But this leaves
9p procs (created by srvrelease()) around keeping the
device hanging around.

Instead, reply first, then attempt some recovery.
If that fails, kill our notegroup.

Also, for upcoming devusb changes, make sure we do
devctl() while the endpoint is not in use.
2024-10-23 21:30:49 +00:00
cinap_lenrek
235681677d kernel: make cmderror() _Noreturn 2024-10-23 21:26:39 +00:00
cinap_lenrek
9a22996da2 forgot pc/wavelan.h 2024-10-20 12:23:40 +00:00
cinap_lenrek
40724b9988 devether: Fix memory leaks in ifstat reads
Instead of having the driver allocate the temporary
READSTR buffer (and messing up the error handling),
allocate it in devether (netif) and pass the driver
start and end pointers to it.

Also, systematically check that the ifstat()
function checks the zero-length read (meaning
it is supposed to just update statistics counters
for a stats file read).
2024-10-20 12:22:36 +00:00
cinap_lenrek
c1c4d40def devuart: Fix memory leak when reading status file
Drivers where allocating a READSTR size buffer,
then readstr() it. But readstr() can raise an
error on pagefault, resulting in the buffer to
be leaked.

Instead, we change the interface and allocate
the buffer in devuart read handler, passing
the driver start and end pointers into it.

Also, provide a default implementation (when
status == nil), avoiding some duplication.
2024-10-20 12:12:42 +00:00
cinap_lenrek
fcdfb151e2 kernel: Limit parsecmd() to a maximum of READSTR bytes
A user can create a large demand paged segment
and then do write to a ctl file with a very large buffer
driving the kernel into an out-of-memory condition.

For all practcal purposes, limit the input buffer size
to something reasonable. READSTR is 8000 bytes, which
would be enougth for even the largest ctl messages.
2024-10-20 12:07:08 +00:00
Ori Bernstein
5beba2cf33 upasfs(4): make the name match the executable path
this allows us to look up the manpage by the command
that would be used to invoke it, once the indexes get
rebuilt.
2024-10-18 23:24:36 +00:00
Ori Bernstein
c73d5a559f spin: make generated code match installed headers 2024-10-18 15:33:26 +00:00
Sigrid Solveig Haflínudóttir
3f33d868fe audio/zuke: icy: use http 1.1, specify host, follow redirects 2024-10-17 14:29:41 +00:00
rodri
708ff097a6 libgeometry: add ptincylinder and ptincone 2024-10-14 12:04:35 +00:00
rodri
b6b5e569e9 geometry(2): fix little typo 2024-10-14 11:22:53 +00:00
rodri
65ea63e521 libgeometry: add quaternion sandwich product functions
also took the chance to remove the semicolons from
the function signatures in the manpage synopsis, as
is custom in the other manuals.
2024-10-14 11:14:50 +00:00
Ori Bernstein
84170d89b7 patch: show expected line number for hunk when rejecting it 2024-10-12 14:50:42 +00:00
cinap_lenrek
5285caa05d devusb: prevent double-detach and other invalid state changes
We have to ensure that we do the putep() loop
only once for detach, so serialize the state
transition using ep0 qlock().

Furthermore, once the state is Ddetach, we
must ensure never to set it to something else
(such as Dreset or Denabled).
2024-10-09 21:43:07 +00:00
cinap_lenrek
4df9d68adb devusb: better usbid allocation, fix locking, remove dump ctl
usbid's where globally allocated with a generation counter,
but it would not free usbid's when freed out of order
resulting in overflow.

instead, we use a different scheme, where we allocate the
next higher id until we run out and then allocate the next
lowest id.

properly maintain epmax as well when putep() when out of
order.

make newdev() and newdevep() return the new Ep* with a
reference taken, preventing someone from freeing the ep
under us.

fix the locking, so once we release the epslock, all endpoints
have the ep->dev set properly and remove impossible checks.

remove the annoying "dump" ctl that spams the console.
2024-10-09 20:14:34 +00:00
cinap_lenrek
561926fcbc ether8169: add pci id for RTL8111/8168/8411 (thanks Sylvie) 2024-10-09 19:18:29 +00:00
cinap_lenrek
addf2d55bf test/zones.rc: Fix instability, read current time once.
The test just called date twice assuming they all
execute in the same second. This causes false positives
with the following errors (usually just 1 second
difference):

term% while(){./zones.rc}
/adm/timezone/US_Arizona Sun, 06 Oct 2024 09:09:12 -0700 1728230953 1728230952 are not equal
/adm/timezone/Uruguay Sun, 06 Oct 2024 14:09:17 -0200 1728230958 1728230957 are not equal
/adm/timezone/Japan Mon, 07 Oct 2024 01:09:19 +0900 1728230960 1728230959 are not equal
/adm/timezone/Iran Sun, 06 Oct 2024 19:39:25 +0330 1728230966 1728230965 are not equal
/adm/timezone/Australia_West Mon, 07 Oct 2024 00:09:27 +0800 1728230968 1728230967 are not equal
/adm/timezone/US_Eastern Sun, 06 Oct 2024 12:09:29 -0400 1728230970 1728230969 are not equal
/adm/timezone/GMT Sun, 06 Oct 2024 16:09:31 +0000 1728230972 1728230971 are not equal
/adm/timezone/local Sun, 06 Oct 2024 18:09:34 +0200 1728230975 1728230974 are not equal
/adm/timezone/Mexico_BajaSur Sun, 06 Oct 2024 09:09:36 -0700 1728230977 1728230976 are not equal

The fix is to get the current time once, with date -n
and then pass that to date to format the time and
then concert back and compare.
2024-10-06 16:14:29 +00:00
cinap_lenrek
96bf1d3ebd kernel: remove unused lockstats and make lock() return type void
remove the global statistics counters from taslock.c
as they'r not particularily usefull nor precise
and just cause unneccessary cache traffic.

if we want them back, we should place them into
the Mach structure.

also change the lock() function prototype to return void.
2024-10-06 16:02:13 +00:00
cinap_lenrek
40177b86bf auth/as: dont pollute parents environment or namespace (thanks jrmu, sl) 2024-10-06 02:03:54 +00:00