09 Mar, 2016

1 commit

  • Dmitry reported that sctp_add_bind_addr may read more bytes than
    expected in case the parameter is a IPv4 addr supplied by the user
    through calls such as sctp_bindx_add(), because it always copies
    sizeof(union sctp_addr) while the buffer may be just a struct
    sockaddr_in, which is smaller.

    This patch then fixes it by limiting the memcpy to the min between the
    union size and a (new parameter) provided addr size. Where possible this
    parameter still is the size of that union, except for reading from
    user-provided buffers, which then it accounts for protocol type.

    Reported-by: Dmitry Vyukov
    Tested-by: Dmitry Vyukov
    Signed-off-by: Marcelo Ricardo Leitner
    Signed-off-by: David S. Miller

    Marcelo Ricardo Leitner
     

08 Mar, 2016

20 commits

  • Pull networking fixes from David Miller:

    1) Fix ordering of WEXT netlink messages so we don't see a newlink
    after a dellink, from Johannes Berg.

    2) Out of bounds access in minstrel_ht_set_best_prob_rage, from
    Konstantin Khlebnikov.

    3) Paging buffer memory leak in iwlwifi, from Matti Gottlieb.

    4) Wrong units used to set initial TCP rto from cached metrics, also
    from Konstantin Khlebnikov.

    5) Fix stale IP options data in the SKB control block from leaking
    through layers of encapsulation, from Bernie Harris.

    6) Zero padding len miscalculated in bnxt_en, from Michael Chan.

    7) Only CHECKSUM_PARTIAL packets should be passed down through GSO, fix
    from Hannes Frederic Sowa.

    8) Fix suspend/resume with JME networking devices, from Diego Violat
    and Guo-Fu Tseng.

    9) Checksums not validated properly in bridge multicast support due to
    the placement of the SKB header pointers at the time of the check,
    fix from Álvaro Fernández Rojas.

    10) Fix hang/tiemout with r8169 if a stats fetch is done while the
    device is runtime suspended. From Chun-Hao Lin.

    11) The forwarding database netlink dump facilities don't track the
    state of the dump properly, resulting in skipped/missed entries.
    From Minoura Makoto.

    12) Fix regression from a recent 3c59x bug fix, from Neil Horman.

    13) Fix list corruption in bna driver, from Ivan Vecera.

    14) Big endian machines crash on vlan add in bnx2x, fix from Michal
    Schmidt.

    15) Ethtool RSS configuration not propagated properly in mlx5 driver,
    from Tariq Toukan.

    16) Fix regression in PHY probing in stmmac driver, from Gabriel
    Fernandez.

    17) Fix SKB tailroom calculation in igmp/mld code, from Benjamin
    Poirier.

    18) A past change to skip empty routing headers in ipv6 extention header
    parsing accidently caused fragment headers to not be matched any
    longer. Fix from Florian Westphal.

    19) eTSEC-106 erratum needs to be applied to more gianfar chips, from
    Atsushi Nemoto.

    20) Fix netdev reference after free via workqueues in usb networking
    drivers, from Oliver Neukum and Bjørn Mork.

    21) mdio->irq is now an array rather than a pointer to dynamic memory,
    but several drivers were still trying to free it :-/ Fixes from
    Colin Ian King.

    22) act_ipt iptables action forgets to set the family field, thus LOG
    netfilter targets don't work with it. Fix from Phil Sutter.

    23) SKB leak in ibmveth when skb_linearize() fails, from Thomas Falcon.

    24) pskb_may_pull() cannot be called with interrupts disabled, fix code
    that tries to do this in vmxnet3 driver, from Neil Horman.

    25) be2net driver leaks iomap'd memory on removal, fix from Douglas
    Miller.

    26) Forgotton RTNL mutex unlock in ppp_create_interface() error paths,
    from Guillaume Nault.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (97 commits)
    ppp: release rtnl mutex when interface creation fails
    cdc_ncm: do not call usbnet_link_change from cdc_ncm_bind
    tcp: fix tcpi_segs_in after connection establishment
    net: hns: fix the bug about loopback
    jme: Fix device PM wakeup API usage
    jme: Do not enable NIC WoL functions on S0
    udp6: fix UDP/IPv6 encap resubmit path
    be2net: Don't leak iomapped memory on removal.
    vmxnet3: avoid calling pskb_may_pull with interrupts disabled
    net: ethernet: Add missing MFD_SYSCON dependency on HAS_IOMEM
    ibmveth: check return of skb_linearize in ibmveth_start_xmit
    cdc_ncm: toggle altsetting to force reset before setup
    usbnet: cleanup after bind() in probe()
    mlxsw: pci: Correctly determine if descriptor queue is full
    mlxsw: spectrum: Always decrement bridge's ref count
    tipc: fix nullptr crash during subscription cancel
    net: eth: altera: do not free array priv->mdio->irq
    net/ethoc: do not free array priv->mdio->irq
    net: sched: fix act_ipt for LOG target
    asix: do not free array priv->mdio->irq
    ...

    Linus Torvalds
     
  • Pull overlayfs fixes from Miklos Szeredi:
    "Overlayfs bug fixes. All marked as -stable material"

    * 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
    ovl: copy new uid/gid into overlayfs runtime inode
    ovl: ignore lower entries when checking purity of non-directory entries
    ovl: fix getcwd() failure after unsuccessful rmdir
    ovl: fix working on distributed fs as lower layer

    Linus Torvalds
     
  • This reverts commit dbb17a21c131eca94eb31136eee9a7fe5aff00d9.

    It turns out that commit can cause problems for systems with multiple
    GPUs, and causes X to hang on at least a HP Pavilion dv7 with hybrid
    graphics.

    This got noticed originally in 4.4.4, where this patch had already
    gotten back-ported, but 4.5-rc7 was verified to have the same problem.

    Alexander Deucher says:
    "It looks like you have a muxed system so I suspect what's happening is
    that one of the display is being reported as connected for both the
    IGP and the dGPU and then the desktop environment gets confused or
    there some sort problem in the detect functions since the mux is not
    switched to the dGPU. I don't see an easy fix unless Dave has any
    ideas. I'd say just revert for now"

    Reported-by: Jörg-Volker Peetz
    Acked-by: Alexander Deucher
    Cc: Dave Airlie
    Cc: stable@kernel.org # wherever dbb17a21c131 got back-ported
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Add missing rtnl_unlock() in the error path of ppp_create_interface().

    Fixes: 58a89ecaca53 ("ppp: fix lockdep splat in ppp_dev_uninit()")
    Signed-off-by: Guillaume Nault
    Signed-off-by: David S. Miller

    Guillaume Nault
     
  • usbnet_link_change will call schedule_work and should be
    avoided if bind is failing. Otherwise we will end up with
    scheduled work referring to a netdev which has gone away.

    Instead of making the call conditional, we can just defer
    it to usbnet_probe, using the driver_info flag made for
    this purpose.

    Fixes: 8a34b0ae8778 ("usbnet: cdc_ncm: apply usbnet_link_change")
    Reported-by: Andrey Konovalov
    Suggested-by: Linus Torvalds
    Signed-off-by: Bjørn Mork
    Signed-off-by: David S. Miller

    Bjørn Mork
     
  • If final packet (ACK) of 3WHS is lost, it appears we do not properly
    account the following incoming segment into tcpi_segs_in

    While we are at it, starts segs_in with one, to count the SYN packet.

    We do not yet count number of SYN we received for a request sock, we
    might add this someday.

    packetdrill script showing proper behavior after fix :

    // Tests tcpi_segs_in when 3rd packet (ACK) of 3WHS is lost
    0.000 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3
    +0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
    +0 bind(3, ..., ...) = 0
    +0 listen(3, 1) = 0

    +0 < S 0:0(0) win 32792
    +0 > S. 0:0(0) ack 1
    +.020 < P. 1:1001(1000) ack 1 win 32792

    +0 accept(3, ..., ...) = 4

    +.000 %{ assert tcpi_segs_in == 2, 'tcpi_segs_in=%d' % tcpi_segs_in }%

    Fixes: 2efd055c53c06 ("tcp: add tcpi_segs_in and tcpi_segs_out to tcp_info")
    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • It will always be passed if the soc is tested the loopback cases. This
    patch will fix this bug.

    Signed-off-by: Kejian Yan
    Signed-off-by: David S. Miller

    yankejian
     
  • According to Documentation/power/devices.txt

    The driver should not use device_set_wakeup_enable() which is the policy
    for user to decide.

    Using device_init_wakeup() to initialize dev->power.should_wakeup and
    dev->power.can_wakeup on driver initialization.

    And use device_may_wakeup() on suspend to decide if WoL function should
    be enabled on NIC.

    Reported-by: Diego Viola
    Signed-off-by: Guo-Fu Tseng
    Signed-off-by: David S. Miller

    Guo-Fu Tseng
     
  • Otherwise it might be back on resume right after going to suspend in
    some hardware.

    Reported-by: Diego Viola
    Signed-off-by: Guo-Fu Tseng
    Signed-off-by: David S. Miller

    Guo-Fu Tseng
     
  • IPv4 interprets a negative return value from a protocol handler as a
    request to redispatch to a new protocol. In contrast, IPv6 interprets a
    negative value as an error, and interprets a positive value as a request
    for redispatch.

    UDP for IPv6 was unaware of this difference. Change __udp6_lib_rcv() to
    return a positive value for redispatch. Note that the socket's
    encap_rcv hook still needs to return a negative value to request
    dispatch, and in the case of IPv6 packets, adjust IP6CB(skb)->nhoff to
    identify the byte containing the next protocol.

    Signed-off-by: Bill Sommerfeld
    Signed-off-by: David S. Miller

    Bill Sommerfeld
     
  • The adapter->pcicfg resource is either mapped via pci_iomap() or
    derived from adapter->db. During be_remove() this resource was ignored
    and so could remain mapped after remove.

    Add a flag to track whether adapter->pcicfg was mapped or not, then
    use that flag in be_unmap_pci_bars() to unmap if required.

    Fixes: 25848c901 ("use PCI MMIO read instead of config read for errors")

    Signed-off-by: Douglas Miller
    Signed-off-by: David S. Miller

    Douglas Miller
     
  • vmxnet3 has a function vmxnet3_parse_and_copy_hdr which, among other operations,
    uses pskb_may_pull to linearize the header portion of an skb. That operation
    eventually uses local_bh_disable/enable to ensure that it doesn't race with the
    drivers bottom half handler. Unfortunately, vmxnet3 preforms this
    parse_and_copy operation with a spinlock held and interrupts disabled. This
    causes us to run afoul of the WARN_ON_ONCE(irqs_disabled()) warning in
    local_bh_enable, resulting in this:

    WARNING: at kernel/softirq.c:159 local_bh_enable+0x59/0x90() (Not tainted)
    Hardware name: VMware Virtual Platform
    Modules linked in: ipv6 ppdev parport_pc parport microcode e1000 vmware_balloon
    vmxnet3 i2c_piix4 sg ext4 jbd2 mbcache sd_mod crc_t10dif sr_mod cdrom mptspi
    mptscsih mptbase scsi_transport_spi pata_acpi ata_generic ata_piix vmwgfx ttm
    drm_kms_helper drm i2c_core dm_mirror dm_region_hash dm_log dm_mod [last
    unloaded: mperf]
    Pid: 6229, comm: sshd Not tainted 2.6.32-616.el6.i686 #1
    Call Trace:
    [] ? warn_slowpath_common+0x89/0xe0
    [] ? local_bh_enable+0x59/0x90
    [] ? warn_slowpath_null+0x1b/0x20
    [] ? local_bh_enable+0x59/0x90
    [] ? skb_copy_bits+0x126/0x210
    [] ? ext4_ext_find_extent+0x24e/0x2d0 [ext4]
    [] ? __pskb_pull_tail+0x6e/0x2b0
    [] ? vmxnet3_xmit_frame+0xba4/0xef0 [vmxnet3]
    [] ? selinux_ip_postroute+0x56/0x320
    [] ? cfq_add_rq_rb+0x98/0x110
    [] ? packet_rcv+0x48/0x350
    [] ? dev_queue_xmit_nit+0xc9/0x140
    ...

    Fix it by splitting vmxnet3_parse_and_copy_hdr into two functions:

    vmxnet3_parse_hdr, which sets up the internal/on stack ctx datastructure, and
    pulls the skb (both of which can be done without holding the spinlock with irqs
    disabled

    and

    vmxnet3_copy_header, which just copies the skb to the tx ring under the lock
    safely.

    tested and shown to correct the described problem. Applies cleanly to the head
    of the net tree

    Signed-off-by: Neil Horman
    CC: Shrikrishna Khare
    CC: "VMware, Inc."
    CC: "David S. Miller"
    Acked-by: Shrikrishna Khare
    Signed-off-by: David S. Miller

    Neil Horman
     
  • …m/linux/kernel/git/kvalo/wireless-drivers

    Kalle Valo says:

    ====================
    wireless-drivers fixes for 4.5

    iwlwifi

    * free firmware paging memory when the module is unloaded or device removed
    * fix pending frames counter to fix an issue when removing stations

    ssb

    * fix a build problem related to ssb_fill_sprom_with_fallback()
    ====================

    Signed-off-by: David S. Miller <davem@davemloft.net>

    David S. Miller
     
  • The MFD_SYSCON depends on HAS_IOMEM so when selecting it avoid unmet
    direct dependencies.

    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: David S. Miller

    Krzysztof Kozlowski
     
  • If skb_linearize fails, the driver should drop the packet
    instead of trying to copy it into the bounce buffer.

    Signed-off-by: Thomas Falcon
    Signed-off-by: David S. Miller

    Thomas Falcon
     
  • Some devices will silently fail setup unless they are reset first.
    This is necessary even if the data interface is already in
    altsetting 0, which it will be when the device is probed for the
    first time. Briefly toggling the altsetting forces a function
    reset regardless of the initial state.

    This fixes a setup problem observed on a number of Huawei devices,
    appearing to operate in NTB-32 mode even if we explicitly set them
    to NTB-16 mode.

    Signed-off-by: Bjørn Mork
    Signed-off-by: David S. Miller

    Bjørn Mork
     
  • In case bind() works, but a later error forces bailing
    in probe() in error cases work and a timer may be scheduled.
    They must be killed. This fixes an error case related to
    the double free reported in
    http://www.spinics.net/lists/netdev/msg367669.html
    and needs to go on top of Linus' fix to cdc-ncm.

    Signed-off-by: Oliver Neukum
    Signed-off-by: David S. Miller

    Oliver Neukum
     
  • Jiri Pirko says:

    ====================
    mlxsw: couple of fixes

    Couple of fixes from Ido.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • The descriptor queues for sending (SDQs) and receiving (RDQs) packets
    are managed by two counters - producer and consumer - which are both
    16-bit in size. A queue is considered full when the difference between
    the two equals the queue's maximum number of descriptors.

    However, if the producer counter overflows, then it's possible for the
    full queue check to fail, as it doesn't take the overflow into account.
    In such a case, descriptors already passed to the device - but for which
    a completion has yet to be posted - will be overwritten, thereby causing
    undefined behavior. The above can be achieved under heavy load (~30
    netperf instances).

    Fix that by casting the subtraction result to u16, preventing it from
    being treated as a signed integer.

    Fixes: eda6500a987a ("mlxsw: Add PCI bus implementation")
    Signed-off-by: Ido Schimmel
    Signed-off-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Ido Schimmel
     
  • Since we only support one VLAN filtering bridge we need to associate a
    reference count with it, so that when the last port netdev leaves it, we
    would know that a different bridge can be offloaded to hardware.

    When a LAG device is memeber in a bridge and port netdevs are leaving
    the LAG, we should always decrement the bridge's reference count, as it's
    incremented for any port in the LAG.

    Fixes: 4dc236c31733 ("mlxsw: spectrum: Handle port leaving LAG while bridged")
    Signed-off-by: Ido Schimmel
    Signed-off-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Ido Schimmel
     

07 Mar, 2016

16 commits

  • commit 4d5cfcba2f6e ('tipc: fix connection abort during subscription
    cancel'), removes the check for a valid subscription before calling
    tipc_nametbl_subscribe().

    This will lead to a nullptr exception when we process a
    subscription cancel request. For a cancel request, a null
    subscription is passed to tipc_nametbl_subscribe() resulting
    in exception.

    In this commit, we call tipc_nametbl_subscribe() only for
    a valid subscription.

    Fixes: 4d5cfcba2f6e ('tipc: fix connection abort during subscription cancel')
    Reported-by: Anders Widell
    Signed-off-by: Parthasarathy Bhuvaragan
    Acked-by: Jon Maloy
    Signed-off-by: David S. Miller

    Parthasarathy Bhuvaragan
     
  • priv->mdio->irq used to be allocated and required freeing, but it
    is now a fixed sized array and should no longer be free'd.

    Issue detected using static analysis with CoverityScan

    Fixes: e7f4dc3536a400 ("mdio: Move allocation of interrupts into core")
    Signed-off-by: Colin Ian King
    Reviewed-by: Andrew Lunn
    Signed-off-by: David S. Miller

    Colin Ian King
     
  • priv->mdio->irq used to be allocated and required freeing, but it
    is now a fixed sized array and should no longer be free'd.

    Issue detected using static analysis with CoverityScan

    Fixes: e7f4dc3536a400 ("mdio: Move allocation of interrupts into core")
    Signed-off-by: Colin Ian King
    Reviewed-by: Tobias Klauser
    Reviewed-by: Andrew Lunn
    Signed-off-by: David S. Miller

    Colin Ian King
     
  • Before calling the destroy() or target() callbacks, the family parameter
    field has to be initialized. Otherwise at least the LOG target will
    refuse to work and upon removal oops the kernel.

    Cc: Jamal Hadi Salim
    Signed-off-by: Phil Sutter
    Acked-by: Jamal Hadi Salim
    Signed-off-by: David S. Miller

    Phil Sutter
     
  • Used to be allocated and required freeing, but now
    priv->mdio->irq is now a fixed sized array and should no longer be
    free'd.

    Issue detected using static analysis with CoverityScan

    Fixes: e7f4dc3536a400 ("mdio: Move allocation of interrupts into core")
    Signed-off-by: Colin Ian King
    Reviewed-by: Andrew Lunn
    Signed-off-by: David S. Miller

    Colin Ian King
     
  • Enable workaround for MPC8548E erratum eTSEC 106,
    "Excess delays when transmitting TOE=1 large frames".
    (see commit 53fad77375ce "gianfar: Enable eTSEC-20 erratum w/a
    for P2020 Rev1")

    This erratum was fixed in Rev 3.1.x.

    Signed-off-by: Atsushi Nemoto
    Acked-by: Claudiu Manoil
    Signed-off-by: David S. Miller

    Atsushi Nemoto
     
  • Linus Torvalds
     
  • Pull ARM SoC fix from Olof Johansson:
    "Tiny fixes branch this week, in fact only one patch.

    Turns out the USB support for a Renesas board was developed on a
    pre-release board that ended up being changed before shipping. To
    avoid breakage on those boards, and avoid confusion, it's a reasonable
    idea to patch now instead of later. There are no known users of the
    pre-release variant any more"

    * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: dts: porter: remove enable prop from HS-USB device node

    Linus Torvalds
     
  • Pull ARM fixes from Russell King:
    "Just two ARM fixes this time: one to fix the hyp-stub for older ARM
    CPUs, and another to fix the set_memory_xx() permission functions to
    deal with zero sizes correctly"

    * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
    ARM: 8544/1: set_memory_xx fixes
    ARM: 8534/1: virt: fix hyp-stub build for pre-ARMv7 CPUs

    Linus Torvalds
     
  • Pull ceph fix from Sage Weil:
    "This is a final commit we missed to align the protocol compatibility
    with the feature bits.

    It decodes a few extra fields in two different messages and reports
    EIO when they are used (not yet supported)"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
    ceph: initial CEPH_FEATURE_FS_FILE_LAYOUT_V2 support

    Linus Torvalds
     
  • Pull UBI fix from Richard Weinberger:
    "This contains a single bug fix for UBI"

    * tag 'upstream-4.5-rc7' of git://git.infradead.org/linux-ubifs:
    ubi: Fix out of bounds write in volume update code

    Linus Torvalds
     
  • Pull UML fixes from Richard Weinberger:
    "This contains three bug/build fixes"

    * 'for-linus-4.5-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
    um: use %lx format specifiers for unsigned longs
    um: Export pm_power_off
    Revert "um: Fix get_signal() usage"

    Linus Torvalds
     
  • Pull MIPS fixes from Ralf Baechle:
    "Another round of fixes for 4.5:

    - Fix the use of an undocumented syntactial variant of the .type
    pseudo op which is not supported by the LLVM assembler.
    - Fix invalid initialization on S-cache-less systems.
    - Fix possible information leak from the kernel stack for SIGFPE.
    - Fix handling of copy_{from,to}_user() return value in KVM
    - Fix the last instance of irq_to_gpio() which now was causing build
    errors"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MIPS: traps: Fix SIGFPE information leak from `do_ov' and `do_trap_or_bp'
    MIPS: kvm: Fix ioctl error handling.
    MIPS: scache: Fix scache init with invalid line size.
    MIPS: Avoid variant of .type unsupported by LLVM Assembler
    MIPS: jz4740: Fix surviving instance of irq_to_gpio()

    Linus Torvalds
     
  • Pull powerpc fixes from Michael Ellerman:
    - cxl: Fix PSL timebase synchronization detection from Frederic Barrat
    - Fix oops when destroying hw_breakpoint event from Ravi Bangoria
    - Avoid lbarx on e5500 from Scott Wood

    * tag 'powerpc-4.5-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
    powerpc/fsl-book3e: Avoid lbarx on e5500
    powerpc/hw_breakpoint: Fix oops when destroying hw_breakpoint event
    cxl: Fix PSL timebase synchronization detection

    Linus Torvalds
     
  • Pull i2c fix from Wolfram Sang:
    "One I2C bugfix ensuring correct memory allocation in a driver"

    * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: brcmstb: allocate correct amount of memory for regmap

    Linus Torvalds
     
  • Pull USB fixes from Greg KH:
    "Here are some USB driver ids for 4.5-rc7, and the removal of a driver
    we merged in 4.5-rc1 but it turns out it's not needed as the hardware
    is the same as a driver we already have in the tree.

    This was only figured out after doing a lot of cleanup on it, gotta
    love vendor-provided drivers... The new device ids for the devices
    for this driver will be added later on when testing is completed, but
    for now, we will remove the driver to keep people from accidentally
    cleaning it up.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'usb-4.5-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
    USB: qcserial: add Sierra Wireless EM74xx device ID
    Revert "USB: serial: add Moxa UPORT 11x0 driver"
    USB: serial: option: add support for Quectel UC20
    USB: serial: option: add support for Telit LE922 PID 0x1045
    USB: cp210x: Add ID for Parrot NMEA GPS Flight Recorder
    USB: qcserial: add Dell Wireless 5809e Gobi 4G HSPA+ (rev3)
    usb: chipidea: otg: change workqueue ci_otg as freezable

    Linus Torvalds
     

06 Mar, 2016

3 commits

  • static analysis from cppcheck detected %x being used for
    unsigned longs:

    [arch/x86/um/os-Linux/task_size.c:112]: (warning) %x in format
    string (no. 1) requires 'unsigned int' but the argument type
    is 'unsigned long'.

    Use %lx instead of %x

    Signed-off-by: Colin Ian King
    Signed-off-by: Richard Weinberger

    Colin Ian King
     
  • ...modules are using this symbol.
    Export it like all other archs to.

    Signed-off-by: Richard Weinberger

    Richard Weinberger
     
  • Commit db2f24dc240856fb1d78005307f1523b7b3c121b
    was plain wrong. I did not realize the we are
    allowed to loop here.
    In fact we have to loop and must not return to userspace
    before all SIGSEGVs have been delivered.
    Other archs do this directly in their entry code, UML
    does it here.

    Reported-by: Al Viro
    Signed-off-by: Richard Weinberger

    Richard Weinberger