1. 26 7月, 2017 2 次提交
    • P
      media: platform: davinci: drop VPFE_CMD_S_CCDC_RAW_PARAMS · b25db383
      Prabhakar Lad 提交于
      drop VPFE_CMD_S_CCDC_RAW_PARAMS ioctl from dm355/dm644x following reasons:
      
      - This ioctl was never in public api and was only defined in kernel header.
      - The function set_params constantly mixes up pointers and phys_addr_t
        numbers.
      - This is part of a 'VPFE_CMD_S_CCDC_RAW_PARAMS' ioctl command that is
        described as an 'experimental ioctl that will change in future kernels'.
      - The code to allocate the table never gets called after we copy_from_user
        the user input over the kernel settings, and then compare them
        for inequality.
      - We then go on to use an address provided by user space as both the
        __user pointer for input and pass it through phys_to_virt to come up
        with a kernel pointer to copy the data to. This looks like a trivially
        exploitable root hole.
      Signed-off-by: NLad, Prabhakar <prabhakar.csengg@gmail.com>
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
      b25db383
    • P
      media: platform: davinci: return -EINVAL for VPFE_CMD_S_CCDC_RAW_PARAMS ioctl · da05d52d
      Prabhakar Lad 提交于
      this patch makes sure VPFE_CMD_S_CCDC_RAW_PARAMS ioctl no longer works
      for vpfe_capture driver with a minimal patch suitable for backporting.
      
      - This ioctl was never in public api and was only defined in kernel header.
      - The function set_params constantly mixes up pointers and phys_addr_t
        numbers.
      - This is part of a 'VPFE_CMD_S_CCDC_RAW_PARAMS' ioctl command that is
        described as an 'experimental ioctl that will change in future kernels'.
      - The code to allocate the table never gets called after we copy_from_user
        the user input over the kernel settings, and then compare them
        for inequality.
      - We then go on to use an address provided by user space as both the
        __user pointer for input and pass it through phys_to_virt to come up
        with a kernel pointer to copy the data to. This looks like a trivially
        exploitable root hole.
      
      Due to these reasons we make sure this ioctl now returns -EINVAL and backport
      this patch as far as possible.
      
      Fixes: 5f15fbb6 ("V4L/DVB (12251): v4l: dm644x ccdc module for vpfe capture driver")
      Signed-off-by: NLad, Prabhakar <prabhakar.csengg@gmail.com>
      Cc: <stable@vger.kernel.org>      # for v3.7 and up
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
      da05d52d
  2. 03 2月, 2017 1 次提交
  3. 27 1月, 2017 1 次提交
    • S
      [media] media: Drop FSF's postal address from the source code files · bcb63314
      Sakari Ailus 提交于
      Drop the FSF's postal address from the source code files that typically
      contain mostly the license text. Of the 628 removed instances, 578 are
      outdated.
      
      The patch has been created with the following command without manual edits:
      
      git grep -l "675 Mass Ave\|59 Temple Place\|51 Franklin St" -- \
      	drivers/media/ include/media|while read i; do i=$i perl -e '
      open(F,"< $ENV{i}");
      $a=join("", <F>);
      $a =~ s/[ \t]*\*\n.*You should.*\n.*along with.*\n.*(\n.*USA.*$)?\n//m
      	&& $a =~ s/(^.*)Or, (point your browser to) /$1To obtain the license, $2\n$1/m;
      close(F);
      open(F, "> $ENV{i}");
      print F $a;
      close(F);'; done
      Signed-off-by: NSakari Ailus <sakari.ailus@linux.intel.com>
      bcb63314
  4. 25 11月, 2016 1 次提交
    • A
      [media] DaVinci-VPFE-Capture: fix error handling · d3d83ee2
      Arnd Bergmann 提交于
      A recent cleanup had the right idea to remove the initialization
      of the error variable, but missed the actual benefit of that,
      which is that we get warnings if there is a bug in it. Now
      we get a warning about a bug that was introduced by this cleanup:
      
      drivers/media/platform/davinci/vpfe_capture.c: In function 'vpfe_probe':
      drivers/media/platform/davinci/vpfe_capture.c:1992:9: error: 'ret' may be used uninitialized in this function [-Werror=maybe-uninitialized]
      
      This adds the missing initialization that the warning is about,
      and another one that was preexisting and that we did not get
      a warning for. That second bug has existed since the driver
      was first added.
      
      Fixes: efb74461 ("[media] DaVinci-VPFE-Capture: Delete an unnecessary variable initialisation in vpfe_probe()")
      Fixes: 7da8a6cb ("V4L/DVB (12248): v4l: vpfe capture bridge driver for DM355 and DM6446")
      
      [mchehab@s-opensource.com: fix a merge conflict]
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
      d3d83ee2
  5. 22 11月, 2016 1 次提交
  6. 17 11月, 2016 1 次提交
  7. 16 11月, 2016 10 次提交
  8. 21 10月, 2016 1 次提交
    • M
      [media] davinci: don't break long lines · ded026e0
      Mauro Carvalho Chehab 提交于
      Due to the 80-cols restrictions, and latter due to checkpatch
      warnings, several strings were broken into multiple lines. This
      is not considered a good practice anymore, as it makes harder
      to grep for strings at the source code.
      
      As we're right now fixing other drivers due to KERN_CONT, we need
      to be able to identify what printk strings don't end with a "\n".
      It is a way easier to detect those if we don't break long lines.
      
      So, join those continuation lines.
      
      The patch was generated via the script below, and manually
      adjusted if needed.
      
      </script>
      use Text::Tabs;
      while (<>) {
      	if ($next ne "") {
      		$c=$_;
      		if ($c =~ /^\s+\"(.*)/) {
      			$c2=$1;
      			$next =~ s/\"\n$//;
      			$n = expand($next);
      			$funpos = index($n, '(');
      			$pos = index($c2, '",');
      			if ($funpos && $pos > 0) {
      				$s1 = substr $c2, 0, $pos + 2;
      				$s2 = ' ' x ($funpos + 1) . substr $c2, $pos + 2;
      				$s2 =~ s/^\s+//;
      
      				$s2 = ' ' x ($funpos + 1) . $s2 if ($s2 ne "");
      
      				print unexpand("$next$s1\n");
      				print unexpand("$s2\n") if ($s2 ne "");
      			} else {
      				print "$next$c2\n";
      			}
      			$next="";
      			next;
      		} else {
      			print $next;
      		}
      		$next="";
      	} else {
      		if (m/\"$/) {
      			if (!m/\\n\"$/) {
      				$next=$_;
      				next;
      			}
      		}
      	}
      	print $_;
      }
      </script>
      Acked-by: NLad, Prabhakar <prabhakar.csengg@gmail.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
      ded026e0
  9. 24 8月, 2016 1 次提交
  10. 01 5月, 2015 1 次提交
  11. 03 4月, 2015 1 次提交
  12. 02 12月, 2014 1 次提交
  13. 15 11月, 2014 1 次提交
  14. 20 10月, 2014 1 次提交
  15. 24 9月, 2014 1 次提交
  16. 23 9月, 2014 1 次提交
  17. 04 9月, 2014 1 次提交
  18. 27 8月, 2014 1 次提交
  19. 05 7月, 2014 1 次提交
  20. 25 5月, 2014 1 次提交
  21. 17 4月, 2014 1 次提交
  22. 15 4月, 2014 1 次提交
    • L
      [media] media: davinci: vpfe: make sure all the buffers unmapped and released · c1d1e40b
      Lad, Prabhakar 提交于
      this patch makes sure that it terminates if any IO in
      progress and also makes sure that all the buffers are unmapped.
      It was observed that with several runs of application the application
      sometimes failed to allocate memory, This patch makes sure it
      all the buffers are released.
      
      Using kmemleak it was found that buffer were not released, this patch
      fixes following issue,
      
       echo scan > /sys/kernel/debug/kmemleak
        Kernel message reads:
            memleak: 3 new suspected memory leaks (see /sys/kernel/debug/kmemleak)
      
      Then,
           cat /sys/kernel/debug/kmemleak
      
        unreferenced object 0xc564a480 (size 192):
        comm "mttest", pid 764, jiffies 4294945878 (age 487.160s)
        hex dump (first 32 bytes):
          00 00 00 00 28 07 07 20 d0 02 00 00 e0 01 00 00  ....(.. ........
          00 00 00 00 00 64 05 00 01 00 00 00 01 00 00 00  .....d..........
        backtrace:
          [<c00a98dc>] create_object+0x10c/0x28c
          [<c03ba8ec>] kmemleak_alloc+0x3c/0x70
          [<c00a67c0>] __kmalloc+0x11c/0x1d4
          [<c02b6f48>] __videobuf_alloc+0x1c/0x3c
          [<c02b6194>] videobuf_alloc_vb+0x38/0x80
          [<c02b6638>] __videobuf_mmap_setup+0x9c/0x108
          [<c02b6da0>] videobuf_reqbufs.part.10+0x12c/0x1bc
          [<c02b6e9c>] videobuf_reqbufs+0x6c/0x8c
          [<c02be2c4>] vpfe_reqbufs+0xcc/0x130
          [<c02aae90>] v4l_reqbufs+0x50/0x54
          [<c02aab54>] __video_do_ioctl+0x260/0x2c4
          [<c02a9dd4>] video_usercopy+0xf0/0x310
          [<c02aa008>] video_ioctl2+0x14/0x1c
          [<c02a562c>] v4l2_ioctl+0x104/0x14c
          [<c00bd320>] do_vfs_ioctl+0x80/0x2d0
          [<c00bd5b4>] SyS_ioctl+0x44/0x64
      unreferenced object 0xc564ac00 (size 192):
        comm "mttest", pid 764, jiffies 4294945878 (age 487.160s)
        hex dump (first 32 bytes):
          01 00 00 00 28 07 07 20 d0 02 00 00 e0 01 00 00  ....(.. ........
          00 00 00 00 00 64 05 00 01 00 00 00 01 00 00 00  .....d..........
        backtrace:
          [<c00a98dc>] create_object+0x10c/0x28c
          [<c03ba8ec>] kmemleak_alloc+0x3c/0x70
          [<c00a67c0>] __kmalloc+0x11c/0x1d4
          [<c02b6f48>] __videobuf_alloc+0x1c/0x3c
          [<c02b6194>] videobuf_alloc_vb+0x38/0x80
          [<c02b6638>] __videobuf_mmap_setup+0x9c/0x108
          [<c02b6da0>] videobuf_reqbufs.part.10+0x12c/0x1bc
          [<c02b6e9c>] videobuf_reqbufs+0x6c/0x8c
          [<c02be2c4>] vpfe_reqbufs+0xcc/0x130
          [<c02aae90>] v4l_reqbufs+0x50/0x54
          [<c02aab54>] __video_do_ioctl+0x260/0x2c4
          [<c02a9dd4>] video_usercopy+0xf0/0x310
          [<c02aa008>] video_ioctl2+0x14/0x1c
          [<c02a562c>] v4l2_ioctl+0x104/0x14c
          [<c00bd320>] do_vfs_ioctl+0x80/0x2d0
          [<c00bd5b4>] SyS_ioctl+0x44/0x64
      unreferenced object 0xc564a180 (size 192):
        comm "mttest", pid 764, jiffies 4294945880 (age 487.140s)
        hex dump (first 32 bytes):
          02 00 00 00 28 07 07 20 d0 02 00 00 e0 01 00 00  ....(.. ........
          00 00 00 00 00 64 05 00 01 00 00 00 01 00 00 00  .....d..........
        backtrace:
          [<c00a98dc>] create_object+0x10c/0x28c
          [<c03ba8ec>] kmemleak_alloc+0x3c/0x70
          [<c00a67c0>] __kmalloc+0x11c/0x1d4
          [<c02b6f48>] __videobuf_alloc+0x1c/0x3c
          [<c02b6194>] videobuf_alloc_vb+0x38/0x80
          [<c02b6638>] __videobuf_mmap_setup+0x9c/0x108
          [<c02b6da0>] videobuf_reqbufs.part.10+0x12c/0x1bc
          [<c02b6e9c>] videobuf_reqbufs+0x6c/0x8c
          [<c02be2c4>] vpfe_reqbufs+0xcc/0x130
          [<c02aae90>] v4l_reqbufs+0x50/0x54
          [<c02aab54>] __video_do_ioctl+0x260/0x2c4
          [<c02a9dd4>] video_usercopy+0xf0/0x310
          [<c02aa008>] video_ioctl2+0x14/0x1c
          [<c02a562c>] v4l2_ioctl+0x104/0x14c
          [<c00bd320>] do_vfs_ioctl+0x80/0x2d0
          [<c00bd5b4>] SyS_ioctl+0x44/0x64
      Reported-by: NJimmy Ho <jimmygge@gmail.com>
      Signed-off-by: NLad, Prabhakar <prabhakar.csengg@gmail.com>
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      c1d1e40b
  23. 04 10月, 2013 1 次提交
  24. 21 5月, 2013 2 次提交
  25. 29 3月, 2013 1 次提交
  26. 24 3月, 2013 1 次提交
  27. 20 3月, 2013 2 次提交
  28. 04 1月, 2013 1 次提交
    • G
      Drivers: media: remove __dev* attributes. · 4c62e976
      Greg Kroah-Hartman 提交于
      CONFIG_HOTPLUG is going away as an option.  As a result, the __dev*
      markings need to be removed.
      
      This change removes the use of __devinit, __devexit_p, __devinitdata,
      __devinitconst, and __devexit from these drivers.
      
      Based on patches originally written by Bill Pemberton, but redone by me
      in order to handle some of the coding style issues better, by hand.
      
      Cc: Bill Pemberton <wfp5p@virginia.edu>
      Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      4c62e976