commit 04c4bd974e519cec15e9a7aece1feab11eee31c5 Author: Michael Meffie Date: Mon Sep 16 12:42:17 2024 -0400 Make OpenAFS 1.8.12.2 Update version strings for the 1.8.12.2 release. Change-Id: Ia7bc4b532b6cd8ba53ba2e8cfce5a2fb37fd71ed Reviewed-on: https://gerrit.openafs.org/15860 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Michael Meffie Reviewed-by: Cheyenne Wills Tested-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 91556bcf318473bdda11bb5d5f832cd53ba4c6a1 Author: Michael Meffie Date: Mon Sep 16 12:39:15 2024 -0400 Update NEWS for OpenAFS 1.8.12.2 Change-Id: I8361ff682f4000b5d4713a552e56dae24c1a72ac Reviewed-on: https://gerrit.openafs.org/15859 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Reviewed-by: Michael Laß Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 7ce5fc35e60de92c5daecfb054af450a87800b8b Author: Cheyenne Wills Date: Mon Sep 9 10:04:20 2024 -0600 Linux: Test for missing generic_file_splice_read In commit: 'Linux 6.5: Replace generic_file_splice_read' (0e06eb78f2) we check the version of Linux to determine to use the newer filemap_splice_read() or the older generic_file_splice_read(). openSUSE 15.6 uses a Linux 6.4 kernel, but is also including the Linux 6.5 commit: 'splice: Remove generic_file_splice_read()' (c6585011bc) When this commit included in Linux 6.4, the kernel module fails to build. In order to handle the case where Linux distributions are including the (c6585011bc) commit in earlier kernels, we need to see if generic_file_splice_read() is present; if not, we should use the newer filemap_splice_read(). With the (0e06eb78f2) commit there was a preference for using generic_file_splice_read() over filemap_splice_read() until Linux 6.5 (which contained additional updates surrounding filemap_splice_read()). See the (0e06eb78f2) commit for additional details. With this commit, we are still preferring generic_file_splice_read() when it is available on kernels less than Linux 6.5. Reviewed-on: https://gerrit.openafs.org/15846 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie (cherry picked from commit 8d4d197f0a3880e4dde3580ee9cd84bc20d587ee) Change-Id: I900a30d8090b06e23c6b7f2daced3a9533a02d1b Reviewed-on: https://gerrit.openafs.org/15858 Reviewed-by: Andrew Deason Tested-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Michael Meffie Reviewed-by: Cheyenne Wills Tested-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit d17a07767d703287595f3c96e72e0ecc8455bbf0 Author: Cheyenne Wills Date: Thu Sep 12 10:05:55 2024 -0600 uss: Replace strcat with safer method The grammar.y file uses a series of strcat's to build the accesslist from the parsed tokens. There is no checking to see if the result exceeds the size of the output buffer. Replace the strcpy/strcat's with a simple snprintf that concatenates the tokens, and check to see if the snprintf failed. If there was an error concatenating the tokens, emit a message. NOTE: With --enable-checking a build error occurs on an Ubuntu 24.04 system, where the default _FORTIFY_SOURCE is set to 3 (hardened). The build produces the following: ... inlined from ‘yyparse’ at ./grammar.y:130:26: /usr/include/.../string_fortified.h:130:10: error: ‘__builtin___strcat_chk’ writing 2 bytes into a region of size 0 overflows the destination [-Werror=stringop-overflow=] 130 | return __builtin___strcat_chk (__dest, __src, __glibc_objsize (__dest)); ...(repeated for the other uses of strcat)... The build error can be duplicated by setting _FORTIFY_SOURCE to 3. Reviewed-on: https://gerrit.openafs.org/15845 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Reviewed-by: Andrew Deason (cherry picked from commit 00b31c7bae017cbda9d9cf9b7d61299f882d9f12) Change-Id: If5dcf75098443e03e9c843039f22e8b414c34d66 Reviewed-on: https://gerrit.openafs.org/15857 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Michael Meffie Reviewed-by: Cheyenne Wills Tested-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 4766fac3bc2b7f02f84db9149b20b6d1a15a220c Author: Cheyenne Wills Date: Tue Aug 13 14:29:10 2024 -0600 Remove MIN and MAX macro definitions A prior commit: "opr: replace MIN/MAX macros with opr_min/opr_max" (Change I2d7b54193ec91f7ead9c5c5f714d9a8bc7533bf7) replaced all uses of the MIN and MAX macros with opr_min and opr_max. As a cleanup and to resolve a failure when building the Linux kernel module with Linux 6.11, remove all the defines for MIN and MAX. The Linux 6.11 commit: 'minmax: make generic MIN() and MAX() macros available everywhere' (1a251f52cf) standardized and consolidated the definitions of the MIN and MAX macros within the Linux kernel by defining them in an include file that is widely used already (linux/minmax.h). With the above Linux commit, the kernel module fails with a redefined error from the compiler: "./include/linux/minmax.h:329: error: "MIN" redefined [-Werror]" Reviewed-on: https://gerrit.openafs.org/15814 Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Tested-by: BuildBot (cherry picked from commit 8e8ee623d1a21dc8476cde4b6b9d9e292b36691d) [mmeffie: The MIN/MAX macros are still present in the deprecated afsweb component.] Change-Id: I096c386682afbf7de07f7bb882ab9442cbdeb13a Reviewed-on: https://gerrit.openafs.org/15854 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 7295796c9cb46d8007750ba8f14c675d2b950952 Author: Cheyenne Wills Date: Mon Sep 9 13:15:47 2024 -0600 opr: replace MIN/MAX macros with opr_min/opr_max Introduce new macros, opr_min() and opr_max(), to avoid collisions with existing MIN()/MAX() macros defined elsewhere. Within OpenAFS, the MIN/MAX macros are defined in the platform specific param.h include file. This same file is where AFS_{platform}_ENV is defined, which is used throughout the OpenAFS source to determine which platform specific headers are to be used. This can lead to collisions if platform provided headers define MIN or MAX. Introduce opr_min and opr_max, using the same definitions that have been used for MIN and MAX. Put the definitions in opr.h, which is already included in most of the code that uses the MIN or MAX macros. Replace all uses of MIN and MAX with opr_min and opr_max. Add or move the include for afs/opr.h as needed. Note, this commit does not replace the min()/max() macros. A later commit will remove the defines for MIN and MAX (which will correct a Linux 6.11 build failure due to a collision). Reviewed-on: https://gerrit.openafs.org/15813 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Andrew Deason (cherry picked from commit 915c5cff168344797e011ee81913d4026c0cea80) [mmeffie: Add an opr.h include in src/rx/rx.c. The MIN/MAX macros are still present in the deprecated afsweb component.] Change-Id: I05fa833e00f31f07af55cebeb00a996a280bdcef Reviewed-on: https://gerrit.openafs.org/15853 Tested-by: BuildBot Reviewed-by: Mark Vitale Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk commit 9e64b7d068f42e02980442e8e65114577176df19 Author: Mark Vitale Date: Fri May 7 18:20:11 2021 -0400 rx: Define symbolic names for Rx magic numbers Since the original IBM code import, the magic number '6' has been used to specify the number of consecutive lost keepalives (ping acks) that indicate a dead connection. By implication, this also defines the minimum number of seconds (at the minimum keeplive periodicity of 1 second) before a connection may be considered dead. Define and use symbolic names for both uses of '6', and document their relationship. Both have the same assigned value '6', but RX_PINGS_LOST_BEFORE_DEAD is use as an ordinal count, while RX_MINDEADTIME is expressed in units of seconds. The magic number '12' is used in a couple of places for the default value of rx_connDeadTime. Give this constant a name (RX_DEFAULT_DEAD_TIME) and use it. No functional change is incurred by this commit. Reviewed-on: https://gerrit.openafs.org/14621 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk (cherry picked from commit b4a4a2ae9c9546482dd94c7a89793b1bfa1714cd) Change-Id: I87c2de0c1a14a9414a86e6fc0744139a120fbab9 Reviewed-on: https://gerrit.openafs.org/15852 Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Mark Vitale Reviewed-by: Cheyenne Wills Reviewed-by: Benjamin Kaduk