30 Dec, 2020

2 commits

  • [ Upstream commit 10199e90ee20e68859f8128331ec8d85b036d349 ]

    The behaviour of the IOP firmware is not well documented but we do know
    that IOP message reply data can be used to issue new ADB commands.
    Use the message reply to better control autopoll behaviour by sending
    a Talk Register 0 command after every ADB response, not unlike the
    algorithm in the via-macii driver. This poll command is addressed to
    that device which last received a Talk command (explicit or otherwise).

    Cc: Joshua Thompson
    Fixes: 32226e817043 ("macintosh/adb-iop: Implement idle -> sending state transition")
    Tested-by: Stan Johnson
    Signed-off-by: Finn Thain
    Link: https://lore.kernel.org/r/58bba4310da4c29b068345a4b36af8a531397ff7.1605847196.git.fthain@telegraphics.com.au
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Sasha Levin

    Finn Thain
     
  • [ Upstream commit 2c9cfbadfa234b03473f1ef54e6f4772cc07a371 ]

    A recent patch incorrectly altered the adb-iop state machine behaviour
    and introduced a regression that can appear intermittently as a
    malfunctioning ADB input device. This seems to be caused when reply
    packets from different ADB commands become mixed up, especially during
    the adb bus scan. Fix this by unconditionally entering the awaiting_reply
    state after sending an explicit command, even when the ADB command won't
    generate a reply from the ADB device.

    It turns out that the IOP always generates reply messages, even when the
    ADB command does not produce a reply packet (e.g. ADB Listen command).
    So it's not really the ADB reply packets that are being mixed up, it's the
    IOP messages that enclose them. The bug goes like this:

    1. CPU sends a message to the IOP, expecting no response because this
    message contains an ADB Listen command. The ADB command is now
    considered complete.

    2. CPU sends a second message to the IOP, this time expecting a
    response because this message contains an ADB Talk command. This
    ADB command needs a reply before it can be completed.

    3. adb-iop driver receives an IOP message and assumes that it relates
    to the Talk command. It's actually an empty one (with flags ==
    ADB_IOP_EXPLICIT|ADB_IOP_TIMEOUT) for the previous command. The
    Talk command is now considered complete but it gets the wrong reply
    data.

    4. adb-iop driver gets another IOP response message, which contains
    the actual reply data for the Talk command, but this is dropped
    (the driver is no longer in awaiting_reply state).

    Cc: Joshua Thompson
    Fixes: e2954e5f727f ("macintosh/adb-iop: Implement sending -> idle state transition")
    Tested-by: Stan Johnson
    Signed-off-by: Finn Thain
    Link: https://lore.kernel.org/r/0f0a25855391e7eaa53a50f651aea0124e8525dd.1605847196.git.fthain@telegraphics.com.au
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Sasha Levin

    Finn Thain
     

17 Oct, 2020

1 commit

  • Pull powerpc updates from Michael Ellerman:

    - A series from Nick adding ARCH_WANT_IRQS_OFF_ACTIVATE_MM & selecting
    it for powerpc, as well as a related fix for sparc.

    - Remove support for PowerPC 601.

    - Some fixes for watchpoints & addition of a new ptrace flag for
    detecting ISA v3.1 (Power10) watchpoint features.

    - A fix for kernels using 4K pages and the hash MMU on bare metal
    Power9 systems with > 16TB of RAM, or RAM on the 2nd node.

    - A basic idle driver for shallow stop states on Power10.

    - Tweaks to our sched domains code to better inform the scheduler about
    the hardware topology on Power9/10, where two SMT4 cores can be
    presented by firmware as an SMT8 core.

    - A series doing further reworks & cleanups of our EEH code.

    - Addition of a filter for RTAS (firmware) calls done via sys_rtas(),
    to prevent root from overwriting kernel memory.

    - Other smaller features, fixes & cleanups.

    Thanks to: Alexey Kardashevskiy, Andrew Donnellan, Aneesh Kumar K.V,
    Athira Rajeev, Biwen Li, Cameron Berkenpas, Cédric Le Goater, Christophe
    Leroy, Christoph Hellwig, Colin Ian King, Daniel Axtens, David Dai, Finn
    Thain, Frederic Barrat, Gautham R. Shenoy, Greg Kurz, Gustavo Romero,
    Ira Weiny, Jason Yan, Joel Stanley, Jordan Niethe, Kajol Jain, Konrad
    Rzeszutek Wilk, Laurent Dufour, Leonardo Bras, Liu Shixin, Luca
    Ceresoli, Madhavan Srinivasan, Mahesh Salgaonkar, Nathan Lynch, Nicholas
    Mc Guire, Nicholas Piggin, Nick Desaulniers, Oliver O'Halloran, Pedro
    Miraglia Franco de Carvalho, Pratik Rajesh Sampat, Qian Cai, Qinglang
    Miao, Ravi Bangoria, Russell Currey, Satheesh Rajendran, Scott Cheloha,
    Segher Boessenkool, Srikar Dronamraju, Stan Johnson, Stephen Kitt,
    Stephen Rothwell, Thiago Jung Bauermann, Tyrel Datwyler, Vaibhav Jain,
    Vaidyanathan Srinivasan, Vasant Hegde, Wang Wensheng, Wolfram Sang, Yang
    Yingliang, zhengbin.

    * tag 'powerpc-5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (228 commits)
    Revert "powerpc/pci: unmap legacy INTx interrupts when a PHB is removed"
    selftests/powerpc: Fix eeh-basic.sh exit codes
    cpufreq: powernv: Fix frame-size-overflow in powernv_cpufreq_reboot_notifier
    powerpc/time: Make get_tb() common to PPC32 and PPC64
    powerpc/time: Make get_tbl() common to PPC32 and PPC64
    powerpc/time: Remove get_tbu()
    powerpc/time: Avoid using get_tbl() and get_tbu() internally
    powerpc/time: Make mftb() common to PPC32 and PPC64
    powerpc/time: Rename mftbl() to mftb()
    powerpc/32s: Remove #ifdef CONFIG_PPC_BOOK3S_32 in head_book3s_32.S
    powerpc/32s: Rename head_32.S to head_book3s_32.S
    powerpc/32s: Setup the early hash table at all time.
    powerpc/time: Remove ifdef in get_dec() and set_dec()
    powerpc: Remove get_tb_or_rtc()
    powerpc: Remove __USE_RTC()
    powerpc: Tidy up a bit after removal of PowerPC 601.
    powerpc: Remove support for PowerPC 601
    powerpc: Remove PowerPC 601
    powerpc: Drop SYNC_601() ISYNC_601() and SYNC()
    powerpc: Remove CONFIG_PPC601_SYNC_FIX
    ...

    Linus Torvalds
     

18 Sep, 2020

2 commits


16 Sep, 2020

1 commit


15 Sep, 2020

1 commit


02 Sep, 2020

1 commit


24 Aug, 2020

1 commit

  • Replace the existing /* fall through */ comments and its variants with
    the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary
    fall-through markings when it is the case.

    [1] https://www.kernel.org/doc/html/v5.7/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through

    Signed-off-by: Gustavo A. R. Silva

    Gustavo A. R. Silva
     

08 Aug, 2020

1 commit

  • Pull powerpc updates from Michael Ellerman:

    - Add support for (optionally) using queued spinlocks & rwlocks.

    - Support for a new faster system call ABI using the scv instruction on
    Power9 or later.

    - Drop support for the PROT_SAO mmap/mprotect flag as it will be
    unsupported on Power10 and future processors, leaving us with no way
    to implement the functionality it requests. This risks breaking
    userspace, though we believe it is unused in practice.

    - A bug fix for, and then the removal of, our custom stack expansion
    checking. We now allow stack expansion up to the rlimit, like other
    architectures.

    - Remove the remnants of our (previously disabled) topology update
    code, which tried to react to NUMA layout changes on virtualised
    systems, but was prone to crashes and other problems.

    - Add PMU support for Power10 CPUs.

    - A change to our signal trampoline so that we don't unbalance the link
    stack (branch return predictor) in the signal delivery path.

    - Lots of other cleanups, refactorings, smaller features and so on as
    usual.

    Thanks to: Abhishek Goel, Alastair D'Silva, Alexander A. Klimov, Alexey
    Kardashevskiy, Alistair Popple, Andrew Donnellan, Aneesh Kumar K.V, Anju
    T Sudhakar, Anton Blanchard, Arnd Bergmann, Athira Rajeev, Balamuruhan
    S, Bharata B Rao, Bill Wendling, Bin Meng, Cédric Le Goater, Chris
    Packham, Christophe Leroy, Christoph Hellwig, Daniel Axtens, Dan
    Williams, David Lamparter, Desnes A. Nunes do Rosario, Erhard F., Finn
    Thain, Frederic Barrat, Ganesh Goudar, Gautham R. Shenoy, Geoff Levand,
    Greg Kurz, Gustavo A. R. Silva, Hari Bathini, Harish, Imre Kaloz, Joel
    Stanley, Joe Perches, John Crispin, Jordan Niethe, Kajol Jain, Kamalesh
    Babulal, Kees Cook, Laurent Dufour, Leonardo Bras, Li RongQing, Madhavan
    Srinivasan, Mahesh Salgaonkar, Mark Cave-Ayland, Michal Suchanek, Milton
    Miller, Mimi Zohar, Murilo Opsfelder Araujo, Nathan Chancellor, Nathan
    Lynch, Naveen N. Rao, Nayna Jain, Nicholas Piggin, Oliver O'Halloran,
    Palmer Dabbelt, Pedro Miraglia Franco de Carvalho, Philippe Bergheaud,
    Pingfan Liu, Pratik Rajesh Sampat, Qian Cai, Qinglang Miao, Randy
    Dunlap, Ravi Bangoria, Sachin Sant, Sam Bobroff, Sandipan Das, Santosh
    Sivaraj, Satheesh Rajendran, Shirisha Ganta, Sourabh Jain, Srikar
    Dronamraju, Stan Johnson, Stephen Rothwell, Thadeu Lima de Souza
    Cascardo, Thiago Jung Bauermann, Tom Lane, Vaibhav Jain, Vladis Dronov,
    Wei Yongjun, Wen Xiong, YueHaibing.

    * tag 'powerpc-5.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (337 commits)
    selftests/powerpc: Fix pkey syscall redefinitions
    powerpc: Fix circular dependency between percpu.h and mmu.h
    powerpc/powernv/sriov: Fix use of uninitialised variable
    selftests/powerpc: Skip vmx/vsx/tar/etc tests on older CPUs
    powerpc/40x: Fix assembler warning about r0
    powerpc/papr_scm: Add support for fetching nvdimm 'fuel-gauge' metric
    powerpc/papr_scm: Fetch nvdimm performance stats from PHYP
    cpuidle: pseries: Fixup exit latency for CEDE(0)
    cpuidle: pseries: Add function to parse extended CEDE records
    cpuidle: pseries: Set the latency-hint before entering CEDE
    selftests/powerpc: Fix online CPU selection
    powerpc/perf: Consolidate perf_callchain_user_[64|32]()
    powerpc/pseries/hotplug-cpu: Remove double free in error path
    powerpc/pseries/mobility: Add pr_debug() for device tree changes
    powerpc/pseries/mobility: Set pr_fmt()
    powerpc/cacheinfo: Warn if cache object chain becomes unordered
    powerpc/cacheinfo: Improve diagnostics about malformed cache lists
    powerpc/cacheinfo: Use name@unit instead of full DT path in debug messages
    powerpc/cacheinfo: Set pr_fmt()
    powerpc: fix function annotations to avoid section mismatch warnings with gcc-10
    ...

    Linus Torvalds
     

26 Jul, 2020

17 commits

  • The function prototype correctly specifies the 'static' storage class.
    Let the function definition match the declaration for better readability.

    Signed-off-by: Finn Thain
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/c025aed0b1506399b73ff1d1bfa40ed641fcb3e3.1593318192.git.fthain@telegraphics.com.au

    Finn Thain
     
  • The adb_request struct can be stored on the stack because the request
    is synchronous and is completed before the function returns.

    Signed-off-by: Finn Thain
    Tested-by: Stan Johnson
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/a40f80dde90991757007b6962c386a208c970586.1593318192.git.fthain@telegraphics.com.au

    Finn Thain
     
  • Signed-off-by: Finn Thain
    Tested-by: Stan Johnson
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/ca5be30ba745c08c2b7a1f0618f99c61b303e983.1593318192.git.fthain@telegraphics.com.au

    Finn Thain
     
  • Signed-off-by: Finn Thain
    Tested-by: Stan Johnson
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/779551219a11b19e574dfcd87e4ef60af08c4fc3.1593318192.git.fthain@telegraphics.com.au

    Finn Thain
     
  • Userspace applications may use /dev/adb to send Talk requests. Such
    requests always have req->reply_expected == 1. The same is true of Talk
    requests sent by the kernel, except for poll requests queued internally
    by the via-macii driver. Those requests have req->reply_expected == 0.

    Consequently, poll reply packets get treated like autopoll reply packets.
    (It doesn't make sense to try to distinguish them.) Always enter 'reading'
    state after a poll request, so that the reply gets collected and passed
    to adb_input(), and none go missing.

    All Talk replies passed to adb_input() come from polling or autopolling,
    so call adb_input() with the autopoll parameter set to 1.

    Fixes: d95fd5fce88f0 ("m68k: Mac II ADB fixes") # v5.0+
    Signed-off-by: Finn Thain
    Tested-by: Stan Johnson
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/754cddfa045e5bfa53e5da199831de02e7d2f27f.1593318192.git.fthain@telegraphics.com.au

    Finn Thain
     
  • The driver state machine may enter the 'read_done' state when leaving the
    'idle' or 'reading' state. This transition is pointless, as is the extra
    interrupt it requires. The interrupt is produced by the transceiver
    (even when it has no data to send) because an extra EVEN/ODD toggle
    was signalled by the driver. Drop the extra state to simplify the code.

    Fixes: 1da177e4c3f41 ("Linux-2.6.12-rc2") # v5.0+
    Signed-off-by: Finn Thain
    Tested-by: Stan Johnson
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/0253194363af4426f9788796811a6a29fb87c713.1593318192.git.fthain@telegraphics.com.au

    Finn Thain
     
  • I'm told that the /CTLR_IRQ signal from the ADB transceiver gets
    interpreted by MacOS to mean SRQ, bus timeout or end-of-packet depending
    on the circumstances, and that Linux's via-macii driver does not
    correctly interpret this signal.

    Instead, the via-macii driver interprets certain received byte values
    (0x00 and 0xFF) as signalling end of packet and bus timeout
    (respectively). Problem is, those values can also appear under other
    circumstances.

    This patch changes the bus timeout, end of packet and SRQ detection logic
    to bring it closer to the logic that MacOS reportedly uses.

    Fixes: 1da177e4c3f41 ("Linux-2.6.12-rc2") # v5.0+
    Reported-by: Mark Cave-Ayland
    Signed-off-by: Finn Thain
    Tested-by: Stan Johnson
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/6541fda1d8db3ae87c3abe17d189a10dc96e2382.1593318192.git.fthain@telegraphics.com.au

    Finn Thain
     
  • Poll the most recently polled device by default, rather than the lowest
    device address that happens to be enabled in autopoll_devs. This improves
    input latency. Re-use macii_queue_poll() rather than duplicate that logic.
    This eliminates a static struct and function.

    Fixes: d95fd5fce88f0 ("m68k: Mac II ADB fixes") # v5.0+
    Signed-off-by: Finn Thain
    Tested-by: Stan Johnson
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/5836f80886ebcfbe5be5fb7e0dc49feed6469712.1593318192.git.fthain@telegraphics.com.au

    Finn Thain
     
  • The interrupt handler should be excluded when accessing the autopoll_devs
    variable.

    Fixes: d95fd5fce88f0 ("m68k: Mac II ADB fixes") # v5.0+
    Signed-off-by: Finn Thain
    Tested-by: Stan Johnson
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/5952dd8a9bc9de90f1acc4790c51dd42b4c98065.1593318192.git.fthain@telegraphics.com.au

    Finn Thain
     
  • The adb_driver.autopoll method is needed during ADB bus scan and device
    address assignment. Implement this method so that the IOP's list of
    device addresses can be updated. When the list is empty, disable SRQ
    autopolling.

    Signed-off-by: Finn Thain
    Tested-by: Stan Johnson
    Acked-by: Geert Uytterhoeven
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/0fb7fdcd99d7820bb27faf1f27f7f6f1923914ef.1590880623.git.fthain@telegraphics.com.au

    Finn Thain
     
  • On leaving the 'sending' state, proceed to the 'idle' state if no reply is
    expected. Drop redundant test for adb_iop_state == sending && current_req.

    Signed-off-by: Finn Thain
    Tested-by: Stan Johnson
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/6991996dd4aaf0b52cfd650172bf0f6fbe37a452.1590880623.git.fthain@telegraphics.com.au

    Finn Thain
     
  • In the present algorithm, the 'idle' state transition does not take
    place until there's a bus timeout. Once idle, the driver does not
    automatically proceed with the next request.

    Change the algorithm so that queued ADB requests will be sent as soon as
    the driver becomes idle. This is to take place after the current IOP
    message is completed.

    Signed-off-by: Finn Thain
    Tested-by: Stan Johnson
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/dedcdfc62f43e85cc4c2a8d211a7e2fec7bc7c1a.1590880623.git.fthain@telegraphics.com.au

    Finn Thain
     
  • drivers/macintosh/adb-iop.c:215:28: warning: Using plain integer as NULL pointer
    drivers/macintosh/adb-iop.c:170:5: warning: symbol 'adb_iop_probe' was not declared. Should it be static?
    drivers/macintosh/adb-iop.c:177:5: warning: symbol 'adb_iop_init' was not declared. Should it be static?
    drivers/macintosh/adb-iop.c:184:5: warning: symbol 'adb_iop_send_request' was not declared. Should it be static?
    drivers/macintosh/adb-iop.c:230:5: warning: symbol 'adb_iop_autopoll' was not declared. Should it be static?
    drivers/macintosh/adb-iop.c:236:6: warning: symbol 'adb_iop_poll' was not declared. Should it be static?
    drivers/macintosh/adb-iop.c:241:5: warning: symbol 'adb_iop_reset_bus' was not declared. Should it be static?

    Signed-off-by: Finn Thain
    Tested-by: Stan Johnson
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/25edf4450abd20e002b166ba3a11189dc1efa906.1590880623.git.fthain@telegraphics.com.au

    Finn Thain
     
  • Drop the redundant local_irq_save/restore() from adb_iop_start() because
    the caller has to do it anyway. This is the pattern used in via-macii.

    Signed-off-by: Finn Thain
    Tested-by: Stan Johnson
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/bbe32b087c7e04d68e2425f6a2df4a414d167c32.1590880623.git.fthain@telegraphics.com.au

    Finn Thain
     
  • This algorithm is slightly shorter and avoids the surprising
    adb_iop_start() call in adb_iop_poll().

    Signed-off-by: Finn Thain
    Tested-by: Stan Johnson
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/b63d56ecb6e75f11a0bf02231f3b2db656a528a3.1590880623.git.fthain@telegraphics.com.au

    Finn Thain
     
  • This patch improves comment style and corrects some misunderstandings
    in the text.

    Signed-off-by: Finn Thain
    Tested-by: Stan Johnson
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/996f835d2f3d90baaaf9ee954e252d06e8886c6f.1590880623.git.fthain@telegraphics.com.au

    Finn Thain
     
  • Signed-off-by: Finn Thain
    Tested-by: Stan Johnson
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/7720ffb559c334504e16b24d9c2f3b8973d2d674.1590880623.git.fthain@telegraphics.com.au

    Finn Thain
     

21 Jul, 2020

2 commits

  • Rationale:
    Reduces attack surface on kernel devs opening the links for MITM
    as HTTPS traffic is much harder to manipulate.

    Deterministic algorithm:
    For each file:
    If not .svg:
    For each line:
    If doesn't contain `\bxmlns\b`:
    For each link, `\bhttp://[^# \t\r\n]*(?:\w|/)`:
    If neither `\bgnu\.org/license`, nor `\bmozilla\.org/MPL\b`:
    If both the HTTP and HTTPS versions
    return 200 OK and serve the same content:
    Replace HTTP with HTTPS.

    Signed-off-by: Alexander A. Klimov
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/20200717182940.75484-1-grandmaster@al2klimov.de

    Alexander A. Klimov
     
  • Rationale:
    Reduces attack surface on kernel devs opening the links for MITM
    as HTTPS traffic is much harder to manipulate.

    Deterministic algorithm:
    For each file:
    If not .svg:
    For each line:
    If doesn't contain `\bxmlns\b`:
    For each link, `\bhttp://[^# \t\r\n]*(?:\w|/)`:
    If neither `\bgnu\.org/license`, nor `\bmozilla\.org/MPL\b`:
    If both the HTTP and HTTPS versions
    return 200 OK and serve the same content:
    Replace HTTP with HTTPS.

    Signed-off-by: Alexander A. Klimov
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/20200717183522.77605-1-grandmaster@al2klimov.de

    Alexander A. Klimov
     

19 Jul, 2020

1 commit


14 Jun, 2020

1 commit

  • Since commit 84af7a6194e4 ("checkpatch: kconfig: prefer 'help' over
    '---help---'"), the number of '---help---' has been gradually
    decreasing, but there are still more than 2400 instances.

    This commit finishes the conversion. While I touched the lines,
    I also fixed the indentation.

    There are a variety of indentation styles found.

    a) 4 spaces + '---help---'
    b) 7 spaces + '---help---'
    c) 8 spaces + '---help---'
    d) 1 space + 1 tab + '---help---'
    e) 1 tab + '---help---' (correct indentation)
    f) 1 tab + 1 space + '---help---'
    g) 1 tab + 2 spaces + '---help---'

    In order to convert all of them to 1 tab + 'help', I ran the
    following commend:

    $ find . -name 'Kconfig*' | xargs sed -i 's/^[[:space:]]*---help---/\thelp/'

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

10 Jun, 2020

2 commits

  • The replacement of with made the include
    of the latter in the middle of asm includes. Fix this up with the aid of
    the below script and manual adjustments here and there.

    import sys
    import re

    if len(sys.argv) is not 3:
    print "USAGE: %s " % (sys.argv[0])
    sys.exit(1)

    hdr_to_move="#include " % sys.argv[2]
    moved = False
    in_hdrs = False

    with open(sys.argv[1], "r") as f:
    lines = f.readlines()
    for _line in lines:
    line = _line.rstrip('
    ')
    if line == hdr_to_move:
    continue
    if line.startswith("#include
    Cc: Geert Uytterhoeven
    Cc: Greentime Hu
    Cc: Greg Ungerer
    Cc: Guan Xuetao
    Cc: Guo Ren
    Cc: Heiko Carstens
    Cc: Helge Deller
    Cc: Ingo Molnar
    Cc: Ley Foon Tan
    Cc: Mark Salter
    Cc: Matthew Wilcox
    Cc: Matt Turner
    Cc: Max Filippov
    Cc: Michael Ellerman
    Cc: Michal Simek
    Cc: Nick Hu
    Cc: Paul Walmsley
    Cc: Richard Weinberger
    Cc: Rich Felker
    Cc: Russell King
    Cc: Stafford Horne
    Cc: Thomas Bogendoerfer
    Cc: Thomas Gleixner
    Cc: Tony Luck
    Cc: Vincent Chen
    Cc: Vineet Gupta
    Cc: Will Deacon
    Cc: Yoshinori Sato
    Link: http://lkml.kernel.org/r/20200514170327.31389-4-rppt@kernel.org
    Signed-off-by: Linus Torvalds

    Mike Rapoport
     
  • The include/linux/pgtable.h is going to be the home of generic page table
    manipulation functions.

    Start with moving asm-generic/pgtable.h to include/linux/pgtable.h and
    make the latter include asm/pgtable.h.

    Signed-off-by: Mike Rapoport
    Signed-off-by: Andrew Morton
    Cc: Arnd Bergmann
    Cc: Borislav Petkov
    Cc: Brian Cain
    Cc: Catalin Marinas
    Cc: Chris Zankel
    Cc: "David S. Miller"
    Cc: Geert Uytterhoeven
    Cc: Greentime Hu
    Cc: Greg Ungerer
    Cc: Guan Xuetao
    Cc: Guo Ren
    Cc: Heiko Carstens
    Cc: Helge Deller
    Cc: Ingo Molnar
    Cc: Ley Foon Tan
    Cc: Mark Salter
    Cc: Matthew Wilcox
    Cc: Matt Turner
    Cc: Max Filippov
    Cc: Michael Ellerman
    Cc: Michal Simek
    Cc: Nick Hu
    Cc: Paul Walmsley
    Cc: Richard Weinberger
    Cc: Rich Felker
    Cc: Russell King
    Cc: Stafford Horne
    Cc: Thomas Bogendoerfer
    Cc: Thomas Gleixner
    Cc: Tony Luck
    Cc: Vincent Chen
    Cc: Vineet Gupta
    Cc: Will Deacon
    Cc: Yoshinori Sato
    Link: http://lkml.kernel.org/r/20200514170327.31389-3-rppt@kernel.org
    Signed-off-by: Linus Torvalds

    Mike Rapoport
     

06 Jun, 2020

1 commit

  • Pull powerpc updates from Michael Ellerman:

    - Support for userspace to send requests directly to the on-chip GZIP
    accelerator on Power9.

    - Rework of our lockless page table walking (__find_linux_pte()) to
    make it safe against parallel page table manipulations without
    relying on an IPI for serialisation.

    - A series of fixes & enhancements to make our machine check handling
    more robust.

    - Lots of plumbing to add support for "prefixed" (64-bit) instructions
    on Power10.

    - Support for using huge pages for the linear mapping on 8xx (32-bit).

    - Remove obsolete Xilinx PPC405/PPC440 support, and an associated sound
    driver.

    - Removal of some obsolete 40x platforms and associated cruft.

    - Initial support for booting on Power10.

    - Lots of other small features, cleanups & fixes.

    Thanks to: Alexey Kardashevskiy, Alistair Popple, Andrew Donnellan,
    Andrey Abramov, Aneesh Kumar K.V, Balamuruhan S, Bharata B Rao, Bulent
    Abali, Cédric Le Goater, Chen Zhou, Christian Zigotzky, Christophe
    JAILLET, Christophe Leroy, Dmitry Torokhov, Emmanuel Nicolet, Erhard F.,
    Gautham R. Shenoy, Geoff Levand, George Spelvin, Greg Kurz, Gustavo A.
    R. Silva, Gustavo Walbon, Haren Myneni, Hari Bathini, Joel Stanley,
    Jordan Niethe, Kajol Jain, Kees Cook, Leonardo Bras, Madhavan
    Srinivasan., Mahesh Salgaonkar, Markus Elfring, Michael Neuling, Michal
    Simek, Nathan Chancellor, Nathan Lynch, Naveen N. Rao, Nicholas Piggin,
    Oliver O'Halloran, Paul Mackerras, Pingfan Liu, Qian Cai, Ram Pai,
    Raphael Moreira Zinsly, Ravi Bangoria, Sam Bobroff, Sandipan Das, Segher
    Boessenkool, Stephen Rothwell, Sukadev Bhattiprolu, Tyrel Datwyler,
    Wolfram Sang, Xiongfeng Wang.

    * tag 'powerpc-5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (299 commits)
    powerpc/pseries: Make vio and ibmebus initcalls pseries specific
    cxl: Remove dead Kconfig options
    powerpc: Add POWER10 architected mode
    powerpc/dt_cpu_ftrs: Add MMA feature
    powerpc/dt_cpu_ftrs: Enable Prefixed Instructions
    powerpc/dt_cpu_ftrs: Advertise support for ISA v3.1 if selected
    powerpc: Add support for ISA v3.1
    powerpc: Add new HWCAP bits
    powerpc/64s: Don't set FSCR bits in INIT_THREAD
    powerpc/64s: Save FSCR to init_task.thread.fscr after feature init
    powerpc/64s: Don't let DT CPU features set FSCR_DSCR
    powerpc/64s: Don't init FSCR_DSCR in __init_FSCR()
    powerpc/32s: Fix another build failure with CONFIG_PPC_KUAP_DEBUG
    powerpc/module_64: Use special stub for _mcount() with -mprofile-kernel
    powerpc/module_64: Simplify check for -mprofile-kernel ftrace relocations
    powerpc/module_64: Consolidate ftrace code
    powerpc/32: Disable KASAN with pages bigger than 16k
    powerpc/uaccess: Don't set KUEP by default on book3s/32
    powerpc/uaccess: Don't set KUAP by default on book3s/32
    powerpc/8xx: Reduce time spent in allow_user_access() and friends
    ...

    Linus Torvalds
     

04 Jun, 2020

1 commit

  • Pull networking updates from David Miller:

    1) Allow setting bluetooth L2CAP modes via socket option, from Luiz
    Augusto von Dentz.

    2) Add GSO partial support to igc, from Sasha Neftin.

    3) Several cleanups and improvements to r8169 from Heiner Kallweit.

    4) Add IF_OPER_TESTING link state and use it when ethtool triggers a
    device self-test. From Andrew Lunn.

    5) Start moving away from custom driver versions, use the globally
    defined kernel version instead, from Leon Romanovsky.

    6) Support GRO vis gro_cells in DSA layer, from Alexander Lobakin.

    7) Allow hard IRQ deferral during NAPI, from Eric Dumazet.

    8) Add sriov and vf support to hinic, from Luo bin.

    9) Support Media Redundancy Protocol (MRP) in the bridging code, from
    Horatiu Vultur.

    10) Support netmap in the nft_nat code, from Pablo Neira Ayuso.

    11) Allow UDPv6 encapsulation of ESP in the ipsec code, from Sabrina
    Dubroca. Also add ipv6 support for espintcp.

    12) Lots of ReST conversions of the networking documentation, from Mauro
    Carvalho Chehab.

    13) Support configuration of ethtool rxnfc flows in bcmgenet driver,
    from Doug Berger.

    14) Allow to dump cgroup id and filter by it in inet_diag code, from
    Dmitry Yakunin.

    15) Add infrastructure to export netlink attribute policies to
    userspace, from Johannes Berg.

    16) Several optimizations to sch_fq scheduler, from Eric Dumazet.

    17) Fallback to the default qdisc if qdisc init fails because otherwise
    a packet scheduler init failure will make a device inoperative. From
    Jesper Dangaard Brouer.

    18) Several RISCV bpf jit optimizations, from Luke Nelson.

    19) Correct the return type of the ->ndo_start_xmit() method in several
    drivers, it's netdev_tx_t but many drivers were using
    'int'. From Yunjian Wang.

    20) Add an ethtool interface for PHY master/slave config, from Oleksij
    Rempel.

    21) Add BPF iterators, from Yonghang Song.

    22) Add cable test infrastructure, including ethool interfaces, from
    Andrew Lunn. Marvell PHY driver is the first to support this
    facility.

    23) Remove zero-length arrays all over, from Gustavo A. R. Silva.

    24) Calculate and maintain an explicit frame size in XDP, from Jesper
    Dangaard Brouer.

    25) Add CAP_BPF, from Alexei Starovoitov.

    26) Support terse dumps in the packet scheduler, from Vlad Buslov.

    27) Support XDP_TX bulking in dpaa2 driver, from Ioana Ciornei.

    28) Add devm_register_netdev(), from Bartosz Golaszewski.

    29) Minimize qdisc resets, from Cong Wang.

    30) Get rid of kernel_getsockopt and kernel_setsockopt in order to
    eliminate set_fs/get_fs calls. From Christoph Hellwig.

    * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2517 commits)
    selftests: net: ip_defrag: ignore EPERM
    net_failover: fixed rollback in net_failover_open()
    Revert "tipc: Fix potential tipc_aead refcnt leak in tipc_crypto_rcv"
    Revert "tipc: Fix potential tipc_node refcnt leak in tipc_rcv"
    vmxnet3: allow rx flow hash ops only when rss is enabled
    hinic: add set_channels ethtool_ops support
    selftests/bpf: Add a default $(CXX) value
    tools/bpf: Don't use $(COMPILE.c)
    bpf, selftests: Use bpf_probe_read_kernel
    s390/bpf: Use bcr 0,%0 as tail call nop filler
    s390/bpf: Maintain 8-byte stack alignment
    selftests/bpf: Fix verifier test
    selftests/bpf: Fix sample_cnt shared between two threads
    bpf, selftests: Adapt cls_redirect to call csum_level helper
    bpf: Add csum_level helper for fixing up csum levels
    bpf: Fix up bpf_skb_adjust_room helper's skb csum setting
    sfc: add missing annotation for efx_ef10_try_update_nic_stats_vf()
    crypto/chtls: IPv6 support for inline TLS
    Crypto/chcr: Fixes a coccinile check error
    Crypto/chcr: Fixes compilations warnings
    ...

    Linus Torvalds
     

29 May, 2020

1 commit


28 May, 2020

1 commit


15 May, 2020

1 commit

  • create_cpu_loop() calls smu_sat_get_sdb_partition() which does
    kmalloc() and returns the allocated buffer. In fact it's called twice,
    and neither buffer is freed.

    This results in a memory leak as reported by Erhard:
    unreferenced object 0xc00000047081f840 (size 32):
    comm "kwindfarm", pid 203, jiffies 4294880630 (age 5552.877s)
    hex dump (first 32 bytes):
    c8 06 02 7f ff 02 ff 01 fb bf 00 41 00 20 00 00 ...........A. ..
    00 07 89 37 00 a0 00 00 00 00 00 00 00 00 00 00 ...7............
    backtrace:
    [] .smu_sat_get_sdb_partition+0xc4/0x2d0 [windfarm_smu_sat]
    [] .pm112_wf_notify+0x104c/0x13bc [windfarm_pm112]
    [] .notifier_call_chain+0xa8/0x180
    [] .blocking_notifier_call_chain+0x64/0x90
    [] .wf_thread_func+0x114/0x1a0
    [] .kthread+0x13c/0x190
    [] .ret_from_kernel_thread+0x58/0x64
    unreferenced object 0xc0000004737089f0 (size 16):
    comm "kwindfarm", pid 203, jiffies 4294880879 (age 5552.050s)
    hex dump (first 16 bytes):
    c4 04 01 7f 22 11 e0 e6 ff 55 7b 12 ec 11 00 00 ...."....U{.....
    backtrace:
    [] .smu_sat_get_sdb_partition+0xc4/0x2d0 [windfarm_smu_sat]
    [] .pm112_wf_notify+0x1294/0x13bc [windfarm_pm112]
    [] .notifier_call_chain+0xa8/0x180
    [] .blocking_notifier_call_chain+0x64/0x90
    [] .wf_thread_func+0x114/0x1a0
    [] .kthread+0x13c/0x190
    [] .ret_from_kernel_thread+0x58/0x64

    Fix it by rearranging the logic so we deal with each buffer
    separately, which then makes it easy to free the buffer once we're
    done with it.

    Fixes: ac171c46667c ("[PATCH] powerpc: Thermal control for dual core G5s")
    Cc: stable@vger.kernel.org # v2.6.16+
    Reported-by: Erhard F.
    Signed-off-by: Michael Ellerman
    Tested-by: Erhard F.
    Link: https://lore.kernel.org/r/20200423060038.3308530-1-mpe@ellerman.id.au

    Michael Ellerman
     

27 Apr, 2020

1 commit

  • Instead of having all the sysctl handlers deal with user pointers, which
    is rather hairy in terms of the BPF interaction, copy the input to and
    from userspace in common code. This also means that the strings are
    always NUL-terminated by the common code, making the API a little bit
    safer.

    As most handler just pass through the data to one of the common handlers
    a lot of the changes are mechnical.

    Signed-off-by: Christoph Hellwig
    Acked-by: Andrey Ignatov
    Signed-off-by: Al Viro

    Christoph Hellwig
     

04 Apr, 2020

1 commit

  • Pull char/misc driver updates from Greg KH:
    "Here is the big set of char/misc/other driver patches for 5.7-rc1.

    Lots of things in here, and it's later than expected due to some
    reverts to resolve some reported issues. All is now clean with no
    reported problems in linux-next.

    Included in here is:
    - interconnect updates
    - mei driver updates
    - uio updates
    - nvmem driver updates
    - soundwire updates
    - binderfs updates
    - coresight updates
    - habanalabs updates
    - mhi new bus type and core
    - extcon driver updates
    - some Kconfig cleanups
    - other small misc driver cleanups and updates

    As mentioned, all have been in linux-next for a while, and with the
    last two reverts, all is calm and good"

    * tag 'char-misc-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (174 commits)
    Revert "driver core: platform: Initialize dma_parms for platform devices"
    Revert "amba: Initialize dma_parms for amba devices"
    amba: Initialize dma_parms for amba devices
    driver core: platform: Initialize dma_parms for platform devices
    bus: mhi: core: Drop the references to mhi_dev in mhi_destroy_device()
    bus: mhi: core: Initialize bhie field in mhi_cntrl for RDDM capture
    bus: mhi: core: Add support for reading MHI info from device
    misc: rtsx: set correct pcr_ops for rts522A
    speakup: misc: Use dynamic minor numbers for speakup devices
    mei: me: add cedar fork device ids
    coresight: do not use the BIT() macro in the UAPI header
    Documentation: provide IBM contacts for embargoed hardware
    nvmem: core: remove nvmem_sysfs_get_groups()
    nvmem: core: use is_bin_visible for permissions
    nvmem: core: use device_register and device_unregister
    nvmem: core: add root_only member to nvmem device struct
    extcon: axp288: Add wakeup support
    extcon: Mark extcon_get_edev_name() function as exported symbol
    extcon: palmas: Hide error messages if gpio returns -EPROBE_DEFER
    dt-bindings: extcon: usbc-cros-ec: convert extcon-usbc-cros-ec.txt to yaml format
    ...

    Linus Torvalds