android_kernel_xiaomi_sm8350/drivers/video
Pablo Neira Ayuso ff491a7334 netlink: change return-value logic of netlink_broadcast()
Currently, netlink_broadcast() reports errors to the caller if no
messages at all were delivered:

1) If, at least, one message has been delivered correctly, returns 0.
2) Otherwise, if no messages at all were delivered due to skb_clone()
   failure, return -ENOBUFS.
3) Otherwise, if there are no listeners, return -ESRCH.

With this patch, the caller knows if the delivery of any of the
messages to the listeners have failed:

1) If it fails to deliver any message (for whatever reason), return
   -ENOBUFS.
2) Otherwise, if all messages were delivered OK, returns 0.
3) Otherwise, if no listeners, return -ESRCH.

In the current ctnetlink code and in Netfilter in general, we can add
reliable logging and connection tracking event delivery by dropping the
packets whose events were not successfully delivered over Netlink. Of
course, this option would be settable via /proc as this approach reduces
performance (in terms of filtered connections per seconds by a stateful
firewall) but providing reliable logging and event delivery (for
conntrackd) in return.

This patch also changes some clients of netlink_broadcast() that
may report ENOBUFS errors via printk. This error handling is not
of any help. Instead, the userspace daemons that are listening to
those netlink messages should resync themselves with the kernel-side
if they hit ENOBUFS.

BTW, netlink_broadcast() clients include those that call
cn_netlink_send(), nlmsg_multicast() and genlmsg_multicast() since they
internally call netlink_broadcast() and return its error value.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-02-05 23:56:36 -08:00
..
aty fbdev/atyfb: Fix DSP config on some PowerMacs & PowerBooks 2009-02-02 17:08:25 +11:00
backlight backlight: Rename the corgi backlight driver to generic 2009-01-08 20:52:37 +00:00
console fbdev: Kill Atari vblank cursor blinking 2009-01-12 20:56:43 +01:00
display device create: video: convert device_create_drvdata to device_create 2008-10-16 09:24:45 -07:00
geode pci: use pci_ioremap_bar() in drivers/video 2009-01-06 15:59:26 -08:00
i810 i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
intelfb i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
kyro
logo
matrox matroxfb: support G200eV chip 2008-10-16 11:21:45 -07:00
mb862xx drivers/video/mb862xx/mb862xxfb.c: fix printk 2008-12-10 08:01:54 -08:00
mbx
nvidia i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
omap [ARM] omap: ensure OMAP drivers pass a struct device to clk_get() 2009-01-24 11:41:16 +00:00
pnx4008
riva
savage i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
sis
vermilion removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
via viafb: fix sparse warnings 2009-01-06 15:59:26 -08:00
68328fb.c
acornfb.c
acornfb.h
amba-clcd.c [ARM] Fix realview build 2009-01-08 16:29:41 +00:00
amifb.c fbdev: c2p - Rename c2p to c2p_planar 2009-01-12 20:56:32 +01:00
arcfb.c
arkfb.c removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
asiliantfb.c
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atafb.c m68k: atafb - Kill warn_unused_result warnings 2009-01-12 20:56:40 +01:00
atafb.h
atmel_lcdfb.c drivers/video: bad error test before a dereference 2008-11-19 18:49:57 -08:00
au1100fb.c
au1100fb.h
au1200fb.c
au1200fb.h
bf54x-lq043fb.c video/framebuffer: fix bug: jpegview cannot work on framebuffer device other than 16BPP 2009-01-15 16:39:35 -08:00
bfin-t350mcqb-fb.c video/framebuffer: fix bug: jpegview cannot work on framebuffer device other than 16BPP 2009-01-15 16:39:35 -08:00
bt431.h
bt455.h
bw2.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
c2p_core.h fbdev: c2p/atafb - Add support for Atari interleaved bitplanes 2009-01-12 20:56:31 +01:00
c2p_iplan2.c fbdev: c2p/atafb - Add support for Atari interleaved bitplanes 2009-01-12 20:56:31 +01:00
c2p_planar.c fbdev: c2p - Rename c2p to c2p_planar 2009-01-12 20:56:32 +01:00
c2p.h fbdev: c2p - Rename c2p to c2p_planar 2009-01-12 20:56:32 +01:00
carminefb_regs.h
carminefb.c fb: carminefb: trivial annotation packing color register 2009-01-06 15:59:26 -08:00
carminefb.h
cfbcopyarea.c
cfbfillrect.c
cfbimgblt.c
cg3.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
cg6.c cg6: disable cursor when leaving graphics mode 2008-10-10 12:12:41 -07:00
cg14.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
chipsfb.c
cirrusfb.c cirrusfb: remove unused variables 2008-11-19 18:49:59 -08:00
clps711xfb.c
cobalt_lcdfb.c
controlfb.c powerpc/mm: Rework usage of _PAGE_COHERENT/NO_CACHE/GUARDED 2008-12-21 14:21:16 +11:00
controlfb.h
cyber2000fb.c pci: use pci_ioremap_bar() in drivers/video 2009-01-06 15:59:26 -08:00
cyber2000fb.h
cyblafb.c
dnfb.c
edid.h
efifb.c efifb/imacfb consolidation + hardware support 2008-10-16 11:21:44 -07:00
epson1355fb.c
fb_ddc.c
fb_defio.c video: deferred io with physically contiguous memory 2008-12-22 18:44:48 +09:00
fb_draw.h
fb_notify.c
fb_sys_fops.c
fbcmap.c
fbcvt.c
fbmem.c fbdev/logo: check compatibility of main and extra logos 2009-01-06 15:59:27 -08:00
fbmon.c fbmon: fix EDID parser to detect interlace modes 2008-10-16 11:21:44 -07:00
fbsysfs.c
ffb.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
fm2fb.c
fsl-diu-fb.c freescale DIU: bug fix: add sanity check for AOI position 2008-08-15 08:35:43 -07:00
fsl-diu-fb.h
g364fb.c
gbefb.c gbefb: unsigned var->pixclock cannot be less than 0 2009-01-06 15:59:26 -08:00
gxt4500.c pci: use pci_ioremap_bar() in drivers/video 2009-01-06 15:59:26 -08:00
hecubafb.c
hgafb.c
hitfb.c
hpfb.c
igafb.c
imsttfb.c
imxfb.c i.MX Framebuffer: add TFT support 2008-12-16 15:43:50 +01:00
Kconfig fbdev: incorrect URL given in drivers/video/Kconfig 2009-01-29 18:04:44 -08:00
leo.c leo: disable cursor when leaving graphics mode 2008-10-10 12:13:22 -07:00
macfb.c macfb annotations and compiler warning fix 2008-12-28 20:00:05 +01:00
macmodes.c
macmodes.h
Makefile Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2009-01-26 10:13:08 -08:00
maxinefb.c
metronomefb.c metronomefb: Fix warning when building 64bit 2008-10-15 10:19:51 -07:00
modedb.c fbdev: fix typo in drivers/video/modedb.c 2009-01-06 15:59:26 -08:00
mx3fb.c i.MX31: framebuffer driver 2009-01-21 10:32:34 -07:00
n411.c
neofb.c neofb: fix sparse warnings 2009-01-06 15:59:27 -08:00
offb.c
output.c video: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-06 10:44:35 -08:00
p9100.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
platinumfb.c
platinumfb.h
pm2fb.c pm2fb: free cmap memory on module remove 2008-08-20 15:40:31 -07:00
pm3fb.c pm3fb: fix sparse warning 2009-01-06 15:59:27 -08:00
pmag-aa-fb.c
pmag-ba-fb.c
pmagb-b-fb.c
ps3fb.c powerpc/ps3: printing fixups for l64 to ll64 conversion drivers/video 2009-01-16 16:15:15 +11:00
pvr2fb.c
pxafb.c Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel 2008-12-29 18:08:11 +00:00
pxafb.h [ARM] pxafb: add support for overlay1 and overlay2 as framebuffer devices 2008-12-29 18:00:04 +08:00
q40fb.c
s1d13xxxfb.c fbdev: allow more chip revisions in Epson s1d13... video driver 2008-10-16 11:21:45 -07:00
s3c2410fb.c
s3c2410fb.h
s3fb.c removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
sa1100fb.c [ARM] remove memzero() 2008-11-27 12:37:59 +00:00
sa1100fb.h
sbuslib.c
sbuslib.h
sgivwfb.c
sh7760fb.c sh: sh7760fb: Fix color pallette setting 2008-12-22 18:42:54 +09:00
sh_mobile_lcdcfb.c video: sh_mobile_lcdcfb deferred io support 2008-12-22 18:44:48 +09:00
skeletonfb.c
sm501fb.c sm501: unsigned ptr cannot be negative 2009-01-06 15:59:27 -08:00
sstfb.c
sticore.h
stifb.c
sunxvr500.c
sunxvr2500.c
svgalib.c
syscopyarea.c
sysfillrect.c
sysimgblt.c
tcx.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
tdfxfb.c tdfxfb: do not make changes to default tdfx_fix 2008-10-16 11:21:42 -07:00
tgafb.c
tmiofb.c tmiofb: fix compilation with ACCEL disabled 2008-11-19 18:49:58 -08:00
tridentfb.c
uvesafb.c netlink: change return-value logic of netlink_broadcast() 2009-02-05 23:56:36 -08:00
valkyriefb.c
valkyriefb.h
vesafb.c
vfb.c
vga16fb.c vga16fb: remove open_lock mutex 2008-10-16 11:21:42 -07:00
vgastate.c
vt8623fb.c removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
w100fb.c
w100fb.h
xen-fbfront.c get xenbus_driver ->probe() "recognized" by modpost 2008-11-30 10:03:38 -08:00
xilinxfb.c powerpc/virtex: fix various format/casting printk mismatches 2008-11-14 09:59:48 -07:00