summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'docs-for-linus' of git://git.lwn.net/linuxLinus Torvalds2016-03-1728-86/+179
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pul documentation update from Jon Corbet: "Another relatively boring cycle for the docs tree: typo fixes, translation updates, etc" * tag 'docs-for-linus' of git://git.lwn.net/linux: modsign: Fix documentation on module signing enforcement parameter. Doc: nfs: Fix typos in Documentation/filesystems/nfs Documentation: kselftest: Remove duplicate word doc: fix grammar Documentation: Howto: Fixed subtitles style Doc: ARM: Fix a typo in clksrc-change-registers.awk Documentation/ko_KR: update maintainer information Documentation: Fix int/unsigned int comparison Documentation: Chinese translation of arm64/silicon-errata.txt Documentation:Update Documentation/zh_CN/arm64/booting.txt Documentation: HOWTO: remove obsolete info about regression postings Doc: ja_JP: Fix a typo in HOWTO Doc: i2c: Fix typo in Documentation/i2c Doc: DocBook: Fix a typo in device-drivers.tmpl Remove "arch" usage in Documentation/features/list-arch.sh README: cosmetic fixes Documentation/CodingStyle: add space before parenthesis in example macro SubmittingPatches: fix spelling of "git send-email"
| * modsign: Fix documentation on module signing enforcement parameter.James Johnston2016-03-121-1/+1
| | | | | | | | | | | | | | | | | | Modify the documentation to match the actual parameter as implemented in kernel/module.c:273. Signed-off-by: James Johnston <johnstonj.public@codenest.com> Reviewed-by: David Howells <dhowells@redhat.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
| * Doc: nfs: Fix typos in Documentation/filesystems/nfsMasanari Iida2016-03-095-8/+8
| | | | | | | | | | | | | | This patch fix spelling typos found in Documentation/filesystems/nfs Signed-off-by: Masanari Iida <standby24x7@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
| * Documentation: kselftest: Remove duplicate wordZhiyi Sun2016-03-091-1/+1
| | | | | | | | | | | | | | Remove duplicate word "for" in kselftest.txt. Signed-off-by: Zhiyi Sun <zhiyisun@msn.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
| * doc: fix grammarJavi Merino2016-03-091-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | Some minor typos: - make is unbindable -> make it unbindable - a underlying -> an underlying - different version -> different versions Cc: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Javi Merino <javi.merino@arm.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
| * Documentation: Howto: Fixed subtitles stylePhilippe Loctaux2016-03-091-4/+4
| | | | | | | | | | | | | | Fixed subtitles style, aligned them with their header. Signed-off-by: Philippe Loctaux <phil@philippeloctaux.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
| * Doc: ARM: Fix a typo in clksrc-change-registers.awkMasanari Iida2016-02-171-1/+1
| | | | | | | | | | | | | | This patch fix a spelling typo found in clksrc-change-registers.awk. Signed-off-by: Masanari Iida <standby24x7@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
| * Documentation/ko_KR: update maintainer informationSeongJae Park2016-02-172-4/+4
| | | | | | | | | | | | | | | | | | Maintainer informations of Documentation/ko_KR is outdated. This commit update the informations to the latest ones. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Acked-by: Minchan Kim <minchan@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
| * Documentation: Fix int/unsigned int comparisonMahesh Khanwalkar2016-02-176-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed int - unsigned int comparison fixed in mpssd, prctl, ptp, and timers in Documentation. In places where 'int argc' and 'const char **argv' are not used, they are replaced with void Documentation/mic/mpssd/mpssd.c: Fixed comparison in sum_iovec_len and disp_iovec Documentation/prctl/disable-tsc-ctxt-sw-stress-test.c: main signature changed to void, as parameters 'argc' and 'argv' are never used Documentation/prctl/disable-tsc-on-off-stress-test.c: main signature changed to void Documentation/prctl/disable-tsc-test.c: main signature changed to void Documentation/ptp/testptp.c: Sign comparison fix Documentation/timers/hpet_example.c: Sign comparision fix Signed-off-by: Mahesh Khanwalkar <maheshkhanwalkar@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
| * Documentation: Chinese translation of arm64/silicon-errata.txtFu Wei2016-02-171-0/+74
| | | | | | | | | | | | | | | | This is a Chinese translated version of Documentation/arm64/silicon-errata.txt Signed-off-by: Fu Wei <wefu@redhat.com> Reviewed-by: Weiwei Jia <harryxiyou@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
| * Documentation:Update Documentation/zh_CN/arm64/booting.txtFu Wei2016-02-171-35/+58
| | | | | | | | | | | | | | | | | | | | | | | | This is a update of Chinese documentation: Documentation/zh_CN/arm64/booting.txt It is based on the modifications of Documentation/arm64/booting.txt in submission: "61bd93ce", "6c020ea8", "9d372c9f", "6d32ab2d". And improve the format of documentation. Signed-off-by: Fu Wei <wefu@redhat.com> Reviewed-by: Weiwei Jia <harryxiyou@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
| * Documentation: HOWTO: remove obsolete info about regression postingsPeter Loeffler2016-02-101-6/+1
| | | | | | | | | | | | | | | | corbet@lwn.net told me that these regression postings haven't happened for several years. So i think we can remove it. Signed-off-by: Peter Loeffler <peter.loeffler@guruz.at> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
| * Doc: ja_JP: Fix a typo in HOWTOMasanari Iida2016-02-101-1/+1
| | | | | | | | | | | | | | | | This patch fix a typo witin HOWTO, which was translated in Japanese. Replace a word "kernlehacker" with "kernelhacker". Signed-off-by: Masanari Iida <standby24x7@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
| * Doc: i2c: Fix typo in Documentation/i2cMasanari Iida2016-02-102-3/+3
| | | | | | | | | | | | | | This path fix spelling typos found in Documentation/i2c. Signed-off-by: Masanari Iida <standby24x7@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
| * Doc: DocBook: Fix a typo in device-drivers.tmplMasanari Iida2016-02-101-1/+1
| | | | | | | | | | | | | | This patch fix a spelling typo in device-drivers.tmpl. Signed-off-by: Masanari Iida <standby24x7@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
| * Remove "arch" usage in Documentation/features/list-arch.shdcg2016-01-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 669f6f96c680a741257ada44a28b580df2e1fc25 introduced the script list-arch.sh, which uses the command "arch": ARCH=${1:-$(arch | sed 's/x86_64/x86/' | sed 's/i386/x86/')} It turns out that the "arch" command does not exist in my system (arch distro). Google found man pages which say "arch is deprecated command since release util-linux 2.13. Use uname -m" (util-linux 2.13 was released in 2007). I also found a debian bug reporting the lack of arch and being told to use uname -m https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=446023 But then, why it works in some distros? Apparently coreutils gained an optional arch command that needs to be explicitly enabled during compilation. Some distros enable it, others don't. Sigh. Signed-off-by: Diego Calleja <diegocg@gmail.com> Acked-by: Ingo Molnar <mingo@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
| * README: cosmetic fixesDiego Viola2016-01-251-7/+7
| | | | | | | | | | Signed-off-by: Diego Viola <diego.viola@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
| * Documentation/CodingStyle: add space before parenthesis in example macroThomas Gardner2016-01-251-1/+1
| | | | | | | | | | Signed-off-by: Thomas Gardner <tmg@fastmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
| * SubmittingPatches: fix spelling of "git send-email"Jakub Wilk2016-01-251-1/+1
| | | | | | | | | | Signed-off-by: Jakub Wilk <jwilk@jwilk.net> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
* | Merge branch 'next' of ↵Linus Torvalds2016-03-1791-1365/+1924
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security Pull security layer updates from James Morris: "There are a bunch of fixes to the TPM, IMA, and Keys code, with minor fixes scattered across the subsystem. IMA now requires signed policy, and that policy is also now measured and appraised" * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (67 commits) X.509: Make algo identifiers text instead of enum akcipher: Move the RSA DER encoding check to the crypto layer crypto: Add hash param to pkcs1pad sign-file: fix build with CMS support disabled MAINTAINERS: update tpmdd urls MODSIGN: linux/string.h should be #included to get memcpy() certs: Fix misaligned data in extra certificate list X.509: Handle midnight alternative notation in GeneralizedTime X.509: Support leap seconds Handle ISO 8601 leap seconds and encodings of midnight in mktime64() X.509: Fix leap year handling again PKCS#7: fix unitialized boolean 'want' firmware: change kernel read fail to dev_dbg() KEYS: Use the symbol value for list size, updated by scripts/insert-sys-cert KEYS: Reserve an extra certificate symbol for inserting without recompiling modsign: hide openssl output in silent builds tpm_tis: fix build warning with tpm_tis_resume ima: require signed IMA policy ima: measure and appraise the IMA policy itself ima: load policy using path ...
| * \ Merge tag 'keys-next-20160303' of ↵James Morris2016-03-0459-745/+999
| |\ \ | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs into next
| | * | X.509: Make algo identifiers text instead of enumDavid Howells2016-03-0312-97/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the identifier public key and digest algorithm fields text instead of enum. Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
| | * | akcipher: Move the RSA DER encoding check to the crypto layerDavid Howells2016-03-037-246/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the RSA EMSA-PKCS1-v1_5 encoding from the asymmetric-key public_key subtype to the rsa crypto module's pkcs1pad template. This means that the public_key subtype no longer has any dependencies on public key type. To make this work, the following changes have been made: (1) The rsa pkcs1pad template is now used for RSA keys. This strips off the padding and returns just the message hash. (2) In a previous patch, the pkcs1pad template gained an optional second parameter that, if given, specifies the hash used. We now give this, and pkcs1pad checks the encoded message E(M) for the EMSA-PKCS1-v1_5 encoding and verifies that the correct digest OID is present. (3) The crypto driver in crypto/asymmetric_keys/rsa.c is now reduced to something that doesn't care about what the encryption actually does and and has been merged into public_key.c. (4) CONFIG_PUBLIC_KEY_ALGO_RSA is gone. Module signing must set CONFIG_CRYPTO_RSA=y instead. Thoughts: (*) Should the encoding style (eg. raw, EMSA-PKCS1-v1_5) also be passed to the padding template? Should there be multiple padding templates registered that share most of the code? Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Tadeusz Struk <tadeusz.struk@intel.com> Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
| | * | crypto: Add hash param to pkcs1padTadeusz Struk2016-03-031-26/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds hash param to pkcs1pad. The pkcs1pad template can work with or without the hash. When hash param is provided then the verify operation will also verify the output against the known digest. Signed-off-by: Tadeusz Struk <tadeusz.struk@intel.com> Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
| | * | sign-file: fix build with CMS support disabledMarc-Antoine Perennou2016-03-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some versions of openssl might have the CMS feature disabled LibreSSL disables this feature too If the feature is disabled, fallback to PKCS7 In file included from scripts/sign-file.c:46:0: /usr/x86_64-pc-linux-gnu/include/openssl/cms.h:62:2: error: #error CMS is disabled. #error CMS is disabled. Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com> Signed-off-by: David Howells <dhowells@redhat.com>
| | * | MODSIGN: linux/string.h should be #included to get memcpy()David Howells2016-03-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | linux/string.h should be #included in module_signing.c to get memcpy(), lest the following occur: kernel/module_signing.c: In function 'mod_verify_sig': kernel/module_signing.c:57:2: error: implicit declaration of function 'memcpy' [-Werror=implicit-function-declaration] memcpy(&ms, mod + (modlen - sizeof(ms)), sizeof(ms)); ^ Reported-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: David Howells <dhowells@redhat.com>
| | * | certs: Fix misaligned data in extra certificate listDavid Howells2016-02-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the following warning found by kbuild: certs/system_certificates.S:24: Error: misaligned data because: KEYS: Reserve an extra certificate symbol for inserting without recompiling doesn't correctly align system_extra_cert_used. Signed-off-by: David Howells <dhowells@redhat.com> cc: Mehmet Kayaalp <mkayaalp@linux.vnet.ibm.com>
| | * | X.509: Handle midnight alternative notation in GeneralizedTimeDavid Howells2016-02-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ASN.1 GeneralizedTime object carries an ISO 8601 format date and time. The time is permitted to show midnight as 00:00 or 24:00 (the latter being equivalent of 00:00 of the following day). The permitted value is checked in x509_decode_time() but the actual handling is left to mktime64(). Without this patch, certain X.509 certificates will be rejected and could lead to an unbootable kernel. Note that with this patch we also permit any 24:mm:ss time and extend this to UTCTime, which whilst not strictly correct don't permit much leeway in fiddling date strings. Reported-by: Rudolf Polzer <rpolzer@google.com> Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: Arnd Bergmann <arnd@arndb.de> cc: David Woodhouse <David.Woodhouse@intel.com> cc: John Stultz <john.stultz@linaro.org>
| | * | X.509: Support leap secondsDavid Howells2016-02-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The format of ASN.1 GeneralizedTime seems to be specified by ISO 8601 [X.680 46.3] and this apparently supports leap seconds (ie. the seconds field is 60). It's not entirely clear that ASN.1 expects it, but we can relax the seconds check slightly for GeneralizedTime. This results in us passing a time with sec as 60 to mktime64(), which handles it as being a duplicate of the 0th second of the next minute. We can't really do otherwise without giving the kernel much greater knowledge of where all the leap seconds are. Unfortunately, this would require change the mapping of the kernel's current-time-in-seconds. UTCTime, however, only supports a seconds value in the range 00-59, but for the sake of simplicity allow this with UTCTime also. Without this patch, certain X.509 certificates will be rejected, potentially making a kernel unbootable. Reported-by: Rudolf Polzer <rpolzer@google.com> Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: Arnd Bergmann <arnd@arndb.de> cc: David Woodhouse <David.Woodhouse@intel.com> cc: John Stultz <john.stultz@linaro.org>
| | * | Handle ISO 8601 leap seconds and encodings of midnight in mktime64()David Howells2016-02-291-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Handle the following ISO 8601 features in mktime64(): (1) Leap seconds. Leap seconds are indicated by the seconds parameter being the value 60. Handle this by treating it the same as 00 of the following minute. It has been pointed out that a minute may contain two leap seconds. However, pending discussion of what that looks like and how to handle it, I'm not going to concern myself with it. (2) Alternate encodings of midnight. Two different encodings of midnight are permitted - 00:00:00 and 24:00:00 - the first is midnight today and the second is midnight tomorrow and is exactly equivalent to the first with tomorrow's date. As it happens, we don't actually need to change mktime64() to handle either of these - just comment them as valid parameters. These facility will be used by the X.509 parser. Doing it in mktime64() makes the policy common to the whole kernel and easier to find. Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: Arnd Bergmann <arnd@arndb.de> cc: John Stultz <john.stultz@linaro.org> cc: Rudolf Polzer <rpolzer@google.com> cc: One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk>
| | * | X.509: Fix leap year handling againDavid Howells2016-02-291-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are still a couple of minor issues in the X.509 leap year handling: (1) To avoid doing a modulus-by-400 in addition to a modulus-by-100 when determining whether the year is a leap year or not, I divided the year by 100 after doing the modulus-by-100, thereby letting the compiler do one instruction for both, and then did a modulus-by-4. Unfortunately, I then passed the now-modified year value to mktime64() to construct a time value. Since this isn't a fast path and since mktime64() does a bunch of divisions, just condense down to "% 400". It's also easier to read. (2) The default month length for any February where the year doesn't divide by four exactly is obtained from the month_length[] array where the value is 29, not 28. This is fixed by altering the table. Reported-by: Rudolf Polzer <rpolzer@google.com> Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: David Woodhouse <David.Woodhouse@intel.com> Acked-by: Arnd Bergmann <arnd@arndb.de> cc: stable@vger.kernel.org
| | * | PKCS#7: fix unitialized boolean 'want'Colin Ian King2016-02-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The boolean want is not initialized and hence garbage. The default should be false (later it is only set to true on tne sinfo->authattrs check). Found with static analysis using CoverityScan Signed-off-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: David Howells <dhowells@redhat.com>
| | * | KEYS: Use the symbol value for list size, updated by scripts/insert-sys-certMehmet Kayaalp2016-02-261-8/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a certificate is inserted to the image using scripts/writekey, the value of __cert_list_end does not change. The updated size can be found out by reading the value pointed by the system_certificate_list_size symbol. Signed-off-by: Mehmet Kayaalp <mkayaalp@linux.vnet.ibm.com> Signed-off-by: David Howells <dhowells@redhat.com>
| | * | KEYS: Reserve an extra certificate symbol for inserting without recompilingMehmet Kayaalp2016-02-265-0/+440
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Place a system_extra_cert buffer of configurable size, right after the system_certificate_list, so that inserted keys can be readily processed by the existing mechanism. Added script takes a key file and a kernel image and inserts its contents to the reserved area. The system_certificate_list_size is also adjusted accordingly. Call the script as: scripts/insert-sys-cert -b <vmlinux> -c <certfile> If vmlinux has no symbol table, supply System.map file with -s flag. Subsequent runs replace the previously inserted key, instead of appending the new one. Signed-off-by: Mehmet Kayaalp <mkayaalp@linux.vnet.ibm.com> Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
| | * | modsign: hide openssl output in silent buildsArnd Bergmann2016-02-261-14/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a user calls 'make -s', we can assume they don't want to see any output except for warnings and errors, but instead they see this for a warning free build: ### ### Now generating an X.509 key pair to be used for signing modules. ### ### If this takes a long time, you might wish to run rngd in the ### background to keep the supply of entropy topped up. It ### needs to be run as root, and uses a hardware random ### number generator if one is available. ### Generating a 4096 bit RSA private key .................................................................................................................................................................................................................................++ ..............................................................................................................................++ writing new private key to 'certs/signing_key.pem' ----- ### ### Key pair generated. ### The output can confuse simple build testing scripts that just check for an empty build log. This patch silences all the output: - "echo" is changed to "@$(kecho)", which is dropped when "-s" gets passed - the openssl command itself is only printed with V=1, using the $(Q) macro - The output of openssl gets redirected to /dev/null on "-s" builds. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: David Howells <dhowells@redhat.com>
| | * | scripts/sign-file.c: Add support for signing with a raw signatureJuerg Haefliger2016-02-181-90/+146
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for signing a kernel module with a raw detached PKCS#7 signature/message. The signature is not converted and is simply appended to the module so it needs to be in the right format. Using openssl, a valid signature can be generated like this: $ openssl smime -sign -nocerts -noattr -binary -in <module> -inkey \ <key> -signer <x509> -outform der -out <raw sig> The resulting raw signature from the above command is (more or less) identical to the raw signature that sign-file itself can produce like this: $ scripts/sign-file -d <hash algo> <key> <x509> <module> Signed-off-by: Juerg Haefliger <juerg.haefliger@hpe.com> Signed-off-by: David Howells <dhowells@redhat.com>
| | * | security/keys: make big_key.c explicitly non-modularPaul Gortmaker2016-02-181-14/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Kconfig currently controlling compilation of this code is: config BIG_KEYS bool "Large payload keys" ...meaning that it currently is not being built as a module by anyone. Lets remove the modular code that is essentially orphaned, so that when reading the driver there is no doubt it is builtin-only. Since module_init translates to device_initcall in the non-modular case, the init ordering remains unchanged with this commit. We also delete the MODULE_LICENSE tag since all that information is already contained at the top of the file in the comments. Cc: James Morris <james.l.morris@oracle.com> Cc: "Serge E. Hallyn" <serge@hallyn.com> Cc: keyrings@vger.kernel.org Cc: linux-security-module@vger.kernel.org Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: David Howells <dhowells@redhat.com>
| | * | crypto: public_key: remove MPIs from public_key_signature structTadeusz Struk2016-02-181-13/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After digsig_asymmetric.c is converted the MPIs can be now safely removed from the public_key_signature structure. Signed-off-by: Tadeusz Struk <tadeusz.struk@intel.com> Acked-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David Howells <dhowells@redhat.com>
| | * | integrity: convert digsig to akcipher apiTadeusz Struk2016-02-182-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert asymmetric_verify to akcipher api. Signed-off-by: Tadeusz Struk <tadeusz.struk@intel.com> Acked-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David Howells <dhowells@redhat.com>
| | * | crypto: KEYS: convert public key and digsig asym to the akcipher apiTadeusz Struk2016-02-1012-295/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch converts the module verification code to the new akcipher API. Signed-off-by: Tadeusz Struk <tadeusz.struk@intel.com> Acked-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David Howells <dhowells@redhat.com>
| | * | KEYS: CONFIG_KEYS_DEBUG_PROC_KEYS is no longer an optionDavid Howells2016-02-1026-26/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CONFIG_KEYS_DEBUG_PROC_KEYS is no longer an option as /proc/keys is now mandatory if the keyrings facility is enabled (it's used by libkeyutils in userspace). The defconfig references were removed with: perl -p -i -e 's/CONFIG_KEYS_DEBUG_PROC_KEYS=y\n//' \ `git grep -l CONFIG_KEYS_DEBUG_PROC_KEYS=y` and the integrity Kconfig fixed by hand. Signed-off-by: David Howells <dhowells@redhat.com> cc: Andreas Ziegler <andreas.ziegler@fau.de> cc: Dmitry Kasatkin <dmitry.kasatkin@huawei.com>
| | * | KEYS: Add an alloc flag to convey the builtinness of a keyDavid Howells2016-02-093-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add KEY_ALLOC_BUILT_IN to convey that a key should have KEY_FLAG_BUILTIN set rather than setting it after the fact. Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
| | * | v2 linux-next scripts/sign-file.c Fix LibreSSL supportCodarren Velvindron2016-02-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In file included from scripts/sign-file.c:47:0: /usr/include/openssl/cms.h:62:2: error: #error CMS is disabled. #error CMS is disabled. ^ scripts/Makefile.host:91: recipe for target 'scripts/sign-file' failed make[1]: *** [scripts/sign-file] Error 1 Makefile:567: recipe for target 'scripts' failed make: *** [scripts] Error 2 Fix SSL headers so that the kernel can build with LibreSSL Signed-off-by: Codarren Velvindron <codarren@hackers.mu> Acked-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: David Howells <dhowells@redhat.com>
| * | | Merge branch 'stable-4.6' of git://git.infradead.org/users/pcmoore/selinux ↵James Morris2016-03-041-1/+1
| |\ \ \ | | | | | | | | | | | | | | | into next
| | * | | selinux: use absolute path to include directoryAndy Shevchenko2016-01-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Compiler warns us a lot that it can't find include folder because it's provided in relative form. CC security/selinux/netlabel.o cc1: warning: security/selinux/include: No such file or directory cc1: warning: security/selinux/include: No such file or directory cc1: warning: security/selinux/include: No such file or directory cc1: warning: security/selinux/include: No such file or directory Add $(srctree) prefix to the path. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> [PM: minor description edits to fit under 80char width] Signed-off-by: Paul Moore <paul@paul-moore.com>
| * | | | MAINTAINERS: update tpmdd urlsJarkko Sakkinen2016-03-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updated GIT and patchwork location both of which were out-of-sync or actually patchwork location was incorrect. Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> Signed-off-by: James Morris <james.l.morris@oracle.com>
| * | | | firmware: change kernel read fail to dev_dbg()Luis R. Rodriguez2016-02-291-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we now use the new kernel_read_file_from_path() we are reporting a failure when we iterate over all the paths possible for firmware. Before using kernel_read_file_from_path() we only reported a failure once we confirmed a file existed with filp_open() but failed with fw_read_file_contents(). With kernel_read_file_from_path() both are done for us and we obviously are now reporting too much information given that some optional paths will always fail and clutter the logs. fw_get_filesystem_firmware() already has a check for failure and uses an internal flag, FW_OPT_NO_WARN, but this does not let us capture other unxpected errors. This enables that as changed by Neil via commit: "firmware: Be a bit more verbose about direct firmware loading failure" Reported-by: Heiner Kallweit <hkallweit1@gmail.com> Cc: Neil Horman <nhorman@tuxdriver.com> Cc: Heiner Kallweit <hkallweit1@gmail.com> Cc: Mimi Zohar <zohar@linux.vnet.ibm.com> Cc: Kees Cook <keescook@chromium.org> Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org> Acked-by: Kees Cook <keescook@chromium.org> Acked-by: Ming Lei <ming.lei@canonical.com> Signed-off-by: James Morris <james.l.morris@oracle.com>
| * | | | tpm_tis: fix build warning with tpm_tis_resumeJarkko Sakkinen2016-02-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | drivers/char/tpm/tpm_tis.c:838: warning: ‘tpm_tis_resume’ defined but not used Reported-by: James Morris <jmorris@namei.org> Fixes: 00194826e6be ("tpm_tis: Clean up the force=1 module parameter") Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> cc: stable@vger.kernel.org
| * | | | Merge branch 'next' of ↵James Morris2016-02-2622-364/+601
| |\ \ \ \ | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity into next
| | * | | | ima: require signed IMA policyMimi Zohar2016-02-211-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Require the IMA policy to be signed when additional rules can be added. v1: - initialize the policy flag - include IMA_APPRAISE_POLICY in the policy flag Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com> Acked-by: Petko Manolov <petkan@mip-labs.com> Acked-by: Dmitry Kasatkin <dmitry.kasatkin@huawei.com>