Skip to content
Snippets Groups Projects
  1. May 14, 2021
    • Michael Ellerman's avatar
      powerpc/64s: Fix entry flush patching w/strict RWX & hash · 49b39ec2
      Michael Ellerman authored
      
      The entry flush mitigation can be enabled/disabled at runtime. When this
      happens it results in the kernel patching its own instructions to
      enable/disable the mitigation sequence.
      
      With strict kernel RWX enabled instruction patching happens via a
      secondary mapping of the kernel text, so that we don't have to make the
      primary mapping writable. With the hash MMU this leads to a hash fault,
      which causes us to execute the exception entry which contains the entry
      flush mitigation.
      
      This means we end up executing the entry flush in a semi-patched state,
      ie. after we have patched the first instruction but before we patch the
      second or third instruction of the sequence.
      
      On machines with updated firmware the entry flush is a series of special
      nops, and it's safe to to execute in a semi-patched state.
      
      However when using the fallback flush the sequence is mflr/branch/mtlr,
      and so it's not safe to execute if we have patched out the mflr but not
      the other two instructions. Doing so leads to us corrputing LR, leading
      to an oops, for example:
      
        # echo 0 > /sys/kernel/debug/powerpc/entry_flush
        kernel tried to execute exec-protected page (c000000002971000) - exploit attempt? (uid: 0)
        BUG: Unable to handle kernel instruction fetch
        Faulting instruction address: 0xc000000002971000
        Oops: Kernel access of bad area, sig: 11 [#1]
        LE PAGE_SIZE=64K MMU=Hash SMP NR_CPUS=2048 NUMA pSeries
        CPU: 0 PID: 2215 Comm: bash Not tainted 5.13.0-rc1-00010-gda3bb206c9ce #1
        NIP:  c000000002971000 LR: c000000002971000 CTR: c000000000120c40
        REGS: c000000013243840 TRAP: 0400   Not tainted  (5.13.0-rc1-00010-gda3bb206c9ce)
        MSR:  8000000010009033 <SF,EE,ME,IR,DR,RI,LE>  CR: 48428482  XER: 00000000
        ...
        NIP  0xc000000002971000
        LR   0xc000000002971000
        Call Trace:
          do_patch_instruction+0xc4/0x340 (unreliable)
          do_entry_flush_fixups+0x100/0x3b0
          entry_flush_set+0x50/0xe0
          simple_attr_write+0x160/0x1a0
          full_proxy_write+0x8c/0x110
          vfs_write+0xf0/0x340
          ksys_write+0x84/0x140
          system_call_exception+0x164/0x2d0
          system_call_common+0xec/0x278
      
      The simplest fix is to change the order in which we patch the
      instructions, so that the sequence is always safe to execute. For the
      non-fallback flushes it doesn't matter what order we patch in.
      
      Fixes: bd573a81 ("powerpc/mm/64s: Allow STRICT_KERNEL_RWX again")
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://lore.kernel.org/r/20210513140800.1391706-1-mpe@ellerman.id.au
      49b39ec2
    • Michael Ellerman's avatar
      powerpc/64s: Fix crashes when toggling entry flush barrier · aec86b05
      Michael Ellerman authored
      
      The entry flush mitigation can be enabled/disabled at runtime via a
      debugfs file (entry_flush), which causes the kernel to patch itself to
      enable/disable the relevant mitigations.
      
      However depending on which mitigation we're using, it may not be safe to
      do that patching while other CPUs are active. For example the following
      crash:
      
        sleeper[15639]: segfault (11) at c000000000004c20 nip c000000000004c20 lr c000000000004c20
      
      Shows that we returned to userspace with a corrupted LR that points into
      the kernel, due to executing the partially patched call to the fallback
      entry flush (ie. we missed the LR restore).
      
      Fix it by doing the patching under stop machine. The CPUs that aren't
      doing the patching will be spinning in the core of the stop machine
      logic. That is currently sufficient for our purposes, because none of
      the patching we do is to that code or anywhere in the vicinity.
      
      Fixes: f7964378 ("powerpc/64s: flush L1D on kernel entry")
      Cc: stable@vger.kernel.org # v5.10+
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://lore.kernel.org/r/20210506044959.1298123-2-mpe@ellerman.id.au
      aec86b05
    • Michael Ellerman's avatar
      powerpc/64s: Fix crashes when toggling stf barrier · 8ec7791b
      Michael Ellerman authored
      
      The STF (store-to-load forwarding) barrier mitigation can be
      enabled/disabled at runtime via a debugfs file (stf_barrier), which
      causes the kernel to patch itself to enable/disable the relevant
      mitigations.
      
      However depending on which mitigation we're using, it may not be safe to
      do that patching while other CPUs are active. For example the following
      crash:
      
        User access of kernel address (c00000003fff5af0) - exploit attempt? (uid: 0)
        segfault (11) at c00000003fff5af0 nip 7fff8ad12198 lr 7fff8ad121f8 code 1
        code: 40820128 e93c00d0 e9290058 7c292840 40810058 38600000 4bfd9a81 e8410018
        code: 2c030006 41810154 3860ffb6 e9210098 <e94d8ff0> 7d295279 39400000 40820a3c
      
      Shows that we returned to userspace without restoring the user r13
      value, due to executing the partially patched STF exit code.
      
      Fix it by doing the patching under stop machine. The CPUs that aren't
      doing the patching will be spinning in the core of the stop machine
      logic. That is currently sufficient for our purposes, because none of
      the patching we do is to that code or anywhere in the vicinity.
      
      Fixes: a048a07d ("powerpc/64s: Add support for a store forwarding barrier at kernel entry/exit")
      Cc: stable@vger.kernel.org # v4.17+
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://lore.kernel.org/r/20210506044959.1298123-1-mpe@ellerman.id.au
      8ec7791b
  2. May 12, 2021
  3. May 07, 2021
    • Masahiro Yamada's avatar
      treewide: remove editor modelines and cruft · fa60ce2c
      Masahiro Yamada authored
      The section "19) Editor modelines and other cruft" in
      Documentation/process/coding-style.rst clearly says, "Do not include any
      of these in source files."
      
      I recently receive a patch to explicitly add a new one.
      
      Let's do treewide cleanups, otherwise some people follow the existing code
      and attempt to upstream their favoriate editor setups.
      
      It is even nicer if scripts/checkpatch.pl can check it.
      
      If we like to impose coding style in an editor-independent manner, I think
      editorconfig (patch [1]) is a saner solution.
      
      [1] https://lore.kernel.org/lkml/20200703073143.423557-1-danny@kdrag0n.dev/
      
      Link: https://lkml.kernel.org/r/20210324054457.1477489-1-masahiroy@kernel.org
      
      
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Acked-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Reviewed-by: Miguel Ojeda <ojeda@kernel.org>	[auxdisplay]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fa60ce2c
    • Maninder Singh's avatar
      arm: print alloc free paths for address in registers · 5aa6b70e
      Maninder Singh authored
      In case of a use after free kernel oops, the freeing path of the object
      is required to debug futher.  In most of cases the object address is
      present in one of the registers.
      
      Thus check the register's address and if it belongs to slab, print its
      alloc and free path.
      
      e.g. in the below issue register r6 belongs to slab, and a use after
      free issue occurred on one of its dereferenced values:
      
        Unable to handle kernel paging request at virtual address 6b6b6b6f
        ....
        pc : [<c0538afc>]    lr : [<c0465674>]    psr: 60000013
        sp : c8927d40  ip : ffffefff  fp : c8aa8020
        r10: c8927e10  r9 : 00000001  r8 : 00400cc0
        r7 : 00000000  r6 : c8ab0180  r5 : c1804a80  r4 : c8aa8008
        r3 : c1a5661c  r2 : 00000000  r1 : 6b6b6b6b  r0 : c139bf48
        .....
        Register r6 information: slab kmalloc-64 start c8ab0140 data offset 64 pointer offset 0 size 64 allocated at meminfo_proc_show+0x40/0x4fc
            meminfo_proc_show+0x40/0x4fc
            seq_read_iter+0x18c/0x4c4
            proc_reg_read_iter+0x84/0xac
            generic_file_splice_read+0xe8/0x17c
            splice_direct_to_actor+0xb8/0x290
            do_splice_direct+0xa0/0xe0
            do_sendfile+0x2d0/0x438
            sys_sendfile64+0x12c/0x140
            ret_fast_syscall+0x0/0x58
            0xbeeacde4
         Free path:
            meminfo_proc_show+0x5c/0x4fc
            seq_read_iter+0x18c/0x4c4
            proc_reg_read_iter+0x84/0xac
            generic_file_splice_read+0xe8/0x17c
            splice_direct_to_actor+0xb8/0x290
            do_splice_direct+0xa0/0xe0
            do_sendfile+0x2d0/0x438
            sys_sendfile64+0x12c/0x140
            ret_fast_syscall+0x0/0x58
            0xbeeacde4
      
      Link: https://lkml.kernel.org/r/1615891032-29160-3-git-send-email-maninder1.s@samsung.com
      
      
      Co-developed-by: default avatarVaneet Narang <v.narang@samsung.com>
      Signed-off-by: default avatarVaneet Narang <v.narang@samsung.com>
      Signed-off-by: default avatarManinder Singh <maninder1.s@samsung.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Christoph Lameter <cl@linux.com>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Dmitry Safonov <0x7f454c46@gmail.com>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: Paul E. McKenney <paulmck@kernel.org>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5aa6b70e
    • David Hildenbrand's avatar
      mm: remove xlate_dev_kmem_ptr() · f2e762ba
      David Hildenbrand authored
      Since /dev/kmem has been removed, let's remove the xlate_dev_kmem_ptr()
      leftovers.
      
      Link: https://lkml.kernel.org/r/20210324102351.6932-3-david@redhat.com
      
      
      Signed-off-by: default avatarDavid Hildenbrand <david@redhat.com>
      Acked-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Brian Cain <bcain@codeaurora.org>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
      Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
      Cc: Helge Deller <deller@gmx.de>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Heiko Carstens <hca@linux.ibm.com>
      Cc: Vasily Gorbik <gor@linux.ibm.com>
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Rich Felker <dalias@libc.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: David Hildenbrand <david@redhat.com>
      Cc: Krzysztof Kozlowski <krzk@kernel.org>
      Cc: Mikulas Patocka <mpatocka@redhat.com>
      Cc: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
      Cc: Mike Rapoport <rppt@kernel.org>
      Cc: Palmer Dabbelt <palmerdabbelt@google.com>
      Cc: Luis Chamberlain <mcgrof@kernel.org>
      Cc: Greentime Hu <green.hu@gmail.com>
      Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
      Cc: "Peter Zijlstra (Intel)" <peterz@infradead.org>
      Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
      Cc: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
      Cc: Niklas Schnelle <schnelle@linux.ibm.com>
      Cc: Pierre Morel <pmorel@linux.ibm.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f2e762ba
    • David Hildenbrand's avatar
      drivers/char: remove /dev/kmem for good · bbcd53c9
      David Hildenbrand authored
      Patch series "drivers/char: remove /dev/kmem for good".
      
      Exploring /dev/kmem and /dev/mem in the context of memory hot(un)plug and
      memory ballooning, I started questioning the existence of /dev/kmem.
      
      Comparing it with the /proc/kcore implementation, it does not seem to be
      able to deal with things like
      
      a) Pages unmapped from the direct mapping (e.g., to be used by secretmem)
        -> kern_addr_valid(). virt_addr_valid() is not sufficient.
      
      b) Special cases like gart aperture memory that is not to be touched
        -> mem_pfn_is_ram()
      
      Unless I am missing something, it's at least broken in some cases and might
      fault/crash the machine.
      
      Looks like its existence has been questioned before in 2005 and 2010 [1],
      after ~11 additional years, it might make sense to revive the discussion.
      
      CONFIG_DEVKMEM is only enabled in a single defconfig (on purpose or by
      mistake?).  All distributions disable it: in Ubuntu it has been disabled
      for more than 10 years, in Debian since 2.6.31, in Fedora at least
      starting with FC3, in RHEL starting with RHEL4, in SUSE starting from
      15sp2, and OpenSUSE has it disabled as well.
      
      1) /dev/kmem was popular for rootkits [2] before it got disabled
         basically everywhere. Ubuntu documents [3] "There is no modern user of
         /dev/kmem any more beyond attackers using it to load kernel rootkits.".
         RHEL documents in a BZ [5] "it served no practical purpose other than to
         serve as a potential security problem or to enable binary module drivers
         to access structures/functions they shouldn't be touching"
      
      2) /proc/kcore is a decent interface to have a controlled way to read
         kernel memory for debugging puposes. (will need some extensions to
         deal with memory offlining/unplug, memory ballooning, and poisoned
         pages, though)
      
      3) It might be useful for corner case debugging [1]. KDB/KGDB might be a
         better fit, especially, to write random memory; harder to shoot
         yourself into the foot.
      
      4) "Kernel Memory Editor" [4] hasn't seen any updates since 2000 and seems
         to be incompatible with 64bit [1]. For educational purposes,
         /proc/kcore might be used to monitor value updates -- or older
         kernels can be used.
      
      5) It's broken on arm64, and therefore, completely disabled there.
      
      Looks like it's essentially unused and has been replaced by better
      suited interfaces for individual tasks (/proc/kcore, KDB/KGDB). Let's
      just remove it.
      
      [1] https://lwn.net/Articles/147901/
      [2] https://www.linuxjournal.com/article/10505
      [3] https://wiki.ubuntu.com/Security/Features#A.2Fdev.2Fkmem_disabled
      [4] https://sourceforge.net/projects/kme/
      [5] https://bugzilla.redhat.com/show_bug.cgi?id=154796
      
      Link: https://lkml.kernel.org/r/20210324102351.6932-1-david@redhat.com
      Link: https://lkml.kernel.org/r/20210324102351.6932-2-david@redhat.com
      
      
      Signed-off-by: default avatarDavid Hildenbrand <david@redhat.com>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Acked-by: default avatarKees Cook <keescook@chromium.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: "Alexander A. Klimov" <grandmaster@al2klimov.de>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
      Cc: Andrew Lunn <andrew@lunn.ch>
      Cc: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Brian Cain <bcain@codeaurora.org>
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
      Cc: Chris Zankel <chris@zankel.net>
      Cc: Corentin Labbe <clabbe@baylibre.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
      Cc: Greentime Hu <green.hu@gmail.com>
      Cc: Gregory Clement <gregory.clement@bootlin.com>
      Cc: Heiko Carstens <hca@linux.ibm.com>
      Cc: Helge Deller <deller@gmx.de>
      Cc: Hillf Danton <hdanton@sina.com>
      Cc: huang ying <huang.ying.caritas@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
      Cc: James Troup <james.troup@canonical.com>
      Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
      Cc: Jonas Bonn <jonas@southpole.se>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Kairui Song <kasong@redhat.com>
      Cc: Krzysztof Kozlowski <krzk@kernel.org>
      Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Cc: Liviu Dudau <liviu.dudau@arm.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
      Cc: Luis Chamberlain <mcgrof@kernel.org>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Max Filippov <jcmvbkbc@gmail.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Mike Rapoport <rppt@kernel.org>
      Cc: Mikulas Patocka <mpatocka@redhat.com>
      Cc: Minchan Kim <minchan@kernel.org>
      Cc: Niklas Schnelle <schnelle@linux.ibm.com>
      Cc: Oleksiy Avramchenko <oleksiy.avramchenko@sonymobile.com>
      Cc: openrisc@lists.librecores.org
      Cc: Palmer Dabbelt <palmerdabbelt@google.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: "Pavel Machek (CIP)" <pavel@denx.de>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: "Peter Zijlstra (Intel)" <peterz@infradead.org>
      Cc: Pierre Morel <pmorel@linux.ibm.com>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Rich Felker <dalias@libc.org>
      Cc: Robert Richter <rric@kernel.org>
      Cc: Rob Herring <robh@kernel.org>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
      Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
      Cc: sparclinux@vger.kernel.org
      Cc: Stafford Horne <shorne@gmail.com>
      Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Sudeep Holla <sudeep.holla@arm.com>
      Cc: Theodore Dubois <tblodt@icloud.com>
      Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Vasily Gorbik <gor@linux.ibm.com>
      Cc: Viresh Kumar <viresh.kumar@linaro.org>
      Cc: William Cohen <wcohen@redhat.com>
      Cc: Xiaoming Ni <nixiaoming@huawei.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      bbcd53c9
    • Yury Norov's avatar
      arch: rearrange headers inclusion order in asm/bitops for m68k, sh and h8300 · bb8bc36e
      Yury Norov authored
      m68k and sh include bitmap/{find,le}.h prior to ffs/fls headers.  New
      fast-path implementation in find.h requires ffs/fls.  Reordering the
      headers inclusion sequence helps to prevent compile-time implicit function
      declaration error.
      
      [yury.norov@gmail.com: h8300: rearrange headers inclusion order in asm/bitops]
        Link: https://lkml.kernel.org/r/20210406183625.794227-1-yury.norov@gmail.com
      
      Link: https://lkml.kernel.org/r/20210401003153.97325-5-yury.norov@gmail.com
      
      
      Signed-off-by: default avatarYury Norov <yury.norov@gmail.com>
      Acked-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: default avatarRasmus Villemoes <linux@rasmusvillemoes.dk>
      Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Cc: Alexey Klimov <aklimov@redhat.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: David Sterba <dsterba@suse.com>
      Cc: Dennis Zhou <dennis@kernel.org>
      Cc: Jianpeng Ma <jianpeng.ma@intel.com>
      Cc: Joe Perches <joe@perches.com>
      Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
      Cc: Josh Poimboeuf <jpoimboe@redhat.com>
      Cc: Rich Felker <dalias@libc.org>
      Cc: Stefano Brivio <sbrivio@redhat.com>
      Cc: Wei Yang <richard.weiyang@linux.alibaba.com>
      Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
      Cc: Yoshinori Sato <ysato@users.osdn.me>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      bb8bc36e
    • Randy Dunlap's avatar
      alpha: csum_partial_copy.c: add function prototypes from <net/checksum.h> · 0214967a
      Randy Dunlap authored
      Fix "no previous prototype" W=1 warnings from the kernel test robot:
      
        arch/alpha/lib/csum_partial_copy.c:349:1: error: no previous prototype for 'csum_and_copy_from_user' [-Werror=missing-prototypes]
        349 | csum_and_copy_from_user(const void __user *src, void *dst, int len)
            | ^~~~~~~~~~~~~~~~~~~~~~~
        arch/alpha/lib/csum_partial_copy.c:358:1: error: no previous prototype for 'csum_partial_copy_nocheck' [-Werror=missing-prototypes]
        358 | csum_partial_copy_nocheck(const void *src, void *dst, int len)
            | ^~~~~~~~~~~~~~~~~~~~~~~~~
      
      Link: https://lkml.kernel.org/r/20210425235749.19113-1-rdunlap@infradead.org
      
      
      Fixes: 808b49da ("alpha: turn csum_partial_copy_from_user() into csum_and_copy_from_user()")
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Matt Turner <mattst88@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0214967a
    • Randy Dunlap's avatar
      alpha: eliminate old-style function definitions · 543203d2
      Randy Dunlap authored
      'make ARCH=alpha W=1' reports a couple of old-style function
      definitions with missing parameter list, so fix those.
      
        arch/alpha/kernel/pc873xx.c: In function 'pc873xx_get_base':
        arch/alpha/kernel/pc873xx.c:16:21: warning: old-style function definition [-Wold-style-definition]
         16 | unsigned int __init pc873xx_get_base()
      
        arch/alpha/kernel/pc873xx.c: In function 'pc873xx_get_model':
        arch/alpha/kernel/pc873xx.c:21:14: warning: old-style function definition [-Wold-style-definition]
         21 | char *__init pc873xx_get_model()
      
      Link: https://lkml.kernel.org/r/20210421061312.30097-1-rdunlap@infradead.org
      
      
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Matt Turner <mattst88@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      543203d2
  4. May 06, 2021
  5. May 05, 2021
Loading