* refs/heads/tmp-8683408:
ANDROID: Add build server config for cuttlefish.
ANDROID: Add defconfig for cuttlefish.
FROMLIST: staging: Android: Add 'vsoc' driver for cuttlefish.
Revert "ANDROID: proc: make oom adjustment files user read-only"
Revert "ANDROID: fixup! proc: make oom adjustment files user read-only"
Linux 4.9.94
Revert "xhci: plat: Register shutdown for xhci_plat"
vrf: Fix use after free and double free in vrf_finish_output
net sched actions: fix dumping which requires several messages to user space
strparser: Fix sign of err codes
net/mlx4_core: Fix memory leak while delete slave's resources
vhost_net: add missing lock nesting notation
team: move dev_mc_sync after master_upper_dev_link in team_port_add
route: check sysctl_fib_multipath_use_neigh earlier than hash
vhost: validate log when IOTLB is enabled
net/mlx4_en: Fix mixed PFC and Global pause user control requests
net/sched: fix NULL dereference on the error path of tcf_skbmod_init()
net/sched: fix NULL dereference in the error path of tunnel_key_init()
net/mlx5e: Sync netdev vxlan ports at open
vti6: better validate user provided tunnel names
ip6_tunnel: better validate user provided tunnel names
ip6_gre: better validate user provided tunnel names
ipv6: sit: better validate user provided tunnel names
ip_tunnel: better validate user provided tunnel names
net: fool proof dev_valid_name()
bonding: process the err returned by dev_set_allmulti properly in bond_enslave
bonding: move dev_mc_sync after master_upper_dev_link in bond_enslave
bonding: fix the err path for dev hwaddr sync in bond_enslave
vlan: also check phy_driver ts_info for vlan's real device
vhost: correctly remove wait queue during poll failure
sky2: Increase D3 delay to sky2 stops working after suspend
sctp: sctp_sockaddr_af must check minimal addr length for AF_INET6
sctp: do not leak kernel memory to user space
r8169: fix setting driver_data after register_netdev
pptp: remove a buggy dst release in pptp_connect()
net/sched: fix NULL dereference in the error path of tcf_bpf_init()
netlink: make sure nladdr has correct size in netlink_connect()
net/ipv6: Increment OUTxxx counters after netfilter hook
net/ipv6: Fix route leaking between VRFs
net: fix possible out-of-bound read in skb_network_protocol()
ipv6: the entire IPv6 header chain must fit the first fragment
arp: fix arp_filter on l3slave devices
clk: at91: fix clk-generated compilation
random: use lockless method of accessing and updating f->reg_idx
virtio_net: check return value of skb_to_sgvec in one more location
virtio_net: check return value of skb_to_sgvec always
rxrpc: check return value of skb_to_sgvec always
ipsec: check return value of skb_to_sgvec always
perf tools: Fix copyfile_offset update of output offset
mtd: mtd_oobtest: Handle bitflips during reads
Input: goodix - disable IRQs while suspended
sdhci: Advertise 2.0v supply on SDIO host controller
cxgb4vf: Fix SGE FL buffer initialization logic for 64K pages
EDAC, mv64x60: Fix an error handling path
tty: n_gsm: Allow ADM response in addition to UA for control dlci
blk-mq: fix kernel oops in blk_mq_tag_idle()
scsi: libsas: initialize sas_phy status according to response of DISCOVER
scsi: libsas: fix error when getting phy events
scsi: libsas: fix memory leak in sas_smp_get_phy_events()
bcache: segregate flash only volume write streams
bcache: stop writeback thread after detaching
drm/vc4: Fix resource leak in 'vc4_get_hang_state_ioctl()' in error handling path
selftests: kselftest_harness: Fix compile warning
hsr: fix incorrect warning
vxlan: dont migrate permanent fdb entries during learn
s390/dasd: fix hanging safe offline
ACPICA: Disassembler: Abort on an invalid/unknown AML opcode
ACPICA: Events: Add runtime stub support for event APIs
ACPICA: OSL: Add support to exclude stdarg.h
cpuidle: dt: Add missing 'of_node_put()'
Bluetooth: Send HCI Set Event Mask Page 2 command only when needed
clk: meson: meson8b: add compatibles for Meson8 and Meson8m2
net: ena: disable admin msix while working in polling mode
net: ena: add missing unmap bars on device removal
net: ena: add missing return when ena_com_get_io_handlers() fails
net: ena: fix race condition between submit and completion admin command
net: ena: fix rare uncompleted admin command false alarm
iio: magnetometer: st_magn_spi: fix spi_device_id table
sparc64: ldc abort during vds iso boot
net: fec: Add a fec_enet_clear_ethtool_stats() stub for CONFIG_M5272
sctp: fix recursive locking warning in sctp_do_peeloff
bnx2x: Allow vfs to disable txvlan offload
crypto: omap-sham - fix closing of hash with separate finalize call
crypto: omap-sham - buffer handling fixes for hashing later
geneve: add missing rx stats accounting
stmmac: fix ptp header for GMAC3 hw timestamp
coresight: tmc: Configure DMA mask appropriately
coresight: Fix reference count for software sources
pinctrl: meson-gxbb: remove non-existing pin GPIOX_22
X.509: Fix error code in x509_cert_parse()
xen: avoid type warning in xchg_xen_ulong
skbuff: only inherit relevant tx_flags
perf tests: Decompress kernel module before objdump
perf tools: Decompress kernel module when reading DSO data
net: emac: fix reset timeout with AR8035 phy
Fix loop device flush before configure v3
ARM: dts: armadillo800eva: Split LCD mux and gpio
MIPS: kprobes: flush_insn_slot should flush only if probe initialised
MIPS: mm: adjust PKMAP location
MIPS: mm: fixed mappings: correct initialisation
sched/deadline: Use the revised wakeup rule for suspending constrained dl tasks
perf/core: Correct event creation with PERF_FORMAT_GROUP
e1000e: Undo e1000e_pm_freeze if __e1000_shutdown fails
KVM: nVMX: Update vmcs12->guest_linear_address on nested VM-exit
nvme: fix hang in remove path
nvme-pci: fix multiple ctrl removal scheduling
ARM: imx: Add MXC_CPU_IMX6ULL and cpu_is_imx6ull
net: phy: avoid genphy_aneg_done() for PHYs without clause 22 support
mceusb: sporadic RX truncation corruption fix
cx25840: fix unchecked return values
cxl: Unlock on error in probe
igb: fix race condition with PTP_TX_IN_PROGRESS bits
e1000e: fix race condition around skb_tstamp_tx()
ARM: dts: qcom: ipq4019: fix i2c_0 node
tags: honor COMPILED_SOURCE with apart output directory
iwlwifi: fix min API version for 7265D, 3168, 8000 and 8265
iwlwifi: pcie: only use d0i3 in suspend/resume if system_pm is set to d0i3
iwlwifi: tt: move ucode_loaded check under mutex
iwlwifi: mvm: Fix command queue number on d0i3 flow
watchdog: f71808e_wdt: Add F71868 support
iwlwifi: mvm: fix firmware debug restart recording
perf report: Ensure the perf DSO mapping matches what libdw sees
perf header: Set proper module name when build-id event found
net/mlx4: Check if Granular QoS per VF has been enabled before updating QP qos_vport
net/mlx4: Fix the check in attaching steering rules
sit: reload iphdr in ipip6_rcv
macsec: check return value of skb_to_sgvec always
skbuff: return -EMSGSIZE in skb_to_sgvec to prevent overflow
ip6_tunnel: fix traffic class routing for tunnels
bio-integrity: Do not allocate integrity context for bio w/o data
Fix serial console on SNI RM400 machines
cxgb4: fix incorrect cim_la output for T6
powerpc/8xx: fix mpc8xx_get_irq() return on no irq
drm/omap: fix tiled buffer stride calculations
RDMA/hfi1: fix array termination by appending NULL to attr array
RDMA/iw_cxgb4: Avoid touch after free error in ARP failure handlers
net: phy: micrel: Restore led_mode and clk_sel on resume
mISDN: Fix a sleep-in-atomic bug
arm64: kernel: restrict /dev/mem read() calls to linear region
qlcnic: Fix a sleep-in-atomic bug in qlcnic_82xx_hw_write_wx_2M and qlcnic_82xx_hw_read_wx_2M
perf trace: Add mmap alias for s390
ath10k: add BMI parameters to fix calibration from DT/pre-cal
drm/amdkfd: NULL dereference involving create_process()
powerpc/spufs: Fix coredump of SPU contexts
clk: Fix __set_clk_rates error print-string
clk: scpi: fix return type of __scpi_dvfs_round_rate
KVM: SVM: do not zero out segment attributes if segment is unusable or not present
mtd: nand: check ecc->total sanity in nand_scan_tail
mtd: nand: gpmi: Fix gpmi_nand_init() error path
dt-bindings: display: sun4i: Add allwinner,tcon-channel property
drm/sun4i: Ignore the generic connectors for components
clk: at91: fix clk-generated parenting
net: freescale: fix potential null pointer dereference
SUNRPC: ensure correct error is reported by xs_tcp_setup_socket()
rtc: interface: Validate alarm-time before handling rollover
rtc: opal: Handle disabled TPO in opal_get_tpo_time()
i40evf: fix merge error in older patch
rtc: m41t80: fix SQW dividers override when setting a date
cxgb4: Fix netdev_features flag
cxgb4: FW upgrade fixes
net/mlx5: avoid build warning for uniprocessor
arm64: futex: Fix undefined behaviour with FUTEX_OP_OPARG_SHIFT usage
backlight: Report error on failure
dmaengine: imx-sdma: Handle return value of clk_prepare_enable
powerpc/[booke|4xx]: Don't clobber TCR[WP] when setting TCR[DIE]
ovl: filter trusted xattr for non-admin
HID: i2c: Call acpi_device_fix_up_power for ACPI-enumerated devices
netfilter: conntrack: don't call iter for non-confirmed conntracks
x86/efi: Disable runtime services on kexec kernel if booted with efi=old_map
hdlcdrv: Fix divide by zero in hdlcdrv_ioctl
wl1251: check return from call to wl1251_acx_arp_ip_filter
rt2x00: do not pause queue unconditionally on error path
ASoC: Intel: sst: Fix the return value of 'sst_send_byte_stream_mrfld()'
pinctrl: baytrail: Enable glitch filter for GPIOs used as interrupts
backlight: tdo24m: Fix the SPI CS between transfers
blk-mq: fix race between updating nr_hw_queues and switching io sched
IB/rdmavt: Allocate CQ memory on the correct node
gpio: label descriptors using the device name
vfb: fix video mode and line_length being set when loaded
mac80211: Fix setting TX power on monitor interfaces
ACPI: EC: Fix debugfs_create_*() usage
irqchip/gic-v3: Fix the driver probe() fail due to disabled GICC entry
scsi: mpt3sas: Proper handling of set/clear of "ATA command pending" flag.
scsi: libiscsi: Allow sd_shutdown on bad transport
ASoC: Intel: cht_bsw_rt5645: Analog Mic support
ASoC: Intel: Skylake: Disable clock gating during firmware and library download
media: videobuf2-core: don't go out of the buffer range
hwmon: (ina2xx) Make calibration register value fixed
PM / devfreq: Fix potential NULL pointer dereference in governor_store
VFS: close race between getcwd() and d_move()
net/mlx4_en: Change default QoS settings
ACPI / video: Default lcd_only to true on Win8-ready and newer machines
rds; Reset rs->rs_bound_addr in rds_add_bound() failure path
l2tp: fix missing print session offset info
perf probe: Add warning message if there is unexpected event name
thermal: power_allocator: fix one race condition issue for thermal_instances list
ARM: dts: ls1021a: add "fsl,ls1021a-esdhc" compatible string to esdhc node
i40iw: Correct Q1/XF object count equation
i40iw: Fix sequence number for the first partial FPDU
drm/msm: Take the mutex before calling msm_gem_new_impl
net: llc: add lock_sock in llc_ui_bind to avoid a race condition
KVM: nVMX: Fix handling of lmsw instruction
KVM: X86: Fix preempt the preemption timer cancel
PCI/msi: fix the pci_alloc_irq_vectors_affinity stub
cpuhotplug: Link lock stacks for hotplug callbacks
bonding: Don't update slave->link until ready to commit
Input: elan_i2c - clear INT before resetting controller
net: move somaxconn init from sysctl code
tcp: better validation of received ack sequences
ARM64: PCI: Fix struct acpi_pci_root_ops allocation failure path
ext4: fix off-by-one on max nr_pages in ext4_find_unwritten_pgoff()
fix race in drivers/char/random.c:get_reg()
scsi: bnx2fc: fix race condition in bnx2fc_get_host_stats()
ASoC: rsnd: SSI PIO adjust to 24bit mode
pNFS/flexfiles: missing error code in ff_layout_alloc_lseg()
netfilter: ctnetlink: fix incorrect nf_ct_put during hash resize
perf report: Fix off-by-one for non-activation frames
libceph: NULL deref on crush_decode() error path
net: ieee802154: fix net_device reference release too early
mlx5: fix bug reading rss_hash_type from CQE
block: fix an error code in add_partition()
selinux: do not check open permission on sockets
net/mlx5: Tolerate irq_set_affinity_hint() failures
gpio: crystalcove: Do not write regular gpio registers for virtual GPIOs
sched/numa: Use down_read_trylock() for the mmap_sem
perf/core: Fix error handling in perf_event_alloc()
leds: pca955x: Correct I2C Functionality
net/wan/fsl_ucc_hdlc: fix muram allocation error
ray_cs: Avoid reading past end of buffer
ARM: davinci: da8xx: Create DSP device only when assigned memory
md-cluster: fix potential lock issue in add_new_disk
ext4: handle the rest of ext4_mb_load_buddy() ENOMEM errors
iio: light: rpr0521 poweroff for probe fails
iio: hi8435: cleanup reset gpio
iio: hi8435: avoid garbage event at first enable
ASoC: simple-card: fix mic jack initialization
xfrm: fix state migration copy replay sequence numbers
selftests/powerpc: Fix TM resched DSCR test with some compilers
ath5k: fix memory leak on buf on failed eeprom read
powerpc/mm: Fix virt_addr_valid() etc. on 64-bit hash
scsi: csiostor: fix use after free in csio_hw_use_fwconfig()
mlxsw: spectrum: Avoid possible NULL pointer dereference
sh_eth: Use platform device for printing before register_netdev()
fsl/qe: add bit description for SYNL register for GUMR
net/wan/fsl_ucc_hdlc: fix incorrect memory allocation
net/wan/fsl_ucc_hdlc: fix unitialized variable warnings
serial: sh-sci: Fix race condition causing garbage during shutdown
serial: 8250: omap: Disable DMA for console UART
USB: ene_usb6250: fix SCSI residue overwriting
net: x25: fix one potential use-after-free issue
USB: ene_usb6250: fix first command execution
pxa_camera: fix module remove codepath for v4l2 clock
usb: chipidea: properly handle host or gadget initialization failure
ARM: dts: rockchip: fix rk322x i2s1 pinctrl error
arp: honour gratuitous ARP _replies_
neighbour: update neigh timestamps iff update is effective
uio: fix incorrect memory leak cleanup
ipmr: vrf: Find VIFs using the actual device
ata: libahci: properly propagate return value of platform_get_irq()
btrfs: fix incorrect error return ret being passed to mapping_set_error
usb: dwc3: keystone: check return value
KVM: arm64: Restore host physical timer access on hyp_panic()
KVM: arm: Restore banked registers and physical timer access on hyp_panic()
async_tx: Fix DMA_PREP_FENCE usage in do_async_gen_syndrome()
ipv6: avoid dad-failures for addresses with NODAD
mdio: mux: fix device_node_continue.cocci warnings
arm64: perf: Ignore exclude_hv when kernel is running in HYP
i2c: mux: reg: put away the parent i2c adapter on probe failure
ARM: dts: imx6qdl-wandboard: Fix audio channel swap
powerpc/modules: If mprofile-kernel is enabled add it to vermagic
x86/tsc: Provide 'tsc=unstable' boot parameter
clk: renesas: rcar-gen2: Fix PLL0 on R-Car V2H and E2
staging: wlan-ng: prism2mgmt.c: fixed a double endian conversion before calling hfa384x_drvr_setconfig16, also fixes relative sparse warning
ARM: dts: imx53-qsrb: Pulldown PMIC IRQ pin
iio: pressure: zpa2326: report interrupted case as failure
PowerCap: Fix an error code in powercap_register_zone()
bus: brcmstb_gisb: correct support for 64-bit address output
bus: brcmstb_gisb: Use register offsets with writes too
SMB2: Fix share type handling
mm, vmstat: Remove spurious WARN() during zoneinfo print
vmxnet3: ensure that adapter is in proper state during force_close
irqchip/mbigen: Fix the clear register offset calculation
KVM: PPC: Book3S PR: Check copy_to/from_user return values
Input: elantech - force relative mode on a certain module
Input: elan_i2c - check if device is there before really probing
mdio: mux: Correct mdio_mux_init error path issues
netxen_nic: set rcode to the return status from the call to netxen_issue_cmd
net: qca_spi: Fix alignment issues in rx path
blk-mq: NVMe 512B/4K+T10 DIF/DIX format returns I/O error on dd with split op
perf/callchain: Force USER_DS when invoking perf_callchain_user()
CIFS: silence lockdep splat in cifs_relock_file()
NFSv4.1: Work around a Linux server bug...
qed: Correct doorbell configuration for !4Kb pages
net/mlx4_en: Avoid adding steering rules with invalid ring
s390: move _text symbol to address higher than zero
pidns: disable pid allocation if pid_ns_prepare_proc() is failed in alloc_pid()
drivers/misc/vmw_vmci/vmci_queue_pair.c: fix a couple integer overflow tests
lockd: fix lockd shutdown race
net: ethernet: ti: cpsw: adjust cpsw fifos depth for fullduplex flow control
net: cdc_ncm: Fix TX zero padding
ipmi_ssif: unlock on allocation failure
ubi: fastmap: Fix slab corruption
qlge: Avoid reading past end of buffer
bna: Avoid reading past end of buffer
mac80211: bail out from prep_connection() if a reconfig is ongoing
af_key: Fix slab-out-of-bounds in pfkey_compile_policy.
IB/srpt: Avoid that aborting a command triggers a kernel warning
IB/srpt: Fix abort handling
x86/boot: Declare error() as noreturn
NFSv4.1: RECLAIM_COMPLETE must handle NFS4ERR_CONN_NOT_BOUND_TO_SESSION
ovl: persistent inode numbers for upper hardlinks
x86/mm/kaslr: Use the _ASM_MUL macro for multiplication to work around Clang incompatibility
x86/asm: Don't use RBP as a temporary register in csum_partial_copy_generic()
rtc: snvs: fix an incorrect check of return value
md/raid5: make use of spin_lock_irq over local_irq_disable + spin_lock
cfg80211: make RATE_INFO_BW_20 the default
qed: Fix overriding of supported autoneg value.
ANDROID: proc: add null check in proc_uid_init
f2fs/fscrypt: updates to v4.17-rc1
Revert "ANDROID: sched/tune: Initialize raw_spin_lock in boosted_groups"
ANDROID: uid_sys_stats: Replace tasklist lock with RCU in uid_cputime_show
ANDROID: arm64: mark kpti_install_ng_mappings as __nocfi
Conflicts:
arch/arm64/kernel/perf_event.c
drivers/gpu/drm/msm/msm_gem.c
drivers/hwtracing/coresight/coresight-tmc.c
drivers/hwtracing/coresight/coresight.c
Change-Id: I3a1bd6216f55601cff0a2b4344c480b2e1a771a6
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
[ Upstream commit 0d83539092ddb1ab79b4d65bccb866bf07ea2ccd ]
Commit 75f0aef622 ("uio: fix memory leak") has fixed up some
memory leaks during the failure paths of the addition of uio
attributes, but still is not correct entirely. A kobject_uevent()
failure still needs a kobject_put() and the kobject container
structure allocation failure before the kobject_init() doesn't
need a kobject_put(). Fix this properly.
Fixes: 75f0aef622 ("uio: fix memory leak")
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Suman Annaauthored and Greg Kroah-Hartmancommited 2018-04-13 19:47:59 +02:00
If guard_memory dtsi property is set, then the shared memory
region will be guarded by SZ_4K at the start and at the end.
This is needed to overcome the XPU limitation on few MSM HW,
so as to make this memory not contiguous with other allocations
that may possibly happen from other clients in the system.
Change-Id: I57637619cea8fe7f0f7254624e07177ea4a4fce0
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
The variable debug_buffer is a global variable which is allocated
and free'd when open/close is called on debugfs file -
"/sys/kernel/debug/rmt_storage/info". The current code doesn't
have locks to handle concurrent accesses to the above file.
This results into use after free issue when debug_buffer is
accessed by two threads at the same time. Fix this by adding
a mutex lock to protect this global variable.
Change-Id: I6bc3f0ae2d7fca3ca9fe8561612f5863b6c3268a
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
Sahitya Tummalaauthored and Ritesh Harjanicommited 2017-04-20 13:49:54 +05:30
Use proper printk format specifier to print phys_addr_t
type variable.
Change-Id: I7c55e44e813d8d41e1ead03280044c8542a24922
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
Prasad Sodagudiauthored and Ritesh Harjanicommited 2017-04-20 13:49:51 +05:30
Add support for HYP call to setup the sharedmem permissions
for the MPSS client.
Change-Id: I3b48ae962865d8d0a0ea6e3fbb8e21278b59c690
Signed-off-by: Nikhilesh Reddy <reddyn@codeaurora.org>
[riteshh@codeaurora.org: fixed trivial merge conflicts]
Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org>
Nikhilesh Reddyauthored and Ritesh Harjanicommited 2017-04-20 13:49:49 +05:30
This is a snapshot of the MSM sharedmem driver as of msm-3.14
commit:
commit 149717c082aab81 ("uio: msm_sharedmem: Add custom mmap")
The following changes are included:
02d55287 uio: msm_sharedmem: Restrict debugfs write to root.
de961fc7 uio: msm_sharedmem: Return ENOMEM if the shared mem addr
is zero.
b974ce64 uio: msm_sharedmem: Add addtional information to debugfs
c46af547 uio: msm_sharedmem: Add support for dynamic shared memory
allocation
Change-Id: I49902f018bde1d59d41027b7e46268cc17231a3e
Signed-off-by: Nikhilesh Reddy <reddyn@codeaurora.org>
[riteshh@codeaurora.org: fixed trivial merge conflicts]
Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org>
Nikhilesh Reddyauthored and Ritesh Harjanicommited 2017-04-20 13:49:17 +05:30
The variable i contains a total number of resources (including
IORESOURCE_IRQ). However, we want the dmem_region_start to point
after the last resource of type IORESOURCE_MEM. The original behaviour
leads (very likely) to skipping several UIO mapping regions and makes
them useless. Fix this by computing dmem_region_start from the uiomem
which points to the last used UIO mapping.
Fixes: 0a0c3b5a24 ("Add new uio device for dynamic memory allocation")
Signed-off-by: Jan Viktorin <viktorin@rehivetech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jan Viktorinauthored and Greg Kroah-Hartmancommited 2016-08-31 13:07:30 +02:00
My static checker complains that "ret" could be uninitialized at the
end, which is true but it's more likely that it would be set to zero.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dan Carpenterauthored and Greg Kroah-Hartmancommited 2016-05-01 14:11:12 -07:00
This platform driver has a OF device ID table but the OF module
alias information is not created so module autoloading won't work.
Signed-off-by: Luis de Bethencourt <luis@debethencourt.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Luis de Bethencourtauthored and Greg Kroah-Hartmancommited 2015-10-04 12:32:25 +01:00
Use module_platform_driver for drivers whose init and exit functions
only register and unregister, respectively.
A simplified version of the Coccinelle semantic patch that performs
this transformation is as follows:
@a@
identifier f, x;
@@
-static f(...) { return platform_driver_register(&x); }
@b depends on a@
identifier e, a.x;
@@
-static e(...) { platform_driver_unregister(&x); }
@c depends on a && b@
identifier a.f;
declarer name module_init;
@@
-module_init(f);
@d depends on a && b && c@
identifier b.e, a.x;
declarer name module_exit;
declarer name module_platform_driver;
@@
-module_exit(e);
+module_platform_driver(x);
Signed-off-by: Vaishali Thakkar <vthakkar1994@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Vaishali Thakkarauthored and Greg Kroah-Hartmancommited 2015-08-05 13:25:59 -07:00
mach-dependant stuff has been removed by
2eb2478d47 ("uio: uio_pruss: replace private SRAM API with genalloc")
There is no need to keep
depends on ARCH_DAVINCI_DA850
Signed-off-by: Matwey V. Kornilov <matwey@sai.msu.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Matwey V. Kornilovauthored and Greg Kroah-Hartmancommited 2015-06-12 17:01:43 -07:00
uio_pruss uses io memory, that should be explicitly depend on it
Signed-off-by: Matwey V. Kornilov <matwey@sai.msu.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Matwey V. Kornilovauthored and Greg Kroah-Hartmancommited 2015-06-12 17:01:43 -07:00
uio_pruss references SZ_16K and SZ_256K defines, but linux/sizes.h is not included.
Signed-off-by: Matwey V. Kornilov <matwey@sai.msu.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Matwey V. Kornilovauthored and Greg Kroah-Hartmancommited 2015-06-12 17:01:43 -07:00
UIO base driver should only free_irq that it has requested.
UIO supports drivers without interrupts (irq == 0) or custom handlers.
This fixes warnings like:
WARNING: CPU: 1 PID: 5478 at kernel/irq/manage.c:1244 __free_irq+0xa9/0x1e0()
Trying to free already-free IRQ 0
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Stephen Hemmingerauthored and Greg Kroah-Hartmancommited 2015-05-24 11:55:15 -07:00
This reverts commit 4d8beff2ae.
It causes build warnings, and it's incorrect as we do write to this
structure.
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Fabian Frederick <fabf@skynet.be>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
of_device_id is always used as const.
(See driver.of_match_table and open firmware functions)
Signed-off-by: Fabian Frederick <fabf@skynet.be>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Fabian Frederickauthored and Greg Kroah-Hartmancommited 2015-03-25 12:25:28 +01:00
Separate irq request/free from the device lifecycle.
After device unregister the parent module can call pci_disable_msi.
>From the PCI MSI how to:
"Before calling this function, a device driver must always call free_irq()
on any interrupt for which it previously called request_irq().
Failure to do so results in a BUG_ON(), leaving the device with
MSI enabled and thus leaking its vector."
So we need to separately free the irq at unregister to allow the device
to be kept around in the case of it still having open FDs.
Signed-off-by: Brian Russell <brussell@brocade.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Brian Russellauthored and Greg Kroah-Hartmancommited 2015-03-20 13:18:16 +01:00
This driver provides UIO access to memory of a peripheral connected
to the Freescale enhanced local bus controller (eLBC) interface
using the general purpose chip-select mode (GPCM).
Signed-off-by: John Ogness <john.ogness@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
John Ognessauthored and Greg Kroah-Hartmancommited 2015-01-12 05:04:13 -08:00
If uio_register_device() fails in probe(), it breaks off initialization,
deallocates all resources, but returns zero.
The patch adds proper error code propagation.
Found by Linux Driver Verification project (linuxtesting.org).
Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Alexey Khoroshilovauthored and Greg Kroah-Hartmancommited 2015-01-12 05:04:12 -08:00
Here's the big char/misc driver update for 3.19-rc1
Lots of little things all over the place in different drivers, and a new
subsystem, "coresight" has been added. Full details are in the
shortlog.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iEYEABECAAYFAlSODosACgkQMUfUDdst+ykSNwCfcqx1Z3rQzbLwSrR2sa1fV3Zb
yEAAniJoLZ4ZkoQK4/1ozsFc31q+gXNm
=/epr
-----END PGP SIGNATURE-----
Merge tag 'char-misc-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
Pull char/misc driver updates from Greg KH:
"Here's the big char/misc driver update for 3.19-rc1
Lots of little things all over the place in different drivers, and a
new subsystem, "coresight" has been added. Full details are in the
shortlog"
* tag 'char-misc-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (73 commits)
parport: parport_pc, do not remove parent devices early
spmi: Remove shutdown/suspend/resume kernel-doc
carma-fpga-program: drop videobuf dependency
carma-fpga: drop videobuf dependency
carma-fpga-program.c: fix compile errors
i8k: Fix temperature bug handling in i8k_get_temp()
cxl: Name interrupts in /proc/interrupt
CXL: Return error to PSL if IRQ demultiplexing fails & print clearer warning
coresight-replicator: remove .owner field for driver
coresight: fixed comments in coresight.h
coresight: fix typo in comment in coresight-priv.h
coresight: bindings for coresight drivers
coresight: Adding ABI documentation
w1: support auto-load of w1_bq27000 module.
w1: avoid potential u16 overflow
cn: verify msg->len before making callback
mei: export fw status registers through sysfs
mei: read and print all six FW status registers
mei: txe: add cherrytrail device id
mei: kill cached host and me csr values
...
This is a completion to 27a90700a4
The size field is also increased to allow values larger than 32 bits
on platforms that have more than 32 bit physical addresses.
Signed-off-by: Cristian Stoica <cristian.stoica@freescale.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cristian Stoicaauthored and Greg Kroah-Hartmancommited 2014-11-07 10:09:07 -08:00
In order to prevent a O(n) search of the filesystem to link up its uio
node with its target configuration, TCMU needs to know the minor number
that UIO assigned. Expose the definition of this struct so TCMU can
access this field.
Signed-off-by: Andy Grover <agrover@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Andy Groverauthored and Nicholas Bellingercommited 2014-10-02 21:35:54 -07:00
This resolves a number of merge issues with changes in this tree and
Linus's tree at the same time.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Get rid of the repeating &dev->dev constructs and prevent introducing
new ones.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Andre Heiderauthored and Greg Kroah-Hartmancommited 2014-07-09 17:32:06 -07:00
This reverts commit ddb09754e6.
Linus objected to this originally, I can see why it might be needed, but
given that no one spoke up defending this patch, I'm going to revert it.
If you have hardware that requires this change, please speak up in the
future and defend the patch.
Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Bin Wang <binw@marvell.com>
Cc: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Cc: Norbert Ciosek <norbertciosek@gmail.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
the vma range size is always page size aligned in mmap, while the
real io space range may not be page aligned, thus leading to range
check failure in the uio_mmap_physical().
for example, in a case of io range size "mem->size == 1KB", and we
have (vma->vm_end - vma->vm_start) == 4KB, due to "len" is aligned
to page size in do_mmap_pgoff().
now fix this issue by align mem->size to page size in the check.
Signed-off-by: Bin Wang <binw@marvell.com>
Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bin Wangauthored and Greg Kroah-Hartmancommited 2014-05-27 14:11:06 -07:00
When platform_get_irq() is failed after "priv" allocated,
it need to free "priv". But the label of bad0 doesn't try
to free about "priv". So this patch changes that lable to "bad1".
But "bad1" has pm_runtime_disable() call, this function should
be called when uio_register_device() is failed. So it is moved
into handling error for uio_register_device().
Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Hans J. Koch <hjk@hansjkoch.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Daeseok Younauthored and Greg Kroah-Hartmancommited 2014-05-27 14:11:06 -07:00
Commit e6789cd3df (uio: Simplify uio error
path by using devres functions) converted uio to use devm_request_irq().
This introduced a change in behaviour since the IRQ is associated with
the parent device instead of the created UIO device. The IRQ will remain
active after uio_unregister_device() is called, and some drivers will
crash because of this. The patch fixes this.
Signed-off-by: Aaro Koskinen <aaro.koskinen@nsn.com>
Cc: stable <stable@vger.kernel.org> # 3.13
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Aaro Koskinenauthored and Greg Kroah-Hartmancommited 2013-12-20 08:49:17 -08:00
Don't use DEFINE_PCI_DEVICE_TABLE macro, because this macro
is not preferred.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jingoo Hanauthored and Greg Kroah-Hartmancommited 2013-12-08 22:41:48 -08:00
In commit 7314e613d5 ("Fix a few incorrectly checked
[io_]remap_pfn_range() calls") the uio driver started more properly
checking the passed-in user mapping arguments against the size of the
actual uio driver data.
That in turn exposed that some driver authors apparently didn't realize
that mmap can only work on a page granularity, and had tried to use it
with smaller mappings, with the new size check catching that out.
So since it's not just the user mmap() arguments that can be confused,
make the uio mmap code also verify that the uio driver has the memory
allocated at page boundaries in order for mmap to work. If the device
memory isn't properly aligned, we return
[ENODEV]
The fildes argument refers to a file whose type is not supported by mmap().
as per the open group documentation on mmap.
Reported-by: Holger Brunck <holger.brunck@keymile.com>
Acked-by: Greg KH <gregkh@linuxfoundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Since gen_pool_dma_alloc() is introduced, we implement it to simplify code.
Signed-off-by: Nicolin Chen <b42378@freescale.com>
Cc: "Hans J. Koch" <hjk@hansjkoch.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Nicolin Chenauthored and Linus Torvaldscommited 2013-11-13 12:09:23 +09:00
Here's the big char/misc driver patchset for 3.13-rc1.
Lots of stuff in here, including some new drivers for Intel's "MIC"
co-processor devices, and a new eeprom driver. Other things include the
driver attribute cleanups, extcon driver updates, hyperv updates, and a
raft of other miscellaneous driver fixes.
All of these have been in linux-next for a while.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
iEUEABECAAYFAlJ6v9kACgkQMUfUDdst+ykPzACXdwm/1DryfqnyhVPyITNAKcma
WACg1Yu5mtIvJg3NsN/7Ff0Qfj6GzYY=
=MIEe
-----END PGP SIGNATURE-----
Merge tag 'char-misc-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
Pull char/misc patches from Greg KH:
"Here's the big char/misc driver patchset for 3.13-rc1.
Lots of stuff in here, including some new drivers for Intel's "MIC"
co-processor devices, and a new eeprom driver. Other things include
the driver attribute cleanups, extcon driver updates, hyperv updates,
and a raft of other miscellaneous driver fixes.
All of these have been in linux-next for a while"
* tag 'char-misc-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (121 commits)
misc: mic: Fixes for randconfig build errors and warnings.
tifm: fix error return code in tifm_7xx1_probe()
w1-gpio: Use devm_* functions
w1-gpio: Detect of_gpio_error for first gpio
uio: Pass pointers to virt_to_page(), not integers
uio: fix memory leak
misc/at24: avoid infinite loop on write()
misc/93xx46: avoid infinite loop on write()
misc: atmel_pwm: add deferred-probing support
mei: wd: host_init propagate error codes from called functions
mei: replace stray pr_debug with dev_dbg
mei: bus: propagate error code returned by mei_me_cl_by_id
mei: mei_cl_link remove duplicated check for open_handle_count
mei: print correct device state during unexpected reset
mei: nfc: fix memory leak in error path
lkdtm: add tests for additional page permissions
lkdtm: adjust recursion size to avoid warnings
lkdtm: isolate stack corruption test
mei: move host_clients_map cleanup to device init
mei: me: downgrade two errors to debug level
...
Most architectures define virt_to_page() as a macro that casts its
argument such that an argument of type unsigned long will be accepted
without complaint. However, the proper type is void *, and passing
unsigned long results in a warning on MIPS.
Compile-tested only.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ben Hutchingsauthored and Greg Kroah-Hartmancommited 2013-10-29 16:51:57 -07:00
we have to call kobject_put() to clean up the kobject after function
kobject_init(), kobject_add(), or kobject_uevent() is called.
Signed-off-by: Cong Ding <dinggnu@gmail.com>
Acked-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cong Dingauthored and Greg Kroah-Hartmancommited 2013-10-29 16:36:54 -07:00
Nico Golde reports a few straggling uses of [io_]remap_pfn_range() that
really should use the vm_iomap_memory() helper. This trivially converts
two of them to the helper, and comments about why the third one really
needs to continue to use remap_pfn_range(), and adds the missing size
check.
Reported-by: Nico Golde <nico@ngolde.de>
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org.
The driver core clears the driver data to NULL after device_release
or on probe failure. Thus, it is not needed to manually clear the
device driver data to NULL.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jingoo Hanauthored and Greg Kroah-Hartmancommited 2013-09-26 08:47:25 -07:00
The driver core clears the driver data to NULL after device_release
or on probe failure. Thus, it is not needed to manually clear the
device driver data to NULL.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jingoo Hanauthored and Greg Kroah-Hartmancommited 2013-09-26 08:47:25 -07:00
The driver core clears the driver data to NULL after device_release
or on probe failure. Thus, it is not needed to manually clear the
device driver data to NULL.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jingoo Hanauthored and Greg Kroah-Hartmancommited 2013-09-26 08:47:25 -07:00
The driver core clears the driver data to NULL after device_release
or on probe failure. Thus, it is not needed to manually clear the
device driver data to NULL.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jingoo Hanauthored and Greg Kroah-Hartmancommited 2013-09-26 08:47:25 -07:00
The driver core clears the driver data to NULL after device_release
or on probe failure. Thus, it is not needed to manually clear the
device driver data to NULL.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jingoo Hanauthored and Greg Kroah-Hartmancommited 2013-09-26 08:47:25 -07:00
Using devres functions simplify driver error path.
- Use devm_kzalloc
- Use devm_request_irq
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Michal Simekauthored and Greg Kroah-Hartmancommited 2013-09-26 08:46:45 -07:00