{"push_id":1940128668,"size":8,"distinct_size":8,"ref":"refs/heads/master","head":"2acf097f16abba684012cca670a61d94178bd1ab","before":"55652400fdab0838b7ef446f4a3541aefdd9ccb0","commits":[{"sha":"90b05b0598c698252d5f7dcdce335c5a546e9047","author":{"name":"Masami Hiramatsu","email":"5ab6ef7bee6728a5bff222670b7ceb5278b7ee85@kernel.org"},"message":"gpio: reject invalid gpio before getting gpio_desc\n\nCheck user-given gpio number and reject it before\ncalling gpio_to_desc() because gpio_to_desc() is\nfor kernel driver and it expects given gpio number\nis valid (means 0 to 511).\nIf given number is invalid, gpio_to_desc() calls\nWARN() and dump registers and stack for debug.\nThis means user can easily kick WARN() just by\nwriting invalid gpio number (e.g. 512) to\n/sys/class/gpio/export.\n\nFixes: 0e9a5edf5d01 (\"gpio: fix deferred probe detection for legacy API\")\nSigned-off-by: Masami Hiramatsu <mhiramat@kernel.org>\nReviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>\nSigned-off-by: Linus Walleij <linus.walleij@linaro.org>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/90b05b0598c698252d5f7dcdce335c5a546e9047"},{"sha":"3f13b6a24f192da3096389b82202f16eff2c11ee","author":{"name":"Gregory CLEMENT","email":"4264d285b3ce9b577917b36d034b4cf25ea4fe85@free-electrons.com"},"message":"gpio: mvebu: Fix cause computation in irq handler\n\nWhen switching to regmap, the way to compute the irq cause was\nreorganized. However while doing it, a typo was introduced: a 'xor'\nreplaced a 'and'.\n\nThis lead to wrong behavior in the interrupt handler ans one of the\nsymptom was wrong irq handler called on the Armada 388 GP:\n\"->handle_irq():  c016303c,\nhandle_bad_irq+0x0/0x278\n->irq_data.chip(): c0b0ec0c,\n0xc0b0ec0c\n->action():   (null)\n   IRQ_NOPROBE set\n IRQ_NOREQUEST set\nunexpected IRQ trap at vector 00\nirq 0, desc: ee804800, depth: 1, count: 0, unhandled: 0\"\n\nFixes: 2233bf7a92e7 (\"gpio: mvebu: switch to regmap for register access\")\nSigned-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>\nSigned-off-by: Linus Walleij <linus.walleij@linaro.org>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/3f13b6a24f192da3096389b82202f16eff2c11ee"},{"sha":"096622104e14d8a1db4860bd557717067a0515d2","author":{"name":"Dave Martin","email":"efb8cc9d02b9c95845d8a14436d3a7276e72ae4e@arm.com"},"message":"arm64: fpsimd: Prevent registers leaking across exec\n\nThere are some tricky dependencies between the different stages of\nflushing the FPSIMD register state during exec, and these can race\nwith context switch in ways that can cause the old task's regs to\nleak across.  In particular, a context switch during the memset() can\ncause some of the task's old FPSIMD registers to reappear.\n\nDisabling preemption for this small window would be no big deal for\nperformance: preemption is already disabled for similar scenarios\nlike updating the FPSIMD registers in sigreturn.\n\nSo, instead of rearranging things in ways that might swap existing\nsubtle bugs for new ones, this patch just disables preemption\naround the FPSIMD state flushing so that races of this type can't\noccur here.  This brings fpsimd_flush_thread() into line with other\ncode paths.\n\nCc: stable@vger.kernel.org\nFixes: 674c242c9323 (\"arm64: flush FP/SIMD state correctly after execve()\")\nReviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>\nSigned-off-by: Dave Martin <Dave.Martin@arm.com>\nSigned-off-by: Will Deacon <will.deacon@arm.com>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/096622104e14d8a1db4860bd557717067a0515d2"},{"sha":"289d07a2dc6c6b6f3e4b8a62669320d99dbe6c3d","author":{"name":"Mark Rutland","email":"7bbc68f29a82fb2eb4daac9d4df0c3f473a4ef26@arm.com"},"message":"arm64: mm: abort uaccess retries upon fatal signal\n\nWhen there's a fatal signal pending, arm64's do_page_fault()\nimplementation returns 0. The intent is that we'll return to the\nfaulting userspace instruction, delivering the signal on the way.\n\nHowever, if we take a fatal signal during fixing up a uaccess, this\nresults in a return to the faulting kernel instruction, which will be\ninstantly retried, resulting in the same fault being taken forever. As\nthe task never reaches userspace, the signal is not delivered, and the\ntask is left unkillable. While the task is stuck in this state, it can\ninhibit the forward progress of the system.\n\nTo avoid this, we must ensure that when a fatal signal is pending, we\napply any necessary fixup for a faulting kernel instruction. Thus we\nwill return to an error path, and it is up to that code to make forward\nprogress towards delivering the fatal signal.\n\nCc: Catalin Marinas <catalin.marinas@arm.com>\nCc: Laura Abbott <labbott@redhat.com>\nCc: stable@vger.kernel.org\nReviewed-by: Steve Capper <steve.capper@arm.com>\nTested-by: Steve Capper <steve.capper@arm.com>\nReviewed-by: James Morse <james.morse@arm.com>\nTested-by: James Morse <james.morse@arm.com>\nSigned-off-by: Mark Rutland <mark.rutland@arm.com>\nSigned-off-by: Will Deacon <will.deacon@arm.com>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/289d07a2dc6c6b6f3e4b8a62669320d99dbe6c3d"},{"sha":"4a23e56ad6549d0b8c0fac6d9eb752884379c391","author":{"name":"Ard Biesheuvel","email":"80b89d4a5c0c8f00cebbb9c7d8a672c776f22af1@linaro.org"},"message":"arm64: kaslr: ignore modulo offset when validating virtual displacement\n\nIn the KASLR setup routine, we ensure that the early virtual mapping\nof the kernel image does not cover more than a single table entry at\nthe level above the swapper block level, so that the assembler routines\ninvolved in setting up this mapping can remain simple.\n\nIn this calculation we add the proposed KASLR offset to the values of\nthe _text and _end markers, and reject it if they would end up falling\nin different swapper table sized windows.\n\nHowever, when taking the addresses of _text and _end, the modulo offset\n(the physical displacement modulo 2 MB) is already accounted for, and\nso adding it again results in incorrect results. So disregard the modulo\noffset from the calculation.\n\nFixes: 08cdac619c81 (\"arm64: relocatable: deal with physically misaligned ...\")\nReviewed-by: Catalin Marinas <catalin.marinas@arm.com>\nTested-by: Catalin Marinas <catalin.marinas@arm.com>\nSigned-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>\nSigned-off-by: Will Deacon <will.deacon@arm.com>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/4a23e56ad6549d0b8c0fac6d9eb752884379c391"},{"sha":"a067d94d37ed590fd17684d18c3edf52110d305a","author":{"name":"Catalin Marinas","email":"6aa257b0f6444d48b36b727fdf3f5c1074b85fd0@arm.com"},"message":"arm64: kaslr: Adjust the offset to avoid Image across alignment boundary\n\nWith 16KB pages and a kernel Image larger than 16MB, the current\nkaslr_early_init() logic for avoiding mappings across swapper table\nboundaries fails since increasing the offset by kimg_sz just moves the\nproblem to the next boundary.\n\nThis patch rounds the offset down to (1 << SWAPPER_TABLE_SHIFT) if the\nImage crosses a PMD_SIZE boundary.\n\nFixes: afd0e5a87670 (\"arm64: kaslr: Fix up the kernel image alignment\")\nCc: Ard Biesheuvel <ard.biesheuvel@linaro.org>\nCc: Mark Rutland <mark.rutland@arm.com>\nCc: Will Deacon <will.deacon@arm.com>\nCc: Neeraj Upadhyay <neeraju@codeaurora.org>\nSigned-off-by: Catalin Marinas <catalin.marinas@arm.com>\nSigned-off-by: Will Deacon <will.deacon@arm.com>","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/a067d94d37ed590fd17684d18c3edf52110d305a"},{"sha":"a67ca1e9bd07c05548bf7c2d6f065ca9db11e9bf","author":{"name":"Linus Torvalds","email":"ead7104581934751970e9decb2db5deb20a9e407@linux-foundation.org"},"message":"Merge tag 'gpio-v4.13-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio\n\nPull GPIO fixes from Linus Walleij:\n \"Here are the (hopefully) last GPIO fixes for v4.13:\n\n   - an important core fix to reject invalid GPIOs *before* trying to\n     obtain a GPIO descriptor for it.\n\n   - a driver fix for the mvebu driver IRQ handling\"\n\n* tag 'gpio-v4.13-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:\n  gpio: mvebu: Fix cause computation in irq handler\n  gpio: reject invalid gpio before getting gpio_desc","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/a67ca1e9bd07c05548bf7c2d6f065ca9db11e9bf"},{"sha":"2acf097f16abba684012cca670a61d94178bd1ab","author":{"name":"Linus Torvalds","email":"ead7104581934751970e9decb2db5deb20a9e407@linux-foundation.org"},"message":"Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux\n\nPull arm64 fixes from Will Deacon:\n \"Late arm64 fixes.\n\n  They fix very early boot failures with KASLR where the early mapping\n  of the kernel is incorrect, so the failure mode looks like a hang with\n  no output. There's also a signal-handling fix when a uaccess routine\n  faults with a fatal signal pending, which could be used to create\n  unkillable user tasks using userfaultfd and finally a state leak fix\n  for the floating pointer registers across a call to exec().\n\n  We're still seeing some random issues crop up (inode memory corruption\n  and spinlock recursion) but we've not managed to reproduce things\n  reliably enough to debug or bisect them yet.\n\n  Summary:\n\n   - Fix very early boot failures with KASLR enabled\n\n   - Fix fatal signal handling on userspace access from kernel\n\n   - Fix leakage of floating point register state across exec()\"\n\n* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:\n  arm64: kaslr: Adjust the offset to avoid Image across alignment boundary\n  arm64: kaslr: ignore modulo offset when validating virtual displacement\n  arm64: mm: abort uaccess retries upon fatal signal\n  arm64: fpsimd: Prevent registers leaking across exec","distinct":true,"url":"https://api.github.com/repos/torvalds/linux/commits/2acf097f16abba684012cca670a61d94178bd1ab"}]}
{"actor":{"display_login":"torvalds"}}