Professor @ University of Waterloo
https://rcs.uwaterloo.ca/~ali/
User Details
- User Since
- Mar 7 2018, 6:37 PM (359 w, 2 d)
Jul 8 2021
Sep 2 2020
Jun 8 2020
The WASI folks seem fine upstreaming patches. Might be nice to make clean pull requests for these projects after we resolve Brook's comment.
Jun 5 2020
Some counters from the Linux repo appear to be undocumented at the moment and I left those out. Also they seem to think some of these are available on earlier platforms but I don't see that in the documentation nor can I test it.
- Adding missing counters for Zen+ and Zen2
Most of it is in Linux's amdzen2 files should I just merge those under a new name? Seems weird they didn't use versioning. Do you have a better plan how to deal with these? (Also is the Linux tree the correct source for these json files?)
Could you clarify if these files are synced from Linux or generated from the manuals? I wanted to add a few counters that appear in the documentation but are missing from both the Intel and FreeBSD definitions. What would be the best way should we add definitions to the existing files in the correct place or create a new file to track these additions?
May 24 2019
This version does not change the default, but allows users to change the parameters.
- strn -> strl
- Fix man page
- Making requested changes
In the Kitchener/Waterloo hackathon we discussed the plan as three parts
- Allan is working to port the improvements from OpenBSD bcrypt back to FreeBSD.
- (This patch) allow users to overwrite the default parameters through login.conf
- Work on importing Argon2 as an alternative (and maybe scrypt if there's interest)
May 23 2019
May 22 2019
- Update default rounds for bcrypt
May 21 2019
Tinderbox passed
- Adding defines
May 20 2019
- Update man page and remove from -a
Sample output:
root@skylake8:~ # uname -a
FreeBSD skylake8.rcs.uwaterloo.ca 13.0-CURRENT FreeBSD 13.0-CURRENT #9 da147860ca7(master)-dirty: Mon May 20 17:32:20 EDT 2019 ali@strange.rcs.uwaterloo.ca:/build/ali/obj/working/freebsd-dev/amd64.amd64/sys/GENERIC amd64 42e907d740dd9560a2dfd7187eee20e41e9fbd9f
root@skylake8:~ # uname -b
42e907d740dd9560a2dfd7187eee20e41e9fbd9f
- Addresses Ed Maste's feedback. This change allows the sysctl to return any build-id between 1 and 20 bytes.
- Updates and linker scripts for other archs
Jan 28 2019
Sep 24 2018
Hello Brooks,
Sep 17 2018
Hello Brooks,
Sep 11 2018
Refresh diff to head
Jun 27 2018
Brooks & Konstantin if there's no objections I'm consolidating all the system call symbols for libsys/libc together. They have to be kept in sync to support library filtering otherwise it breaks. There's some fallout from that deduplication work, I'll wrap that up tomorrow.
Updated patch against head and lots of cleanup to amd64 and i386. Similar cleanup in progress on other platforms.
Apr 27 2018
Apr 12 2018
Rebase
Apr 11 2018
Done
- Update copyright
Copy from my email regarding the proposed plan
Apr 9 2018
--- universe_kernconf_mips_PB92 --- --- universe_kernconf_mips_QCA953X_BASE --- --- universe_kernconf_mips_RSPRO_STANDALONE --- --- universe_i386_kernels --- --- universe_kernconf_i386_GENERIC-NODEBUG --- --- universe_kernconf_i386_LINT --- --- universe_kernconf_i386_LINT-NOINET --- --- universe_kernconf_i386_LINT-NOINET6 --- --- universe_kernconf_i386_LINT-NOIP --- --- universe_kernconf_i386_PAE --- --- universe_mips_kernels --- --- universe_kernconf_mips_SENTRY5 --- --- universe_kernconf_mips_SWARM --- --- universe_powerpc_kernels --- --- universe_kernconf_powerpc_LINT --- powerpc LINT kernel failed, check _.powerpc.LINT for details --- universe_mips_kernels --- --- universe_kernconf_mips_SWARM_SMP --- --- universe_kernconf_mips_SWARM64 --- --- universe_kernconf_mips_SWARM64_SMP --- --- universe_kernconf_mips_XLP --- --- universe_kernconf_mips_XLP64 --- --- universe_kernconf_mips_XLPN32 --- --- universe_arm_done --- >> arm completed on Mon Apr 9 13:19:21 EDT 2018 --- universe_powerpc_kernels --- --- universe_kernconf_powerpc_LINT64 --- powerpc LINT64 kernel failed, check _.powerpc.LINT64 for details --- universe_powerpc_done --- >> powerpc completed on Mon Apr 9 13:19:25 EDT 2018 --- universe_mips_done --- >> mips completed on Mon Apr 9 13:19:35 EDT 2018 --- universe_i386_done --- >> i386 completed on Mon Apr 9 13:20:13 EDT 2018 --- universe_epilogue --- -------------------------------------------------------------- >>> make universe completed on Mon Apr 9 13:20:13 EDT 2018 (started Mon Apr 9 13:01:48 EDT 2018) -------------------------------------------------------------- Tinderbox failed: arm.arm buildworld failed, check _.arm.arm.buildworld for details arm.armeb buildworld failed, check _.arm.armeb.buildworld for details powerpc LINT kernel failed, check _.powerpc.LINT for details powerpc LINT64 kernel failed, check _.powerpc.LINT64 for details
Apr 7 2018
- Remove the warning message
I noticed PSL_T flag is masked out in the trap and system call entry path. It only gets set again by ptrace(PT_STEP, ...). This appears to be intentional because of the way ptrace() is being used.
With this version of the code the functionality matches the documentation. We could remove the warn_references and leave the manual suggestion that this functionality has been replaced by ptrace. I left the warning from the NetBSD code but there's not much point if we have something that works.
In any case the changes look good. Just do something about the Linux compat files I listed as well.
- Ignore EBUSY errno
Running make tinderbox. I've backout the kernel change and added the code to ignore EBUSY.
- Ignore EBUSY errno
Probably you should fix or remove the dead code in the linux compat layer as well.
Backout kernel as kib is taking care of this.
Apr 6 2018
With LLDB I can single step across an exec so we must be setting the trap flag elsewhere for ptrace() to work.
So this doesn't get lost this is the original change in SVN. It dates back before FreeBSD 2.0
If nobody has used this in 23 years and it's not present in other platforms do we need this?
- Remove the dead expression from i386/amd64 machdep
Well I made a few test cases to verify to myself all the differences and it turns out exect() doesn't even work on 11. It generates a trace fault in the original image and then stops generating faults in the new image.
@rgrimes With this version of the patch do we need to do anything about stable/11? The behavior now should most closely match the documentation.
I'm waiting for make tinderbox to complete.
- Address feedback
The netbsd test suite contains a test for exect but that should go away whenever someone pulls the latest version.
This is the last bit of cleanup I sent a mail about this on the mailing list to look for objections. I will either today or tomorrow send all three of you a sketch of my plans for libsys.
- universe_i386_i386 ---
i386.i386 buildworld completed on Fri Apr 6 04:52:06 EDT 2018
- universe_i386_kernels ---
- universe_kernconf_i386_GENERIC ---
- universe_kernconf_i386_GENERIC-NODEBUG ---
- universe_kernconf_i386_LINT ---
- universe_kernconf_i386_LINT-NOINET ---
- universe_kernconf_i386_LINT-NOINET6 ---
- universe_kernconf_i386_LINT-NOIP ---
- universe_kernconf_i386_PAE ---
- universe_arm64_aarch64 ---
arm64.aarch64 buildworld completed on Fri Apr 6 04:57:10 EDT 2018
- universe_arm64_kernels ---
- universe_kernconf_arm64_GENERIC ---
- universe_kernconf_arm64_GENERIC-NODEBUG ---
- universe_kernconf_arm64_GENERIC-UP ---
- universe_amd64_done ---
amd64 completed on Fri Apr 6 05:16:08 EDT 2018
- universe_arm64_done ---
arm64 completed on Fri Apr 6 05:35:21 EDT 2018
- universe_i386_done ---
i386 completed on Fri Apr 6 05:43:02 EDT 2018
- universe_epilogue --- --------------------------------------------------------------
make universe completed on Fri Apr 6 05:43:02 EDT 2018
(started Thu Apr 5 20:37:43 EDT 2018)
Apr 5 2018
--- universe_kernconf_arm_IMX6 --- --- universe_kernconf_arm_LINT --- --- universe_kernconf_arm_PANDABOARD --- --- universe_kernconf_arm_RPI-B --- --- universe_kernconf_arm_SAM9G20EK --- --- universe_kernconf_arm_SOCFPGA --- --- universe_kernconf_arm_TEGRA124 --- --- universe_arm64_aarch64 --- >> arm64.aarch64 buildworld completed on Thu Apr 5 06:33:36 EDT 2018 --- universe_arm64_kernels --- --- universe_kernconf_arm64_GENERIC --- --- universe_kernconf_arm64_GENERIC-NODEBUG --- --- universe_kernconf_arm64_GENERIC-UP --- --- universe_arm_kernels --- --- universe_kernconf_arm_TS7800 --- --- universe_kernconf_arm_VERSATILEPB --- --- universe_kernconf_arm_VIRT --- --- universe_kernconf_arm_VYBRID --- --- universe_kernconf_arm_ZEDBOARD --- --- universe_arm64_done --- >> arm64 completed on Thu Apr 5 07:16:19 EDT 2018 --- universe_arm_done --- >> arm completed on Thu Apr 5 07:16:25 EDT 2018 --- universe_amd64_amd64 --- >> amd64.amd64 buildworld completed on Thu Apr 5 07:22:05 EDT 2018 --- universe_amd64_kernels --- --- universe_kernconf_amd64_GENERIC --- --- universe_kernconf_amd64_GENERIC-MMCCAM --- --- universe_kernconf_amd64_GENERIC-NODEBUG --- --- universe_kernconf_amd64_LINT --- --- universe_kernconf_amd64_LINT-NOINET --- --- universe_kernconf_amd64_LINT-NOINET6 --- --- universe_kernconf_amd64_LINT-NOIP --- --- universe_kernconf_amd64_MINIMAL --- --- universe_i386_i386 --- >> i386.i386 buildworld completed on Thu Apr 5 07:55:28 EDT 2018 --- universe_i386_kernels --- --- universe_kernconf_i386_GENERIC --- --- universe_kernconf_i386_GENERIC-NODEBUG --- --- universe_kernconf_i386_LINT --- --- universe_kernconf_i386_LINT-NOINET --- --- universe_kernconf_i386_LINT-NOINET6 --- --- universe_kernconf_i386_LINT-NOIP --- --- universe_kernconf_i386_PAE --- --- universe_amd64_done --- >> amd64 completed on Thu Apr 5 08:24:16 EDT 2018 --- universe_i386_done --- >> i386 completed on Thu Apr 5 08:40:23 EDT 2018 --- universe_epilogue --- -------------------------------------------------------------- >>> make universe completed on Thu Apr 5 08:40:23 EDT 2018 (started Wed Apr 4 23:01:07 EDT 2018) --------------------------------------------------------------
Mar 8 2018
Thanks for the comments I'll rework the diff